[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / regbankselect-amdgcn.interp.p1.mir
blob4aeb6d7414c03cff98f0bd4db1c97dcf16f09d11
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s
3 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s
5 ---
6 name: interp_p1_ss
7 legalized: true
8 tracksRegLiveness: true
10 body: |
11   bb.0:
12     liveins: $sgpr0, $sgpr1
13     ; CHECK-LABEL: name: interp_p1_ss
14     ; CHECK: liveins: $sgpr0, $sgpr1
15     ; CHECK-NEXT: {{  $}}
16     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
17     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
18     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
19     ; CHECK-NEXT: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), [[COPY2]](s32), 1, 1, [[COPY1]](s32)
20     %0:_(s32) = COPY $sgpr0
21     %1:_(s32) = COPY $sgpr1
22     %2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), %0, 1, 1, %1
23 ...
25 ---
26 name: interp_p1_vs
27 legalized: true
28 tracksRegLiveness: true
30 body: |
31   bb.0:
32     liveins: $vgpr0, $sgpr0
33     ; CHECK-LABEL: name: interp_p1_vs
34     ; CHECK: liveins: $vgpr0, $sgpr0
35     ; CHECK-NEXT: {{  $}}
36     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
37     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
38     ; CHECK-NEXT: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), [[COPY]](s32), 1, 1, [[COPY1]](s32)
39     %0:_(s32) = COPY $vgpr0
40     %1:_(s32) = COPY $sgpr0
41     %2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), %0, 1, 1, %1
42 ...
44 ---
45 name: interp_p1_sv
46 legalized: true
47 tracksRegLiveness: true
49 body: |
50   bb.0:
51     liveins: $sgpr0, $vgpr0
52     ; CHECK-LABEL: name: interp_p1_sv
53     ; CHECK: liveins: $sgpr0, $vgpr0
54     ; CHECK-NEXT: {{  $}}
55     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
56     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr0
57     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
58     ; CHECK-NEXT: [[V_READFIRSTLANE_B32_:%[0-9]+]]:sreg_32(s32) = V_READFIRSTLANE_B32 [[COPY1]](s32), implicit $exec
59     ; CHECK-NEXT: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), [[COPY2]](s32), 1, 1, [[V_READFIRSTLANE_B32_]](s32)
60     %0:_(s32) = COPY $sgpr0
61     %1:_(s32) = COPY $vgpr0
62     %2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), %0, 1, 1, %1
63 ...
65 ---
66 name: interp_p1_vv
67 legalized: true
68 tracksRegLiveness: true
70 body: |
71   bb.0:
72     liveins: $vgpr0, $vgpr1
73     ; CHECK-LABEL: name: interp_p1_vv
74     ; CHECK: liveins: $vgpr0, $vgpr1
75     ; CHECK-NEXT: {{  $}}
76     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
77     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr1
78     ; CHECK-NEXT: [[V_READFIRSTLANE_B32_:%[0-9]+]]:sreg_32(s32) = V_READFIRSTLANE_B32 [[COPY1]](s32), implicit $exec
79     ; CHECK-NEXT: [[INT:%[0-9]+]]:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), [[COPY]](s32), 1, 1, [[V_READFIRSTLANE_B32_]](s32)
80     %0:_(s32) = COPY $vgpr0
81     %1:_(s32) = COPY $vgpr1
82     %2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.interp.p1), %0, 1, 1, %1
83 ...