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
5 name: ctlz_zero_undef_s32_ss
8 tracksRegLiveness: true
14 ; CHECK-LABEL: name: ctlz_zero_undef_s32_ss
15 ; CHECK: liveins: $sgpr0
17 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
18 ; CHECK-NEXT: [[S_FLBIT_I32_B32_:%[0-9]+]]:sreg_32 = S_FLBIT_I32_B32 [[COPY]]
19 ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_FLBIT_I32_B32_]]
20 %0:sgpr(s32) = COPY $sgpr0
21 %1:sgpr(s32) = G_CTLZ_ZERO_UNDEF %0
22 S_ENDPGM 0, implicit %1
26 name: ctlz_zero_undef_s32_vs
29 tracksRegLiveness: true
35 ; CHECK-LABEL: name: ctlz_zero_undef_s32_vs
36 ; CHECK: liveins: $sgpr0
38 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
39 ; CHECK-NEXT: [[V_FFBH_U32_e64_:%[0-9]+]]:vgpr_32 = V_FFBH_U32_e64 [[COPY]], implicit $exec
40 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FFBH_U32_e64_]]
41 %0:sgpr(s32) = COPY $sgpr0
42 %1:vgpr(s32) = G_CTLZ_ZERO_UNDEF %0
43 S_ENDPGM 0, implicit %1
47 name: ctlz_zero_undef_s32_vv
50 tracksRegLiveness: true
56 ; CHECK-LABEL: name: ctlz_zero_undef_s32_vv
57 ; CHECK: liveins: $vgpr0
59 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
60 ; CHECK-NEXT: [[V_FFBH_U32_e64_:%[0-9]+]]:vgpr_32 = V_FFBH_U32_e64 [[COPY]], implicit $exec
61 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FFBH_U32_e64_]]
62 %0:vgpr(s32) = COPY $vgpr0
63 %1:vgpr(s32) = G_CTLZ_ZERO_UNDEF %0
64 S_ENDPGM 0, implicit %1
68 name: ctlz_zero_undef_s64_ss
71 tracksRegLiveness: true
77 ; CHECK-LABEL: name: ctlz_zero_undef_s64_ss
78 ; CHECK: liveins: $sgpr0_sgpr1
80 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
81 ; CHECK-NEXT: [[S_FLBIT_I32_B64_:%[0-9]+]]:sreg_32 = S_FLBIT_I32_B64 [[COPY]]
82 ; CHECK-NEXT: S_ENDPGM 0, implicit [[S_FLBIT_I32_B64_]]
83 %0:sgpr(s64) = COPY $sgpr0_sgpr1
84 %1:sgpr(s32) = G_CTLZ_ZERO_UNDEF %0
85 S_ENDPGM 0, implicit %1