Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / regbankselect-umulh.mir
blobe9aea5a679799bfabb49d8636fbcaa0a0b15af82
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=amdgpu-regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX6 %s
3 # RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=amdgpu-regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX6 %s
5 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=amdgpu-regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s
6 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=amdgpu-regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s
8 ---
9 name: umulh_s32_ss
10 legalized: true
12 body: |
13   bb.0:
14     liveins: $sgpr0, $sgpr1
16     ; GFX6-LABEL: name: umulh_s32_ss
17     ; GFX6: liveins: $sgpr0, $sgpr1
18     ; GFX6-NEXT: {{  $}}
19     ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
20     ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
21     ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
22     ; GFX6-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
23     ; GFX6-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY2]], [[COPY3]]
24     ; GFX9-LABEL: name: umulh_s32_ss
25     ; GFX9: liveins: $sgpr0, $sgpr1
26     ; GFX9-NEXT: {{  $}}
27     ; GFX9-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
28     ; GFX9-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
29     ; GFX9-NEXT: [[UMULH:%[0-9]+]]:sgpr(s32) = G_UMULH [[COPY]], [[COPY1]]
30     %0:_(s32) = COPY $sgpr0
31     %1:_(s32) = COPY $sgpr1
32     %2:_(s32) = G_UMULH %0, %1
33 ...
35 ---
36 name: umulh_s32_sv
37 legalized: true
39 body: |
40   bb.0:
41     liveins: $sgpr0, $vgpr0
43     ; GFX6-LABEL: name: umulh_s32_sv
44     ; GFX6: liveins: $sgpr0, $vgpr0
45     ; GFX6-NEXT: {{  $}}
46     ; GFX6-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
47     ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
48     ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
49     ; GFX6-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY2]], [[COPY1]]
50     ; GFX9-LABEL: name: umulh_s32_sv
51     ; GFX9: liveins: $sgpr0, $vgpr0
52     ; GFX9-NEXT: {{  $}}
53     ; GFX9-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
54     ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
55     ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
56     ; GFX9-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY2]], [[COPY1]]
57     %0:_(s32) = COPY $sgpr0
58     %1:_(s32) = COPY $vgpr0
59     %2:_(s32) = G_UMULH %0, %1
60 ...
62 ---
63 name: umulh_s32_vs
64 legalized: true
66 body: |
67   bb.0:
68     liveins: $sgpr0, $vgpr0
70     ; GFX6-LABEL: name: umulh_s32_vs
71     ; GFX6: liveins: $sgpr0, $vgpr0
72     ; GFX6-NEXT: {{  $}}
73     ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
74     ; GFX6-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
75     ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
76     ; GFX6-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY2]]
77     ; GFX9-LABEL: name: umulh_s32_vs
78     ; GFX9: liveins: $sgpr0, $vgpr0
79     ; GFX9-NEXT: {{  $}}
80     ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
81     ; GFX9-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
82     ; GFX9-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
83     ; GFX9-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY2]]
84     %0:_(s32) = COPY $vgpr0
85     %1:_(s32) = COPY $sgpr0
86     %2:_(s32) = G_UMULH %0, %1
87 ...
89 ---
90 name: umulh_s32_vv
91 legalized: true
93 body: |
94   bb.0:
95     liveins: $vgpr0, $vgpr1
97     ; GFX6-LABEL: name: umulh_s32_vv
98     ; GFX6: liveins: $vgpr0, $vgpr1
99     ; GFX6-NEXT: {{  $}}
100     ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
101     ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
102     ; GFX6-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY1]]
103     ; GFX9-LABEL: name: umulh_s32_vv
104     ; GFX9: liveins: $vgpr0, $vgpr1
105     ; GFX9-NEXT: {{  $}}
106     ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
107     ; GFX9-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
108     ; GFX9-NEXT: [[UMULH:%[0-9]+]]:vgpr(s32) = G_UMULH [[COPY]], [[COPY1]]
109     %0:_(s32) = COPY $vgpr0
110     %1:_(s32) = COPY $vgpr1
111     %2:_(s32) = G_UMULH %0, %1