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