[llvm-objdump] - Remove one overload of reportError. NFCI.
[llvm-complete.git] / test / CodeGen / AMDGPU / GlobalISel / legalize-intrinsic-round.mir
blob220ce911addacfb8bb9b334f2bcab1e85a4ac9b2
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer %s -o - | FileCheck %s
4 ---
5 name: test_intrinsic_round_s32
6 body: |
7   bb.0:
8     liveins: $vgpr0
10     ; CHECK-LABEL: name: test_intrinsic_round_s32
11     ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
12     ; CHECK: $vgpr0 = COPY [[COPY]](s32)
13     %0:_(s32) = COPY $vgpr0
14     %1:_(s32) = G_INTRINSIC_ROUND %0
15     $vgpr0 = COPY %0
16 ...
18 ---
19 name: test_intrinsic_round_s64
20 body: |
21   bb.0:
22     liveins: $vgpr0_vgpr1
24     ; CHECK-LABEL: name: test_intrinsic_round_s64
25     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1
26     ; CHECK: [[INTRINSIC_ROUND:%[0-9]+]]:_(s64) = G_INTRINSIC_ROUND [[COPY]]
27     ; CHECK: $vgpr0_vgpr1 = COPY [[INTRINSIC_ROUND]](s64)
28     %0:_(s64) = COPY $vgpr0_vgpr1
29     %1:_(s64) = G_INTRINSIC_ROUND %0
30     $vgpr0_vgpr1 = COPY %1
31 ...
33 ---
34 name: test_intrinsic_round_v2s32
35 body: |
36   bb.0:
37     liveins: $vgpr0_vgpr1
39     ; CHECK-LABEL: name: test_intrinsic_round_v2s32
40     ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr0_vgpr1
41     ; CHECK: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>)
42     ; CHECK: [[INTRINSIC_ROUND:%[0-9]+]]:_(s32) = G_INTRINSIC_ROUND [[UV]]
43     ; CHECK: [[INTRINSIC_ROUND1:%[0-9]+]]:_(s32) = G_INTRINSIC_ROUND [[UV1]]
44     ; CHECK: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s32>) = G_BUILD_VECTOR [[INTRINSIC_ROUND]](s32), [[INTRINSIC_ROUND1]](s32)
45     ; CHECK: $vgpr0_vgpr1 = COPY [[BUILD_VECTOR]](<2 x s32>)
46     %0:_(<2 x s32>) = COPY $vgpr0_vgpr1
47     %1:_(<2 x s32>) = G_INTRINSIC_ROUND %0
48     $vgpr0_vgpr1 = COPY %1
49 ...
51 ---
52 name: test_intrinsic_round_v2s64
53 body: |
54   bb.0:
55     liveins: $vgpr0_vgpr1_vgpr2_vgpr3
57     ; CHECK-LABEL: name: test_intrinsic_round_v2s64
58     ; CHECK: [[COPY:%[0-9]+]]:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
59     ; CHECK: [[UV:%[0-9]+]]:_(s64), [[UV1:%[0-9]+]]:_(s64) = G_UNMERGE_VALUES [[COPY]](<2 x s64>)
60     ; CHECK: [[INTRINSIC_ROUND:%[0-9]+]]:_(s64) = G_INTRINSIC_ROUND [[UV]]
61     ; CHECK: [[INTRINSIC_ROUND1:%[0-9]+]]:_(s64) = G_INTRINSIC_ROUND [[UV1]]
62     ; CHECK: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[INTRINSIC_ROUND]](s64), [[INTRINSIC_ROUND1]](s64)
63     ; CHECK: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[BUILD_VECTOR]](<2 x s64>)
64     %0:_(<2 x s64>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
65     %1:_(<2 x s64>) = G_INTRINSIC_ROUND %0
66     $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1
67 ...