xref: /llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-intrinsic-trunc.mir (revision 9e9907f1cfa424366fba58d9520f9305b537cec9)
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=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-NEXT: {{  $}}
17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
18    ; CHECK-NEXT: %1:vgpr_32 = nofpexcept V_TRUNC_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
19    ; CHECK-NEXT: $vgpr0 = COPY %1
20    %0:vgpr(s32) = COPY $vgpr0
21    %1:vgpr(s32) = G_INTRINSIC_TRUNC %0
22    $vgpr0 = COPY %1
23...
24
25---
26name: intrinsic_trunc_s32_vs
27legalized: true
28regBankSelected: true
29tracksRegLiveness: true
30
31body: |
32  bb.0:
33    liveins: $sgpr0
34
35    ; CHECK-LABEL: name: intrinsic_trunc_s32_vs
36    ; CHECK: liveins: $sgpr0
37    ; CHECK-NEXT: {{  $}}
38    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
39    ; CHECK-NEXT: %1:vgpr_32 = nofpexcept V_TRUNC_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
40    ; CHECK-NEXT: $vgpr0 = COPY %1
41    %0:sgpr(s32) = COPY $sgpr0
42    %1:vgpr(s32) = G_INTRINSIC_TRUNC %0
43    $vgpr0 = COPY %1
44...
45
46---
47name: intrinsic_trunc_s64_sv
48legalized: true
49regBankSelected: true
50tracksRegLiveness: true
51
52body: |
53  bb.0:
54    liveins: $sgpr0_sgpr1
55
56    ; CHECK-LABEL: name: intrinsic_trunc_s64_sv
57    ; CHECK: liveins: $sgpr0_sgpr1
58    ; CHECK-NEXT: {{  $}}
59    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
60    ; CHECK-NEXT: %1:vreg_64 = nofpexcept V_TRUNC_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
61    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY %1
62    %0:sgpr(s64) = COPY $sgpr0_sgpr1
63    %1:vgpr(s64) = G_INTRINSIC_TRUNC %0
64    $vgpr0_vgpr1 = COPY %1
65...
66
67---
68name: intrinsic_trunc_s64_vv
69legalized: true
70regBankSelected: true
71tracksRegLiveness: true
72
73body: |
74  bb.0:
75    liveins: $vgpr0_vgpr1
76
77    ; CHECK-LABEL: name: intrinsic_trunc_s64_vv
78    ; CHECK: liveins: $vgpr0_vgpr1
79    ; CHECK-NEXT: {{  $}}
80    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
81    ; CHECK-NEXT: %1:vreg_64 = nofpexcept V_TRUNC_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
82    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY %1
83    %0:vgpr(s64) = COPY $vgpr0_vgpr1
84    %1:vgpr(s64) = G_INTRINSIC_TRUNC %0
85    $vgpr0_vgpr1 = COPY %1
86...
87