[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / SystemZ / stackmap-nops.ll
blob066d7f613241af4ba5597d8e1e99f5463f37f5e6
1 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
3 define void @nop_test() {
4 entry:
5 ; CHECK-LABEL: nop_test:
7 ; 2
8 ; CHECK:      bcr 0, %r0
10 ; 4
11 ; CHECK:      bc 0, 0
13 ; 6
14 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
15 ; CHECK-NEXT: [[LAB]]:
17 ; 8
18 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
19 ; CHECK-NEXT: [[LAB]]:
20 ; CHECK:      bcr 0, %r0
22 ; 10
23 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
24 ; CHECK-NEXT: [[LAB]]:
25 ; CHECK:      bc 0, 0
27 ; 12
28 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
29 ; CHECK-NEXT: [[LAB]]:
30 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
31 ; CHECK-NEXT: [[LAB]]:
33 ; 14
34 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
35 ; CHECK-NEXT: [[LAB]]:
36 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
37 ; CHECK-NEXT: [[LAB]]:
38 ; CHECK:      bcr 0, %r0
40 ; 16
41 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
42 ; CHECK-NEXT: [[LAB]]:
43 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
44 ; CHECK-NEXT: [[LAB]]:
45 ; CHECK:      bc 0, 0
47 ; 18
48 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
49 ; CHECK-NEXT: [[LAB]]:
50 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
51 ; CHECK-NEXT: [[LAB]]:
52 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
53 ; CHECK-NEXT: [[LAB]]:
55 ; 20
56 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
57 ; CHECK-NEXT: [[LAB]]:
58 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
59 ; CHECK-NEXT: [[LAB]]:
60 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
61 ; CHECK-NEXT: [[LAB]]:
62 ; CHECK:      bcr 0, %r0
64 ; 22
65 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
66 ; CHECK-NEXT: [[LAB]]:
67 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
68 ; CHECK-NEXT: [[LAB]]:
69 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
70 ; CHECK-NEXT: [[LAB]]:
71 ; CHECK:      bc 0, 0
73 ; 24
74 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
75 ; CHECK-NEXT: [[LAB]]:
76 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
77 ; CHECK-NEXT: [[LAB]]:
78 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
79 ; CHECK-NEXT: [[LAB]]:
80 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
81 ; CHECK-NEXT: [[LAB]]:
83 ; 26
84 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
85 ; CHECK-NEXT: [[LAB]]:
86 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
87 ; CHECK-NEXT: [[LAB]]:
88 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
89 ; CHECK-NEXT: [[LAB]]:
90 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
91 ; CHECK-NEXT: [[LAB]]:
92 ; CHECK:      bcr 0, %r0
94 ; 28
95 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
96 ; CHECK-NEXT: [[LAB]]:
97 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
98 ; CHECK-NEXT: [[LAB]]:
99 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
100 ; CHECK-NEXT: [[LAB]]:
101 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
102 ; CHECK-NEXT: [[LAB]]:
103 ; CHECK:      bc 0, 0
105 ; 30
106 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
107 ; CHECK-NEXT: [[LAB]]:
108 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
109 ; CHECK-NEXT: [[LAB]]:
110 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
111 ; CHECK-NEXT: [[LAB]]:
112 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
113 ; CHECK-NEXT: [[LAB]]:
114 ; CHECK:      brcl 0, [[LAB:.Ltmp[0-9]+]]
115 ; CHECK-NEXT: [[LAB]]:
117   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  0, i32  0)
118   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  2, i32  2)
119   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  4, i32  4)
120   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  6, i32  6)
121   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64  8, i32  8)
122   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 10, i32 10)
123   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 12, i32 12)
124   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 14, i32 14)
125   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 16, i32 16)
126   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 18, i32 18)
127   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 20, i32 20)
128   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 22, i32 22)
129   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 24, i32 24)
130   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 26, i32 26)
131   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 28, i32 28)
132   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 30, i32 30)
133 ; Add an extra stackmap with a zero-length shadow to thwart the shadow
134 ; optimization. This will force all bytes of the previous shadow to be
135 ; padded with nops.
136   tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 31, i32 0)
137   ret void
140 declare void @llvm.experimental.stackmap(i64, i32, ...)