87 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -global-isel-abort=2 -pass-remarks-missed='gisel*' -verify-machineinstrs %s -o - 2>%t | FileCheck -check-prefix=GCN %s3 4---5name: mul_s32_ss6legalized: true7regBankSelected: true8 9body: |10 bb.0:11 liveins: $sgpr0, $sgpr112 ; GCN-LABEL: name: mul_s32_ss13 ; GCN: liveins: $sgpr0, $sgpr114 ; GCN-NEXT: {{ $}}15 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr016 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr117 ; GCN-NEXT: [[S_MUL_I32_:%[0-9]+]]:sreg_32 = S_MUL_I32 [[COPY]], [[COPY1]]18 ; GCN-NEXT: S_ENDPGM 0, implicit [[S_MUL_I32_]]19 %0:sgpr(s32) = COPY $sgpr020 %1:sgpr(s32) = COPY $sgpr121 %2:sgpr(s32) = G_MUL %0, %122 S_ENDPGM 0, implicit %223...24 25---26name: mul_s32_sv27legalized: true28regBankSelected: true29 30body: |31 bb.0:32 liveins: $sgpr0, $vgpr033 ; GCN-LABEL: name: mul_s32_sv34 ; GCN: liveins: $sgpr0, $vgpr035 ; GCN-NEXT: {{ $}}36 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr037 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr038 ; GCN-NEXT: [[V_MUL_LO_U32_e64_:%[0-9]+]]:vgpr_32 = V_MUL_LO_U32_e64 [[COPY]], [[COPY1]], implicit $exec39 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MUL_LO_U32_e64_]]40 %0:sgpr(s32) = COPY $sgpr041 %1:vgpr(s32) = COPY $vgpr042 %2:vgpr(s32) = G_MUL %0, %143 S_ENDPGM 0, implicit %244...45 46---47name: mul_s32_vs48legalized: true49regBankSelected: true50 51body: |52 bb.0:53 liveins: $sgpr0, $vgpr054 ; GCN-LABEL: name: mul_s32_vs55 ; GCN: liveins: $sgpr0, $vgpr056 ; GCN-NEXT: {{ $}}57 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr058 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr059 ; GCN-NEXT: [[V_MUL_LO_U32_e64_:%[0-9]+]]:vgpr_32 = V_MUL_LO_U32_e64 [[COPY]], [[COPY1]], implicit $exec60 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MUL_LO_U32_e64_]]61 %0:vgpr(s32) = COPY $vgpr062 %1:sgpr(s32) = COPY $sgpr063 %2:vgpr(s32) = G_MUL %0, %164 S_ENDPGM 0, implicit %265...66 67---68name: mul_s32_vv69legalized: true70regBankSelected: true71 72body: |73 bb.0:74 liveins: $vgpr0, $vgpr175 ; GCN-LABEL: name: mul_s32_vv76 ; GCN: liveins: $vgpr0, $vgpr177 ; GCN-NEXT: {{ $}}78 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr079 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr180 ; GCN-NEXT: [[V_MUL_LO_U32_e64_:%[0-9]+]]:vgpr_32 = V_MUL_LO_U32_e64 [[COPY]], [[COPY1]], implicit $exec81 ; GCN-NEXT: S_ENDPGM 0, implicit [[V_MUL_LO_U32_e64_]]82 %0:vgpr(s32) = COPY $vgpr083 %1:vgpr(s32) = COPY $vgpr184 %2:vgpr(s32) = G_MUL %0, %185 S_ENDPGM 0, implicit %286...87