Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / inst-select-cttz-zero-undef.mir
bloba0d5db38813a3ea5de3b5af0d6b0e85d429d6f96
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
4 ---
5 name: cttz_zero_undef_s32_ss
6 legalized: true
7 regBankSelected: true
8 tracksRegLiveness: true
10 body: |
11   bb.0:
12     liveins: $sgpr0
14     ; CHECK-LABEL: name: cttz_zero_undef_s32_ss
15     ; CHECK: liveins: $sgpr0
16     ; CHECK-NEXT: {{  $}}
17     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
18     ; CHECK-NEXT: [[S_FF1_I32_B32_:%[0-9]+]]:sreg_32 = S_FF1_I32_B32 [[COPY]]
19     ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_FF1_I32_B32_]]
20     %0:sgpr(s32) = COPY $sgpr0
21     %1:sgpr(s32) = G_CTTZ_ZERO_UNDEF %0
22     S_ENDPGM 0, implicit %1
23 ...
25 ---
26 name: cttz_zero_undef_s32_vs
27 legalized: true
28 regBankSelected: true
29 tracksRegLiveness: true
31 body: |
32   bb.0:
33     liveins: $sgpr0
35     ; CHECK-LABEL: name: cttz_zero_undef_s32_vs
36     ; CHECK: liveins: $sgpr0
37     ; CHECK-NEXT: {{  $}}
38     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
39     ; CHECK-NEXT: [[V_FFBL_B32_e64_:%[0-9]+]]:vgpr_32 = V_FFBL_B32_e64 [[COPY]], implicit $exec
40     ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FFBL_B32_e64_]]
41     %0:sgpr(s32) = COPY $sgpr0
42     %1:vgpr(s32) = G_CTTZ_ZERO_UNDEF %0
43     S_ENDPGM 0, implicit %1
44 ...
46 ---
47 name: cttz_zero_undef_s32_vv
48 legalized: true
49 regBankSelected: true
50 tracksRegLiveness: true
52 body: |
53   bb.0:
54     liveins: $vgpr0
56     ; CHECK-LABEL: name: cttz_zero_undef_s32_vv
57     ; CHECK: liveins: $vgpr0
58     ; CHECK-NEXT: {{  $}}
59     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
60     ; CHECK-NEXT: [[V_FFBL_B32_e64_:%[0-9]+]]:vgpr_32 = V_FFBL_B32_e64 [[COPY]], implicit $exec
61     ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FFBL_B32_e64_]]
62     %0:vgpr(s32) = COPY $vgpr0
63     %1:vgpr(s32) = G_CTTZ_ZERO_UNDEF %0
64     S_ENDPGM 0, implicit %1
65 ...
67 ---
68 name: cttz_zero_undef_s64_ss
69 legalized: true
70 regBankSelected: true
71 tracksRegLiveness: true
73 body: |
74   bb.0:
75     liveins: $sgpr0_sgpr1
77     ; CHECK-LABEL: name: cttz_zero_undef_s64_ss
78     ; CHECK: liveins: $sgpr0_sgpr1
79     ; CHECK-NEXT: {{  $}}
80     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
81     ; CHECK-NEXT: [[S_FF1_I32_B64_:%[0-9]+]]:sreg_32 = S_FF1_I32_B64 [[COPY]]
82     ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_FF1_I32_B64_]]
83     %0:sgpr(s64) = COPY $sgpr0_sgpr1
84     %1:sgpr(s32) = G_CTTZ_ZERO_UNDEF %0
85     S_ENDPGM 0, implicit %1
86 ...