Skip to content

Commit 70096ca

Browse files
committed
AMDGPU/GlobalISel: Fix RegbankSelect for llvm.amdgcn.fmul.legacy
1 parent a722cbf commit 70096ca

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2950,6 +2950,7 @@ AMDGPURegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
29502950
case Intrinsic::amdgcn_rsq:
29512951
case Intrinsic::amdgcn_rsq_legacy:
29522952
case Intrinsic::amdgcn_rsq_clamp:
2953+
case Intrinsic::amdgcn_fmul_legacy:
29532954
case Intrinsic::amdgcn_ldexp:
29542955
case Intrinsic::amdgcn_frexp_mant:
29552956
case Intrinsic::amdgcn_frexp_exp:
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
3+
# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
4+
5+
---
6+
name: fmul_legacy_ss
7+
legalized: true
8+
9+
body: |
10+
bb.0:
11+
liveins: $sgpr0, $sgpr1
12+
; CHECK-LABEL: name: fmul_legacy_ss
13+
; CHECK: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
14+
; CHECK: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
15+
; CHECK: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
16+
; CHECK: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), [[COPY]](s32), [[COPY2]](s32)
17+
%0:_(s32) = COPY $sgpr0
18+
%1:_(s32) = COPY $sgpr1
19+
%2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), %0, %1
20+
...
21+
---
22+
name: fmul_legacy_sv
23+
legalized: true
24+
25+
body: |
26+
bb.0:
27+
liveins: $sgpr0, $vgpr0
28+
; CHECK-LABEL: name: fmul_legacy_sv
29+
; CHECK: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
30+
; CHECK: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
31+
; CHECK: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), [[COPY]](s32), [[COPY1]](s32)
32+
%0:_(s32) = COPY $sgpr0
33+
%1:_(s32) = COPY $vgpr0
34+
%2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), %0, %1
35+
...
36+
---
37+
name: fmul_legacy_vs
38+
legalized: true
39+
40+
body: |
41+
bb.0:
42+
liveins: $sgpr0, $vgpr0
43+
; CHECK-LABEL: name: fmul_legacy_vs
44+
; CHECK: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
45+
; CHECK: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
46+
; CHECK: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
47+
; CHECK: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), [[COPY1]](s32), [[COPY2]](s32)
48+
%0:_(s32) = COPY $sgpr0
49+
%1:_(s32) = COPY $vgpr0
50+
%2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), %1, %0
51+
...
52+
---
53+
name: fmul_legacy_vv
54+
legalized: true
55+
56+
body: |
57+
bb.0:
58+
liveins: $vgpr0, $vgpr1
59+
; CHECK-LABEL: name: fmul_legacy_vv
60+
; CHECK: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
61+
; CHECK: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
62+
; CHECK: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), [[COPY]](s32), [[COPY1]](s32)
63+
%0:_(s32) = COPY $vgpr0
64+
%1:_(s32) = COPY $vgpr1
65+
%2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fmul.legacy), %0, %1
66+
...

0 commit comments

Comments
 (0)