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 3 4--- 5name: cttz_zero_undef_s32_ss 6legalized: true 7regBankSelected: true 8tracksRegLiveness: true 9 10body: | 11 bb.0: 12 liveins: $sgpr0 13 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... 24 25--- 26name: cttz_zero_undef_s32_vs 27legalized: true 28regBankSelected: true 29tracksRegLiveness: true 30 31body: | 32 bb.0: 33 liveins: $sgpr0 34 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... 45 46--- 47name: cttz_zero_undef_s32_vv 48legalized: true 49regBankSelected: true 50tracksRegLiveness: true 51 52body: | 53 bb.0: 54 liveins: $vgpr0 55 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... 66 67--- 68name: cttz_zero_undef_s64_ss 69legalized: true 70regBankSelected: true 71tracksRegLiveness: true 72 73body: | 74 bb.0: 75 liveins: $sgpr0_sgpr1 76 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... 87