52 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=2 -pass-remarks-missed='gisel*' %s -filetype=null 2>&1 | FileCheck -check-prefix=SI-ERR %s4 5# SI-ERR: remark: <unknown>:0:0: cannot select: %2:vgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %1:sgpr(s16) (in function: fract_s16_vs)6# SI-ERR: remark: <unknown>:0:0: cannot select: %2:vgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %1:vgpr(s16) (in function: fract_s16_vv)7 8---9 10name: fract_s16_vs11legalized: true12regBankSelected: true13tracksRegLiveness: true14 15body: |16 bb.0:17 liveins: $sgpr018 19 ; CHECK-LABEL: name: fract_s16_vs20 ; CHECK: liveins: $sgpr021 ; CHECK-NEXT: {{ $}}22 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr023 ; CHECK-NEXT: [[V_FRACT_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec24 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FRACT_F16_e64_]]25 %0:sgpr(s32) = COPY $sgpr026 %1:sgpr(s16) = G_TRUNC %027 %2:vgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %128 S_ENDPGM 0, implicit %229...30 31---32name: fract_s16_vv33legalized: true34regBankSelected: true35tracksRegLiveness: true36 37body: |38 bb.0:39 liveins: $vgpr040 41 ; CHECK-LABEL: name: fract_s16_vv42 ; CHECK: liveins: $vgpr043 ; CHECK-NEXT: {{ $}}44 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr045 ; CHECK-NEXT: [[V_FRACT_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_FRACT_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec46 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_FRACT_F16_e64_]]47 %0:vgpr(s32) = COPY $vgpr048 %1:vgpr(s16) = G_TRUNC %049 %2:vgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %150 S_ENDPGM 0, implicit %251...52