xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/const4a.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 -mattr=+soft-float -mips16-hard-float -relocation-model=pic -mips16-constant-islands -mips-constant-islands-no-load-relaxation  < %s | FileCheck %s -check-prefix=no-load-relax
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; ModuleID = 'const4.c'
4*9880d681SAndroid Build Coastguard Workertarget datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"
5*9880d681SAndroid Build Coastguard Workertarget triple = "mips--linux-gnu"
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker@i = common global i32 0, align 4
8*9880d681SAndroid Build Coastguard Worker@b = common global i32 0, align 4
9*9880d681SAndroid Build Coastguard Worker@j = common global i32 0, align 4
10*9880d681SAndroid Build Coastguard Worker@k = common global i32 0, align 4
11*9880d681SAndroid Build Coastguard Worker@l = common global i32 0, align 4
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind
14*9880d681SAndroid Build Coastguard Workerdefine void @t() #0 {
15*9880d681SAndroid Build Coastguard Workerentry:
16*9880d681SAndroid Build Coastguard Worker  store i32 -559023410, i32* @i, align 4
17*9880d681SAndroid Build Coastguard Worker  %0 = load i32, i32* @b, align 4
18*9880d681SAndroid Build Coastguard Worker; no-load-relax:	lw	${{[0-9]+}}, $CPI0_1	# 16 bit inst
19*9880d681SAndroid Build Coastguard Worker  %tobool = icmp ne i32 %0, 0
20*9880d681SAndroid Build Coastguard Worker  br i1 %tobool, label %if.then, label %if.else
21*9880d681SAndroid Build Coastguard Worker; no-load-relax:	beqz	${{[0-9]+}}, $BB0_3
22*9880d681SAndroid Build Coastguard Worker; no-load-relax:	lw	${{[0-9]+}}, %call16(foo)(${{[0-9]+}})
23*9880d681SAndroid Build Coastguard Worker; no-load-relax:	b	$BB0_4
24*9880d681SAndroid Build Coastguard Worker; no-load-relax:	.p2align	2
25*9880d681SAndroid Build Coastguard Worker; no-load-relax: $CPI0_1:
26*9880d681SAndroid Build Coastguard Worker; no-load-relax:	.4byte	3735943886
27*9880d681SAndroid Build Coastguard Worker; no-load-relax: $BB0_3:
28*9880d681SAndroid Build Coastguard Worker; no-load-relax:	lw	${{[0-9]+}}, %call16(goo)(${{[0-9]+}})
29*9880d681SAndroid Build Coastguard Workerif.then:                                          ; preds = %entry
30*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @foo to void ()*)()
31*9880d681SAndroid Build Coastguard Worker  br label %if.end
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerif.else:                                          ; preds = %entry
34*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @goo to void ()*)()
35*9880d681SAndroid Build Coastguard Worker  br label %if.end
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Workerif.end:                                           ; preds = %if.else, %if.then
38*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
39*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
40*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
41*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
42*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
43*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
44*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
45*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
46*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
47*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
48*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
49*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
50*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
51*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
52*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
53*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
54*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
55*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
56*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
57*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
58*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
59*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
60*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
61*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
62*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
63*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
64*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
65*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
66*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
67*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
68*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
69*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
70*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
71*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
72*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
73*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
74*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
75*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
76*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
77*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
78*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
79*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
80*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
81*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
82*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
83*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
84*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
85*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
86*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
87*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
88*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
89*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
90*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
91*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
92*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
93*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
94*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
95*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
96*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
97*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
98*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
99*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
100*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
101*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
102*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
103*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
104*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
105*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
106*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
107*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
108*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
109*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
110*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
111*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
112*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
113*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
114*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
115*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
116*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
117*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
118*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
119*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
120*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
121*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
122*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
123*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
124*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
125*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
126*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
127*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
128*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
129*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
130*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
131*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
132*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
133*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
134*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
135*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
136*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
137*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
138*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
139*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
140*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
141*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
142*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
143*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
144*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
145*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
146*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
147*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
148*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
149*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
150*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
151*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
152*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
153*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
154*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
155*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
156*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
157*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
158*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
159*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
160*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
161*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
162*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
163*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
164*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
165*9880d681SAndroid Build Coastguard Worker  call void bitcast (void (...)* @hoo to void ()*)()
166*9880d681SAndroid Build Coastguard Worker  ret void
167*9880d681SAndroid Build Coastguard Worker}
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Workerdeclare void @foo(...) #1
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Workerdeclare void @goo(...) #1
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Workerdeclare void @hoo(...) #1
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="true" }
176*9880d681SAndroid Build Coastguard Workerattributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="true" }
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker!llvm.ident = !{!0}
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Worker!0 = !{!"clang version 3.4 ([email protected]:clang.git b310439121c875937d78cc49cc969bc1197fc025) ([email protected]:llvm.git 7fc0ca9656ebec8dad61f72f5a5ddfb232c070fd)"}
181