[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / PowerPC / builtins-ppc-xlcompat-trap.ll
blob406d98767f8cd22327c069f100da63d426434036
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=powerpc-unknown-aix \
7 ; RUN:   -mcpu=pwr8 < %s | FileCheck %s
8 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-aix \
9 ; RUN:   -mcpu=pwr8 < %s | FileCheck %s
11 ; tw
12 declare void @llvm.ppc.tw(i32 %a, i32 %b, i32 %c)
13 define dso_local void @test__twlgt(i32 %a, i32 %b) {
14 ; CHECK-LABEL: test__twlgt:
15 ; CHECK:       # %bb.0:
16 ; CHECK-NEXT:    twlgt 3, 4
17 ; CHECK-NEXT:    blr
18   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 1)
19   ret void
22 define dso_local void @test__twllt(i32 %a, i32 %b) {
23 ; CHECK-LABEL: test__twllt:
24 ; CHECK:       # %bb.0:
25 ; CHECK-NEXT:    twllt 3, 4
26 ; CHECK-NEXT:    blr
27   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 2)
28   ret void
31 define dso_local void @test__tw3(i32 %a, i32 %b) {
32 ; CHECK-LABEL: test__tw3:
33 ; CHECK:       # %bb.0:
34 ; CHECK-NEXT:    tw 3, 3, 4
35 ; CHECK-NEXT:    blr
36   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 3)
37   ret void
40 define dso_local void @test__tweq(i32 %a, i32 %b) {
41 ; CHECK-LABEL: test__tweq:
42 ; CHECK:       # %bb.0:
43 ; CHECK-NEXT:    tweq 3, 4
44 ; CHECK-NEXT:    blr
45   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 4)
46   ret void
49 define dso_local void @test__twlge(i32 %a, i32 %b) {
50 ; CHECK-LABEL: test__twlge:
51 ; CHECK:       # %bb.0:
52 ; CHECK-NEXT:    tw 5, 3, 4
53 ; CHECK-NEXT:    blr
54   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 5)
55   ret void
58 define dso_local void @test__twlle(i32 %a, i32 %b) {
59 ; CHECK-LABEL: test__twlle:
60 ; CHECK:       # %bb.0:
61 ; CHECK-NEXT:    tw 6, 3, 4
62 ; CHECK-NEXT:    blr
63   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 6)
64   ret void
67 define dso_local void @test__twgt(i32 %a, i32 %b) {
68 ; CHECK-LABEL: test__twgt:
69 ; CHECK:       # %bb.0:
70 ; CHECK-NEXT:    twgt 3, 4
71 ; CHECK-NEXT:    blr
72   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 8)
73   ret void
76 define dso_local void @test__twge(i32 %a, i32 %b) {
77 ; CHECK-LABEL: test__twge:
78 ; CHECK:       # %bb.0:
79 ; CHECK-NEXT:    tw 12, 3, 4
80 ; CHECK-NEXT:    blr
81   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 12)
82   ret void
85 define dso_local void @test__twlt(i32 %a, i32 %b) {
86 ; CHECK-LABEL: test__twlt:
87 ; CHECK:       # %bb.0:
88 ; CHECK-NEXT:    twlt 3, 4
89 ; CHECK-NEXT:    blr
90   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 16)
91   ret void
94 define dso_local void @test__twle(i32 %a, i32 %b) {
95 ; CHECK-LABEL: test__twle:
96 ; CHECK:       # %bb.0:
97 ; CHECK-NEXT:    tw 20, 3, 4
98 ; CHECK-NEXT:    blr
99   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 20)
100   ret void
103 define dso_local void @test__twne24(i32 %a, i32 %b) {
104 ; CHECK-LABEL: test__twne24:
105 ; CHECK:       # %bb.0:
106 ; CHECK-NEXT:    twne 3, 4
107 ; CHECK-NEXT:    blr
108   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 24)
109   ret void
112 define dso_local void @test__twu(i32 %a, i32 %b) {
113 ; CHECK-LABEL: test__twu:
114 ; CHECK:       # %bb.0:
115 ; CHECK-NEXT:    twu 3, 4
116 ; CHECK-NEXT:    blr
117   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 31)
118   ret void
121 define dso_local void @test__tw_no_match(i32 %a, i32 %b) {
122 ; CHECK-LABEL: test__tw_no_match:
123 ; CHECK:       # %bb.0:
124 ; CHECK-NEXT:    tw 13, 3, 4
125 ; CHECK-NEXT:    blr
126   call void @llvm.ppc.tw(i32 %a, i32 %b, i32 13)
127   ret void
130 ; trap
131 declare void @llvm.ppc.trap(i32 %a)
132 define dso_local void @test__trap(i32 %a) {
133 ; CHECK-LABEL: test__trap:
134 ; CHECK:       # %bb.0:
135 ; CHECK-NEXT:    twnei 3, 0
136 ; CHECK-NEXT:    blr
137   call void @llvm.ppc.trap(i32 %a)
138   ret void