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 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
9 tracksRegLiveness: true
15 ; CHECK-LABEL: name: fract_s32_vs
16 ; CHECK: liveins: $sgpr0
18 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
19 ; CHECK-NEXT: %1:vgpr_32 = nofpexcept V_FRACT_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
20 ; CHECK-NEXT: S_ENDPGM 0, implicit %1
21 %0:sgpr(s32) = COPY $sgpr0
22 %1:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0
23 S_ENDPGM 0, implicit %1
30 tracksRegLiveness: true
36 ; CHECK-LABEL: name: fract_s32_vv
37 ; CHECK: liveins: $vgpr0
39 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
40 ; CHECK-NEXT: %1:vgpr_32 = nofpexcept V_FRACT_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
41 ; CHECK-NEXT: S_ENDPGM 0, implicit %1
42 %0:vgpr(s32) = COPY $vgpr0
43 %1:vgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0
44 S_ENDPGM 0, implicit %1
51 tracksRegLiveness: true
57 ; CHECK-LABEL: name: fract_s64_vs
58 ; CHECK: liveins: $sgpr0_sgpr1
60 ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
61 ; CHECK-NEXT: %1:vreg_64 = nofpexcept V_FRACT_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
62 ; CHECK-NEXT: S_ENDPGM 0, implicit %1
63 %0:sgpr(s64) = COPY $sgpr0_sgpr1
64 %1:vgpr(s64) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0
65 S_ENDPGM 0, implicit %1
72 tracksRegLiveness: true
78 ; CHECK-LABEL: name: fract_s64_vv
79 ; CHECK: liveins: $vgpr0_vgpr1
81 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
82 ; CHECK-NEXT: %1:vreg_64 = nofpexcept V_FRACT_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
83 ; CHECK-NEXT: S_ENDPGM 0, implicit %1
84 %0:vgpr(s64) = COPY $vgpr0_vgpr1
85 %1:vgpr(s64) = G_INTRINSIC intrinsic(@llvm.amdgcn.fract), %0
86 S_ENDPGM 0, implicit %1