[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / PowerPC / builtins-ppc-xlcompat-trap-64bit-only.ll
blob3afdd6f262cf0fab08b3d7100b061e504e6231f4
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
3 ; RUN:   -mcpu=pwr8 < %s | FileCheck %s
4 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
5 ; RUN:   -mcpu=pwr7 < %s | FileCheck %s
6 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-aix \
7 ; RUN:   -mcpu=pwr8 < %s | FileCheck %s
9 ; tdw
10 declare void @llvm.ppc.tdw(i64 %a, i64 %b, i32 immarg)
11 define dso_local void @test__tdwlgt(i64 %a, i64 %b) {
12 ; CHECK-LABEL: test__tdwlgt:
13 ; CHECK:       # %bb.0:
14 ; CHECK-NEXT:    tdlgt 3, 4
15 ; CHECK-NEXT:    blr
16   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 1)
17   ret void
20 define dso_local void @test__tdwllt(i64 %a, i64 %b) {
21 ; CHECK-LABEL: test__tdwllt:
22 ; CHECK:       # %bb.0:
23 ; CHECK-NEXT:    tdllt 3, 4
24 ; CHECK-NEXT:    blr
25   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 2)
26   ret void
29 define dso_local void @test__tdw3(i64 %a, i64 %b) {
30 ; CHECK-LABEL: test__tdw3:
31 ; CHECK:       # %bb.0:
32 ; CHECK-NEXT:    td 3, 3, 4
33 ; CHECK-NEXT:    blr
34   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 3)
35   ret void
37 define dso_local void @test__tdweq(i64 %a, i64 %b) {
38 ; CHECK-LABEL: test__tdweq:
39 ; CHECK:       # %bb.0:
40 ; CHECK-NEXT:    tdeq 3, 4
41 ; CHECK-NEXT:    blr
42   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 4)
43   ret void
46 define dso_local void @test__tdwlge(i64 %a, i64 %b) {
47 ; CHECK-LABEL: test__tdwlge:
48 ; CHECK:       # %bb.0:
49 ; CHECK-NEXT:    td 5, 3, 4
50 ; CHECK-NEXT:    blr
51   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 5)
52   ret void
55 define dso_local void @test__tdwlle(i64 %a, i64 %b) {
56 ; CHECK-LABEL: test__tdwlle:
57 ; CHECK:       # %bb.0:
58 ; CHECK-NEXT:    td 6, 3, 4
59 ; CHECK-NEXT:    blr
60   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 6)
61   ret void
64 define dso_local void @test__tdwgt(i64 %a, i64 %b) {
65 ; CHECK-LABEL: test__tdwgt:
66 ; CHECK:       # %bb.0:
67 ; CHECK-NEXT:    tdgt 3, 4
68 ; CHECK-NEXT:    blr
69   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 8)
70   ret void
73 define dso_local void @test__tdwge(i64 %a, i64 %b) {
74 ; CHECK-LABEL: test__tdwge:
75 ; CHECK:       # %bb.0:
76 ; CHECK-NEXT:    td 12, 3, 4
77 ; CHECK-NEXT:    blr
78   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 12)
79   ret void
82 define dso_local void @test__tdwlt(i64 %a, i64 %b) {
83 ; CHECK-LABEL: test__tdwlt:
84 ; CHECK:       # %bb.0:
85 ; CHECK-NEXT:    tdlt 3, 4
86 ; CHECK-NEXT:    blr
87   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 16)
88   ret void
91 define dso_local void @test__tdwle(i64 %a, i64 %b) {
92 ; CHECK-LABEL: test__tdwle:
93 ; CHECK:       # %bb.0:
94 ; CHECK-NEXT:    td 20, 3, 4
95 ; CHECK-NEXT:    blr
96   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 20)
97   ret void
100 define dso_local void @test__tdwne24(i64 %a, i64 %b) {
101 ; CHECK-LABEL: test__tdwne24:
102 ; CHECK:       # %bb.0:
103 ; CHECK-NEXT:    tdne 3, 4
104 ; CHECK-NEXT:    blr
105   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 24)
106   ret void
109 define dso_local void @test__tdw31(i64 %a, i64 %b) {
110 ; CHECK-LABEL: test__tdw31:
111 ; CHECK:       # %bb.0:
112 ; CHECK-NEXT:    tdu 3, 4
113 ; CHECK-NEXT:    blr
114   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 31)
115   ret void
118 define dso_local void @test__tdw_no_match(i64 %a, i64 %b) {
119 ; CHECK-LABEL: test__tdw_no_match:
120 ; CHECK:       # %bb.0:
121 ; CHECK-NEXT:    td 13, 3, 4
122 ; CHECK-NEXT:    blr
123   call void @llvm.ppc.tdw(i64 %a, i64 %b, i32 13)
124   ret void
127 ; trapd
128 declare void @llvm.ppc.trapd(i64 %a)
129 define dso_local void @test__trapd(i64 %a) {
130 ; CHECK-LABEL: test__trapd:
131 ; CHECK:       # %bb.0:
132 ; CHECK-NEXT:    tdnei 3, 0
133 ; CHECK-NEXT:    blr
134   call void @llvm.ppc.trapd(i64 %a)
135   ret void