1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=bonaire -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
3 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
9 tracksRegLiveness: true
15 ; GCN-LABEL: name: frint_s32_vv
16 ; GCN: liveins: $vgpr0
18 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
19 ; GCN-NEXT: %1:vgpr_32 = nofpexcept V_RNDNE_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
20 ; GCN-NEXT: $vgpr0 = COPY %1
21 %0:vgpr(s32) = COPY $vgpr0
22 %1:vgpr(s32) = G_FRINT %0
30 tracksRegLiveness: true
36 ; GCN-LABEL: name: frint_s32_vs
37 ; GCN: liveins: $sgpr0
39 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
40 ; GCN-NEXT: %1:vgpr_32 = nofpexcept V_RNDNE_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
41 ; GCN-NEXT: $vgpr0 = COPY %1
42 %0:sgpr(s32) = COPY $sgpr0
43 %1:vgpr(s32) = G_FRINT %0
48 name: frint_fneg_s32_vv
51 tracksRegLiveness: true
57 ; GCN-LABEL: name: frint_fneg_s32_vv
58 ; GCN: liveins: $vgpr0
60 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
61 ; GCN-NEXT: %2:vgpr_32 = nofpexcept V_RNDNE_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
62 ; GCN-NEXT: $vgpr0 = COPY %2
63 %0:vgpr(s32) = COPY $vgpr0
64 %1:vgpr(s32) = G_FNEG %0
65 %2:vgpr(s32) = G_FRINT %1
73 tracksRegLiveness: true
79 ; GCN-LABEL: name: frint_s64_vv
80 ; GCN: liveins: $vgpr0_vgpr1
82 ; GCN-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
83 ; GCN-NEXT: %1:vreg_64 = nofpexcept V_RNDNE_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
84 ; GCN-NEXT: $vgpr0_vgpr1 = COPY %1
85 %0:vgpr(s64) = COPY $vgpr0_vgpr1
86 %1:vgpr(s64) = G_FRINT %0
87 $vgpr0_vgpr1 = COPY %1
91 name: frint_s64_fneg_vv
94 tracksRegLiveness: true
100 ; GCN-LABEL: name: frint_s64_fneg_vv
101 ; GCN: liveins: $vgpr0_vgpr1
103 ; GCN-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
104 ; GCN-NEXT: %2:vreg_64 = nofpexcept V_RNDNE_F64_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
105 ; GCN-NEXT: $vgpr0_vgpr1 = COPY %2
106 %0:vgpr(s64) = COPY $vgpr0_vgpr1
107 %1:vgpr(s64) = G_FNEG %0
108 %2:vgpr(s64) = G_FRINT %1
109 $vgpr0_vgpr1 = COPY %2