1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s 3# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s 4 5--- 6name: fract_s32_vs 7legalized: true 8regBankSelected: true 9tracksRegLiveness: true 10 11body: | 12 bb.0: 13 liveins: $sgpr0 14 15 ; CHECK-LABEL: name: fract_s32_vs 16 ; CHECK: liveins: $sgpr0 17 ; CHECK: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 18 ; CHECK: %1:vgpr_32 = nofpexcept V_FRACT_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec 19 ; CHECK: S_ENDPGM 0, implicit %1 20 %0:sgpr(s32) = COPY $sgpr0 21 %1:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0 22 S_ENDPGM 0, implicit %1 23... 24 25--- 26name: fract_s32_vv 27legalized: true 28regBankSelected: true 29tracksRegLiveness: true 30 31body: | 32 bb.0: 33 liveins: $vgpr0 34 35 ; CHECK-LABEL: name: fract_s32_vv 36 ; CHECK: liveins: $vgpr0 37 ; CHECK: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 38 ; CHECK: %1:vgpr_32 = nofpexcept V_FRACT_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec 39 ; CHECK: S_ENDPGM 0, implicit %1 40 %0:vgpr(s32) = COPY $vgpr0 41 %1:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0 42 S_ENDPGM 0, implicit %1 43... 44 45--- 46name: fract_s64_vs 47legalized: true 48regBankSelected: true 49tracksRegLiveness: true 50 51body: | 52 bb.0: 53 liveins: $sgpr0_sgpr1 54 55 ; CHECK-LABEL: name: fract_s64_vs 56 ; CHECK: liveins: $sgpr0_sgpr1 57 ; CHECK: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 58 ; CHECK: %1:vreg_64 = nofpexcept V_FRACT_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec 59 ; CHECK: S_ENDPGM 0, implicit %1 60 %0:sgpr(s64) = COPY $sgpr0_sgpr1 61 %1:vgpr(s64) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0 62 S_ENDPGM 0, implicit %1 63... 64 65--- 66name: fract_s64_vv 67legalized: true 68regBankSelected: true 69tracksRegLiveness: true 70 71body: | 72 bb.0: 73 liveins: $vgpr0_vgpr1 74 75 ; CHECK-LABEL: name: fract_s64_vv 76 ; CHECK: liveins: $vgpr0_vgpr1 77 ; CHECK: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 78 ; CHECK: %1:vreg_64 = nofpexcept V_FRACT_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec 79 ; CHECK: S_ENDPGM 0, implicit %1 80 %0:vgpr(s64) = COPY $vgpr0_vgpr1 81 %1:vgpr(s64) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0 82 S_ENDPGM 0, implicit %1 83... 84