52 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX7 %s3# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX8 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX10 %s6 7---8name: bswap_i32_vv9legalized: true10regBankSelected: true11 12body: |13 bb.0:14 liveins: $vgpr015 ; GFX7-LABEL: name: bswap_i32_vv16 ; GFX7: liveins: $vgpr017 ; GFX7-NEXT: {{ $}}18 ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr019 ; GFX7-NEXT: [[V_ALIGNBIT_B32_e64_:%[0-9]+]]:vgpr_32 = V_ALIGNBIT_B32_e64 [[COPY]], [[COPY]], 8, implicit $exec20 ; GFX7-NEXT: [[V_ALIGNBIT_B32_e64_1:%[0-9]+]]:vgpr_32 = V_ALIGNBIT_B32_e64 [[COPY]], [[COPY]], 24, implicit $exec21 ; GFX7-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 1671193522 ; GFX7-NEXT: [[V_BFI_B32_e64_:%[0-9]+]]:vgpr_32 = V_BFI_B32_e64 [[S_MOV_B32_]], [[V_ALIGNBIT_B32_e64_1]], [[V_ALIGNBIT_B32_e64_]], implicit $exec23 ; GFX7-NEXT: S_ENDPGM 0, implicit [[V_BFI_B32_e64_]]24 ;25 ; GFX8-LABEL: name: bswap_i32_vv26 ; GFX8: liveins: $vgpr027 ; GFX8-NEXT: {{ $}}28 ; GFX8-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr029 ; GFX8-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 6605130 ; GFX8-NEXT: [[V_PERM_B32_e64_:%[0-9]+]]:vgpr_32 = V_PERM_B32_e64 0, [[COPY]], [[S_MOV_B32_]], implicit $exec31 ; GFX8-NEXT: S_ENDPGM 0, implicit [[V_PERM_B32_e64_]]32 ;33 ; GFX9-LABEL: name: bswap_i32_vv34 ; GFX9: liveins: $vgpr035 ; GFX9-NEXT: {{ $}}36 ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr037 ; GFX9-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 6605138 ; GFX9-NEXT: [[V_PERM_B32_e64_:%[0-9]+]]:vgpr_32 = V_PERM_B32_e64 0, [[COPY]], [[S_MOV_B32_]], implicit $exec39 ; GFX9-NEXT: S_ENDPGM 0, implicit [[V_PERM_B32_e64_]]40 ;41 ; GFX10-LABEL: name: bswap_i32_vv42 ; GFX10: liveins: $vgpr043 ; GFX10-NEXT: {{ $}}44 ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr045 ; GFX10-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 6605146 ; GFX10-NEXT: [[V_PERM_B32_e64_:%[0-9]+]]:vgpr_32 = V_PERM_B32_e64 0, [[COPY]], [[S_MOV_B32_]], implicit $exec47 ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_PERM_B32_e64_]]48 %0:vgpr(s32) = COPY $vgpr049 %1:vgpr(s32) = G_BSWAP %050 S_ENDPGM 0, implicit %151...52