Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/builtins/builtins-array-gen.h"
10 : #include "src/builtins/builtins-collections-gen.h"
11 : #include "src/builtins/builtins-data-view-gen.h"
12 : #include "src/builtins/builtins-iterator-gen.h"
13 : #include "src/builtins/builtins-typed-array-gen.h"
14 : #include "torque-generated/builtins-base-from-dsl-gen.h"
15 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
16 : #include "torque-generated/builtins-array-from-dsl-gen.h"
17 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
18 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
19 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
20 : #include "torque-generated/builtins-object-from-dsl-gen.h"
21 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
22 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
23 : #include "torque-generated/builtins-test-from-dsl-gen.h"
24 :
25 : namespace v8 {
26 : namespace internal {
27 :
28 15 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::ElementsKindTestHelper1(ElementsKind p_kind) {
29 15 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
30 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
31 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
32 : compiler::CodeAssemblerParameterizedLabel<BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
33 : compiler::CodeAssemblerParameterizedLabel<BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
34 : ca_.Goto(&block0);
35 :
36 15 : if (block0.is_used()) {
37 : ca_.Bind(&block0);
38 40 : if (((CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT8_ELEMENTS)) || (CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT16_ELEMENTS)))) {
39 : ca_.Goto(&block3);
40 : } else {
41 : ca_.Goto(&block4);
42 : }
43 : }
44 :
45 15 : if (block3.is_used()) {
46 : ca_.Bind(&block3);
47 : compiler::TNode<BoolT> tmp0;
48 : USE(tmp0);
49 30 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
50 : ca_.Goto(&block1, tmp0);
51 : }
52 :
53 15 : if (block4.is_used()) {
54 : ca_.Bind(&block4);
55 : compiler::TNode<BoolT> tmp1;
56 : USE(tmp1);
57 15 : tmp1 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
58 : ca_.Goto(&block1, tmp1);
59 : }
60 :
61 15 : if (block1.is_used()) {
62 : compiler::TNode<BoolT> tmp2;
63 : ca_.Bind(&block1, &tmp2);
64 : ca_.Goto(&block6, tmp2);
65 : }
66 :
67 : compiler::TNode<BoolT> tmp3;
68 : ca_.Bind(&block6, &tmp3);
69 30 : return compiler::TNode<BoolT>{tmp3};
70 : }
71 :
72 0 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::ElementsKindTestHelper2(ElementsKind p_kind) {
73 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
74 : compiler::CodeAssemblerParameterizedLabel<BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
75 : compiler::CodeAssemblerParameterizedLabel<BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
76 : ca_.Goto(&block0);
77 :
78 0 : if (block0.is_used()) {
79 : ca_.Bind(&block0);
80 : compiler::TNode<BoolT> tmp0;
81 : USE(tmp0);
82 0 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(((CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT8_ELEMENTS)) || (CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT16_ELEMENTS)))));
83 : ca_.Goto(&block1, tmp0);
84 : }
85 :
86 0 : if (block1.is_used()) {
87 : compiler::TNode<BoolT> tmp1;
88 : ca_.Bind(&block1, &tmp1);
89 : ca_.Goto(&block3, tmp1);
90 : }
91 :
92 : compiler::TNode<BoolT> tmp2;
93 : ca_.Bind(&block3, &tmp2);
94 0 : return compiler::TNode<BoolT>{tmp2};
95 : }
96 :
97 20 : bool TestBuiltinsFromDSLAssembler::ElementsKindTestHelper3(ElementsKind p_kind) {
98 20 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
99 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
100 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
101 : ca_.Goto(&block0);
102 :
103 20 : if (block0.is_used()) {
104 : ca_.Bind(&block0);
105 : ca_.Goto(&block1);
106 : }
107 :
108 20 : if (block1.is_used()) {
109 : ca_.Bind(&block1);
110 : ca_.Goto(&block3);
111 : }
112 :
113 : ca_.Bind(&block3);
114 75 : return ((CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT8_ELEMENTS)) || (CodeStubAssembler(state_).ElementsKindEqual(p_kind, UINT16_ELEMENTS)));
115 : }
116 :
117 5 : void TestBuiltinsFromDSLAssembler::LabelTestHelper1(compiler::CodeAssemblerLabel* label_Label1) {
118 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
119 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
120 : ca_.Goto(&block0);
121 :
122 5 : if (block0.is_used()) {
123 : ca_.Bind(&block0);
124 : ca_.Goto(&block1);
125 : }
126 :
127 5 : if (block1.is_used()) {
128 : ca_.Bind(&block1);
129 5 : ca_.Goto(label_Label1);
130 : }
131 5 : }
132 :
133 5 : void TestBuiltinsFromDSLAssembler::LabelTestHelper2(compiler::CodeAssemblerLabel* label_Label2, compiler::TypedCodeAssemblerVariable<Smi>* label_Label2_parameter_0) {
134 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
135 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
136 : ca_.Goto(&block0);
137 :
138 5 : if (block0.is_used()) {
139 : ca_.Bind(&block0);
140 : compiler::TNode<Smi> tmp0;
141 : USE(tmp0);
142 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(42));
143 : ca_.Goto(&block1, tmp0);
144 : }
145 :
146 5 : if (block1.is_used()) {
147 : compiler::TNode<Smi> tmp1;
148 : ca_.Bind(&block1, &tmp1);
149 : *label_Label2_parameter_0 = tmp1;
150 5 : ca_.Goto(label_Label2);
151 : }
152 5 : }
153 :
154 5 : void TestBuiltinsFromDSLAssembler::LabelTestHelper3(compiler::CodeAssemblerLabel* label_Label3, compiler::TypedCodeAssemblerVariable<String>* label_Label3_parameter_0, compiler::TypedCodeAssemblerVariable<Smi>* label_Label3_parameter_1) {
155 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
156 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
157 : ca_.Goto(&block0);
158 :
159 5 : if (block0.is_used()) {
160 : ca_.Bind(&block0);
161 : compiler::TNode<String> tmp0;
162 : USE(tmp0);
163 15 : tmp0 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATString18ATconstexpr_string("foo"));
164 : compiler::TNode<Smi> tmp1;
165 : USE(tmp1);
166 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
167 : ca_.Goto(&block1, tmp0, tmp1);
168 : }
169 :
170 5 : if (block1.is_used()) {
171 : compiler::TNode<String> tmp2;
172 : compiler::TNode<Smi> tmp3;
173 : ca_.Bind(&block1, &tmp2, &tmp3);
174 : *label_Label3_parameter_1 = tmp3;
175 : *label_Label3_parameter_0 = tmp2;
176 5 : ca_.Goto(label_Label3);
177 : }
178 5 : }
179 :
180 5 : void TestBuiltinsFromDSLAssembler::TestConstexpr1() {
181 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
182 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
183 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
184 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
185 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
186 : ca_.Goto(&block0);
187 :
188 5 : if (block0.is_used()) {
189 : ca_.Bind(&block0);
190 : compiler::TNode<BoolT> tmp0;
191 : USE(tmp0);
192 20 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((CodeStubAssembler(state_).IsFastElementsKind(PACKED_SMI_ELEMENTS))));
193 5 : ca_.Branch(tmp0, &block2, &block3);
194 : }
195 :
196 5 : if (block3.is_used()) {
197 : ca_.Bind(&block3);
198 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'FromConstexpr<bool>(IsFastElementsKind(PACKED_SMI_ELEMENTS))\' failed", "../../test/torque/test-torque.tq", 38);
199 : }
200 :
201 5 : if (block2.is_used()) {
202 : ca_.Bind(&block2);
203 : ca_.Goto(&block1);
204 : }
205 :
206 5 : if (block1.is_used()) {
207 : ca_.Bind(&block1);
208 : ca_.Goto(&block4);
209 : }
210 :
211 : ca_.Bind(&block4);
212 5 : }
213 :
214 5 : void TestBuiltinsFromDSLAssembler::TestConstexprIf() {
215 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
216 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
217 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
218 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
219 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
220 : compiler::CodeAssemblerParameterizedLabel<> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
221 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
222 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
223 : compiler::CodeAssemblerParameterizedLabel<> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
224 : ca_.Goto(&block0);
225 :
226 5 : if (block0.is_used()) {
227 : ca_.Bind(&block0);
228 : compiler::TNode<BoolT> tmp0;
229 : USE(tmp0);
230 15 : tmp0 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper1(UINT8_ELEMENTS));
231 5 : ca_.Branch(tmp0, &block2, &block3);
232 : }
233 :
234 5 : if (block3.is_used()) {
235 : ca_.Bind(&block3);
236 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'ElementsKindTestHelper1(UINT8_ELEMENTS)\' failed", "../../test/torque/test-torque.tq", 42);
237 : }
238 :
239 5 : if (block2.is_used()) {
240 : ca_.Bind(&block2);
241 : compiler::TNode<BoolT> tmp1;
242 : USE(tmp1);
243 15 : tmp1 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper1(UINT16_ELEMENTS));
244 5 : ca_.Branch(tmp1, &block4, &block5);
245 : }
246 :
247 5 : if (block5.is_used()) {
248 : ca_.Bind(&block5);
249 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'ElementsKindTestHelper1(UINT16_ELEMENTS)\' failed", "../../test/torque/test-torque.tq", 43);
250 : }
251 :
252 5 : if (block4.is_used()) {
253 : ca_.Bind(&block4);
254 : compiler::TNode<BoolT> tmp2;
255 : USE(tmp2);
256 15 : tmp2 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper1(UINT32_ELEMENTS));
257 : compiler::TNode<BoolT> tmp3;
258 : USE(tmp3);
259 10 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp2}));
260 5 : ca_.Branch(tmp3, &block6, &block7);
261 : }
262 :
263 5 : if (block7.is_used()) {
264 : ca_.Bind(&block7);
265 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!ElementsKindTestHelper1(UINT32_ELEMENTS)\' failed", "../../test/torque/test-torque.tq", 44);
266 : }
267 :
268 5 : if (block6.is_used()) {
269 : ca_.Bind(&block6);
270 : ca_.Goto(&block1);
271 : }
272 :
273 5 : if (block1.is_used()) {
274 : ca_.Bind(&block1);
275 : ca_.Goto(&block8);
276 : }
277 :
278 : ca_.Bind(&block8);
279 5 : }
280 :
281 5 : void TestBuiltinsFromDSLAssembler::TestConstexprReturn() {
282 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
283 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
284 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
285 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
286 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
287 : compiler::CodeAssemblerParameterizedLabel<> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
288 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
289 : compiler::CodeAssemblerParameterizedLabel<> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
290 : compiler::CodeAssemblerParameterizedLabel<> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
291 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
292 : compiler::CodeAssemblerParameterizedLabel<> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
293 : ca_.Goto(&block0);
294 :
295 5 : if (block0.is_used()) {
296 : ca_.Bind(&block0);
297 : compiler::TNode<BoolT> tmp0;
298 : USE(tmp0);
299 25 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper3(UINT8_ELEMENTS))));
300 5 : ca_.Branch(tmp0, &block2, &block3);
301 : }
302 :
303 5 : if (block3.is_used()) {
304 : ca_.Bind(&block3);
305 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'FromConstexpr<bool>(ElementsKindTestHelper3(UINT8_ELEMENTS))\' failed", "../../test/torque/test-torque.tq", 48);
306 : }
307 :
308 5 : if (block2.is_used()) {
309 : ca_.Bind(&block2);
310 : compiler::TNode<BoolT> tmp1;
311 : USE(tmp1);
312 25 : tmp1 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper3(UINT16_ELEMENTS))));
313 5 : ca_.Branch(tmp1, &block4, &block5);
314 : }
315 :
316 5 : if (block5.is_used()) {
317 : ca_.Bind(&block5);
318 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'FromConstexpr<bool>(ElementsKindTestHelper3(UINT16_ELEMENTS))\' failed", "../../test/torque/test-torque.tq", 49);
319 : }
320 :
321 5 : if (block4.is_used()) {
322 : ca_.Bind(&block4);
323 : compiler::TNode<BoolT> tmp2;
324 : USE(tmp2);
325 25 : tmp2 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper3(UINT32_ELEMENTS))));
326 : compiler::TNode<BoolT> tmp3;
327 : USE(tmp3);
328 10 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp2}));
329 5 : ca_.Branch(tmp3, &block6, &block7);
330 : }
331 :
332 5 : if (block7.is_used()) {
333 : ca_.Bind(&block7);
334 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!FromConstexpr<bool>(ElementsKindTestHelper3(UINT32_ELEMENTS))\' failed", "../../test/torque/test-torque.tq", 50);
335 : }
336 :
337 5 : if (block6.is_used()) {
338 : ca_.Bind(&block6);
339 : compiler::TNode<BoolT> tmp4;
340 : USE(tmp4);
341 35 : tmp4 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((CodeStubAssembler(state_).ConstexprBoolNot((TestBuiltinsFromDSLAssembler(state_).ElementsKindTestHelper3(UINT32_ELEMENTS))))));
342 5 : ca_.Branch(tmp4, &block8, &block9);
343 : }
344 :
345 5 : if (block9.is_used()) {
346 : ca_.Bind(&block9);
347 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'FromConstexpr<bool>(!ElementsKindTestHelper3(UINT32_ELEMENTS))\' failed", "../../test/torque/test-torque.tq", 51);
348 : }
349 :
350 5 : if (block8.is_used()) {
351 : ca_.Bind(&block8);
352 : ca_.Goto(&block1);
353 : }
354 :
355 5 : if (block1.is_used()) {
356 : ca_.Bind(&block1);
357 : ca_.Goto(&block10);
358 : }
359 :
360 : ca_.Bind(&block10);
361 5 : }
362 :
363 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestGotoLabel() {
364 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
365 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
366 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
367 : compiler::CodeAssemblerParameterizedLabel<Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
368 : compiler::CodeAssemblerParameterizedLabel<Oddball> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
369 : ca_.Goto(&block0);
370 :
371 5 : if (block0.is_used()) {
372 : ca_.Bind(&block0);
373 : compiler::CodeAssemblerLabel label0(&ca_);
374 15 : TestBuiltinsFromDSLAssembler(state_).LabelTestHelper1(&label0);
375 5 : if (label0.is_used()) {
376 5 : ca_.Bind(&label0);
377 : ca_.Goto(&block4);
378 5 : }
379 : }
380 :
381 5 : if (block4.is_used()) {
382 : ca_.Bind(&block4);
383 : ca_.Goto(&block3);
384 : }
385 :
386 5 : if (block3.is_used()) {
387 : ca_.Bind(&block3);
388 : compiler::TNode<Oddball> tmp0;
389 : USE(tmp0);
390 15 : tmp0 = BaseBuiltinsFromDSLAssembler(state_).True();
391 : ca_.Goto(&block1, tmp0);
392 : }
393 :
394 5 : if (block1.is_used()) {
395 : compiler::TNode<Oddball> tmp1;
396 : ca_.Bind(&block1, &tmp1);
397 : ca_.Goto(&block5, tmp1);
398 : }
399 :
400 : compiler::TNode<Oddball> tmp2;
401 : ca_.Bind(&block5, &tmp2);
402 10 : return compiler::TNode<Oddball>{tmp2};
403 : }
404 :
405 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestGotoLabelWithOneParameter() {
406 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
407 : compiler::CodeAssemblerParameterizedLabel<Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
408 : compiler::CodeAssemblerParameterizedLabel<Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
409 : compiler::CodeAssemblerParameterizedLabel<Smi> block6(&ca_, compiler::CodeAssemblerLabel::kDeferred);
410 : compiler::CodeAssemblerParameterizedLabel<Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
411 : compiler::CodeAssemblerParameterizedLabel<Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
412 : compiler::CodeAssemblerParameterizedLabel<Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
413 : ca_.Goto(&block0);
414 :
415 5 : if (block0.is_used()) {
416 : ca_.Bind(&block0);
417 : compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
418 5 : compiler::CodeAssemblerLabel label0(&ca_);
419 15 : TestBuiltinsFromDSLAssembler(state_).LabelTestHelper2(&label0, &result_0_0);
420 5 : if (label0.is_used()) {
421 5 : ca_.Bind(&label0);
422 : ca_.Goto(&block4, result_0_0.value());
423 : }
424 : }
425 :
426 5 : if (block4.is_used()) {
427 : compiler::TNode<Smi> tmp0;
428 : ca_.Bind(&block4, &tmp0);
429 : ca_.Goto(&block3, tmp0);
430 : }
431 :
432 5 : if (block3.is_used()) {
433 : compiler::TNode<Smi> tmp1;
434 : ca_.Bind(&block3, &tmp1);
435 : compiler::TNode<Smi> tmp2;
436 : USE(tmp2);
437 15 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(42));
438 : compiler::TNode<BoolT> tmp3;
439 : USE(tmp3);
440 10 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{tmp2}));
441 5 : ca_.Branch(tmp3, &block5, &block6, tmp1);
442 : }
443 :
444 5 : if (block6.is_used()) {
445 : compiler::TNode<Smi> tmp4;
446 : ca_.Bind(&block6, &tmp4);
447 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'smi == 42\' failed", "../../test/torque/test-torque.tq", 68);
448 : }
449 :
450 5 : if (block5.is_used()) {
451 : compiler::TNode<Smi> tmp5;
452 : ca_.Bind(&block5, &tmp5);
453 : compiler::TNode<Oddball> tmp6;
454 : USE(tmp6);
455 15 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).True();
456 : ca_.Goto(&block1, tmp6);
457 : }
458 :
459 5 : if (block1.is_used()) {
460 : compiler::TNode<Oddball> tmp7;
461 : ca_.Bind(&block1, &tmp7);
462 : ca_.Goto(&block7, tmp7);
463 : }
464 :
465 : compiler::TNode<Oddball> tmp8;
466 : ca_.Bind(&block7, &tmp8);
467 10 : return compiler::TNode<Oddball>{tmp8};
468 : }
469 :
470 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestGotoLabelWithTwoParameters() {
471 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
472 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
473 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
474 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kDeferred);
475 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
476 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kDeferred);
477 : compiler::CodeAssemblerParameterizedLabel<String, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
478 : compiler::CodeAssemblerParameterizedLabel<Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
479 : compiler::CodeAssemblerParameterizedLabel<Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
480 : ca_.Goto(&block0);
481 :
482 5 : if (block0.is_used()) {
483 : ca_.Bind(&block0);
484 : compiler::TypedCodeAssemblerVariable<String> result_0_0(&ca_);
485 : compiler::TypedCodeAssemblerVariable<Smi> result_0_1(&ca_);
486 5 : compiler::CodeAssemblerLabel label0(&ca_);
487 15 : TestBuiltinsFromDSLAssembler(state_).LabelTestHelper3(&label0, &result_0_0, &result_0_1);
488 5 : if (label0.is_used()) {
489 5 : ca_.Bind(&label0);
490 : ca_.Goto(&block4, result_0_0.value(), result_0_1.value());
491 : }
492 : }
493 :
494 5 : if (block4.is_used()) {
495 : compiler::TNode<String> tmp0;
496 : compiler::TNode<Smi> tmp1;
497 : ca_.Bind(&block4, &tmp0, &tmp1);
498 : ca_.Goto(&block3, tmp0, tmp1);
499 : }
500 :
501 5 : if (block3.is_used()) {
502 : compiler::TNode<String> tmp2;
503 : compiler::TNode<Smi> tmp3;
504 : ca_.Bind(&block3, &tmp2, &tmp3);
505 : compiler::TNode<Object> tmp4;
506 : USE(tmp4);
507 15 : tmp4 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("foo"));
508 : compiler::TNode<BoolT> tmp5;
509 : USE(tmp5);
510 10 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp4}));
511 5 : ca_.Branch(tmp5, &block5, &block6, tmp2, tmp3);
512 : }
513 :
514 5 : if (block6.is_used()) {
515 : compiler::TNode<String> tmp6;
516 : compiler::TNode<Smi> tmp7;
517 : ca_.Bind(&block6, &tmp6, &tmp7);
518 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'str == \'foo\'\' failed", "../../test/torque/test-torque.tq", 78);
519 : }
520 :
521 5 : if (block5.is_used()) {
522 : compiler::TNode<String> tmp8;
523 : compiler::TNode<Smi> tmp9;
524 : ca_.Bind(&block5, &tmp8, &tmp9);
525 : compiler::TNode<Smi> tmp10;
526 : USE(tmp10);
527 15 : tmp10 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
528 : compiler::TNode<BoolT> tmp11;
529 : USE(tmp11);
530 10 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
531 5 : ca_.Branch(tmp11, &block7, &block8, tmp8, tmp9);
532 : }
533 :
534 5 : if (block8.is_used()) {
535 : compiler::TNode<String> tmp12;
536 : compiler::TNode<Smi> tmp13;
537 : ca_.Bind(&block8, &tmp12, &tmp13);
538 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'smi == 7\' failed", "../../test/torque/test-torque.tq", 79);
539 : }
540 :
541 5 : if (block7.is_used()) {
542 : compiler::TNode<String> tmp14;
543 : compiler::TNode<Smi> tmp15;
544 : ca_.Bind(&block7, &tmp14, &tmp15);
545 : compiler::TNode<Oddball> tmp16;
546 : USE(tmp16);
547 15 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).True();
548 : ca_.Goto(&block1, tmp16);
549 : }
550 :
551 5 : if (block1.is_used()) {
552 : compiler::TNode<Oddball> tmp17;
553 : ca_.Bind(&block1, &tmp17);
554 : ca_.Goto(&block9, tmp17);
555 : }
556 :
557 : compiler::TNode<Oddball> tmp18;
558 : ca_.Bind(&block9, &tmp18);
559 10 : return compiler::TNode<Oddball>{tmp18};
560 : }
561 :
562 224 : TF_BUILTIN(GenericBuiltinTest20UT5ATSmi10HeapObject, CodeStubAssembler) {
563 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
564 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
565 : USE(parameter0);
566 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kParam));
567 : USE(parameter1);
568 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
569 : ca_.Goto(&block0, parameter0, parameter1);
570 :
571 56 : if (block0.is_used()) {
572 : compiler::TNode<Context> tmp0;
573 : compiler::TNode<Object> tmp1;
574 : ca_.Bind(&block0, &tmp0, &tmp1);
575 112 : CodeStubAssembler(state_).Return(tmp1);
576 56 : }
577 56 : }
578 :
579 5 : void TestBuiltinsFromDSLAssembler::TestBuiltinSpecialization(compiler::TNode<Context> p_c) {
580 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
581 : compiler::CodeAssemblerParameterizedLabel<Context> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
582 : compiler::CodeAssemblerParameterizedLabel<Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
583 : compiler::CodeAssemblerParameterizedLabel<Context> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
584 : compiler::CodeAssemblerParameterizedLabel<Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
585 : compiler::CodeAssemblerParameterizedLabel<Context> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
586 : compiler::CodeAssemblerParameterizedLabel<Context> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
587 : compiler::CodeAssemblerParameterizedLabel<Context> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
588 : compiler::CodeAssemblerParameterizedLabel<Context> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
589 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
590 : compiler::CodeAssemblerParameterizedLabel<Context> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
591 : ca_.Goto(&block0, p_c);
592 :
593 5 : if (block0.is_used()) {
594 : compiler::TNode<Context> tmp0;
595 : ca_.Bind(&block0, &tmp0);
596 : compiler::TNode<Smi> tmp1;
597 : USE(tmp1);
598 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
599 : compiler::TNode<Object> tmp2;
600 10 : tmp2 = CodeStubAssembler(state_).CallBuiltin(Builtins::kGenericBuiltinTest5ATSmi, tmp0, tmp1);
601 : USE(tmp2);
602 : compiler::TNode<Oddball> tmp3;
603 : USE(tmp3);
604 15 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Null();
605 : compiler::TNode<BoolT> tmp4;
606 : USE(tmp4);
607 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
608 5 : ca_.Branch(tmp4, &block2, &block3, tmp0);
609 : }
610 :
611 5 : if (block3.is_used()) {
612 : compiler::TNode<Context> tmp5;
613 : ca_.Bind(&block3, &tmp5);
614 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericBuiltinTest<Smi>(c, 0) == Null\' failed", "../../test/torque/test-torque.tq", 93);
615 : }
616 :
617 5 : if (block2.is_used()) {
618 : compiler::TNode<Context> tmp6;
619 : ca_.Bind(&block2, &tmp6);
620 : compiler::TNode<Smi> tmp7;
621 : USE(tmp7);
622 15 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
623 : compiler::TNode<Object> tmp8;
624 10 : tmp8 = CodeStubAssembler(state_).CallBuiltin(Builtins::kGenericBuiltinTest5ATSmi, tmp6, tmp7);
625 : USE(tmp8);
626 : compiler::TNode<Oddball> tmp9;
627 : USE(tmp9);
628 15 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Null();
629 : compiler::TNode<BoolT> tmp10;
630 : USE(tmp10);
631 10 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<Object>{tmp9}));
632 5 : ca_.Branch(tmp10, &block4, &block5, tmp6);
633 : }
634 :
635 5 : if (block5.is_used()) {
636 : compiler::TNode<Context> tmp11;
637 : ca_.Bind(&block5, &tmp11);
638 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericBuiltinTest<Smi>(c, 1) == Null\' failed", "../../test/torque/test-torque.tq", 94);
639 : }
640 :
641 5 : if (block4.is_used()) {
642 : compiler::TNode<Context> tmp12;
643 : ca_.Bind(&block4, &tmp12);
644 : compiler::TNode<Oddball> tmp13;
645 : USE(tmp13);
646 15 : tmp13 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
647 : compiler::TNode<Object> tmp14;
648 10 : tmp14 = CodeStubAssembler(state_).CallBuiltin(Builtins::kGenericBuiltinTest20UT5ATSmi10HeapObject, tmp12, tmp13);
649 : USE(tmp14);
650 : compiler::TNode<Oddball> tmp15;
651 : USE(tmp15);
652 15 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
653 : compiler::TNode<BoolT> tmp16;
654 : USE(tmp16);
655 10 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<Object>{tmp15}));
656 5 : ca_.Branch(tmp16, &block6, &block7, tmp12);
657 : }
658 :
659 5 : if (block7.is_used()) {
660 : compiler::TNode<Context> tmp17;
661 : ca_.Bind(&block7, &tmp17);
662 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericBuiltinTest<Object>(c, Undefined) == Undefined\' failed", "../../test/torque/test-torque.tq", 95);
663 : }
664 :
665 5 : if (block6.is_used()) {
666 : compiler::TNode<Context> tmp18;
667 : ca_.Bind(&block6, &tmp18);
668 : compiler::TNode<Oddball> tmp19;
669 : USE(tmp19);
670 15 : tmp19 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
671 : compiler::TNode<Object> tmp20;
672 10 : tmp20 = CodeStubAssembler(state_).CallBuiltin(Builtins::kGenericBuiltinTest20UT5ATSmi10HeapObject, tmp18, tmp19);
673 : USE(tmp20);
674 : compiler::TNode<Oddball> tmp21;
675 : USE(tmp21);
676 15 : tmp21 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
677 : compiler::TNode<BoolT> tmp22;
678 : USE(tmp22);
679 10 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp20}, compiler::TNode<Object>{tmp21}));
680 5 : ca_.Branch(tmp22, &block8, &block9, tmp18);
681 : }
682 :
683 5 : if (block9.is_used()) {
684 : compiler::TNode<Context> tmp23;
685 : ca_.Bind(&block9, &tmp23);
686 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericBuiltinTest<Object>(c, Undefined) == Undefined\' failed", "../../test/torque/test-torque.tq", 96);
687 : }
688 :
689 5 : if (block8.is_used()) {
690 : compiler::TNode<Context> tmp24;
691 : ca_.Bind(&block8, &tmp24);
692 : ca_.Goto(&block1, tmp24);
693 : }
694 :
695 5 : if (block1.is_used()) {
696 : compiler::TNode<Context> tmp25;
697 : ca_.Bind(&block1, &tmp25);
698 : ca_.Goto(&block10, tmp25);
699 : }
700 :
701 : compiler::TNode<Context> tmp26;
702 : ca_.Bind(&block10, &tmp26);
703 5 : }
704 :
705 10 : void TestBuiltinsFromDSLAssembler::LabelTestHelper4(bool p_flag, compiler::CodeAssemblerLabel* label_Label4, compiler::CodeAssemblerLabel* label_Label5) {
706 10 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
707 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
708 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
709 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
710 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
711 : ca_.Goto(&block0);
712 :
713 10 : if (block0.is_used()) {
714 : ca_.Bind(&block0);
715 10 : if (p_flag) {
716 : ca_.Goto(&block3);
717 : } else {
718 : ca_.Goto(&block4);
719 : }
720 : }
721 :
722 10 : if (block3.is_used()) {
723 : ca_.Bind(&block3);
724 : ca_.Goto(&block1);
725 : }
726 :
727 10 : if (block4.is_used()) {
728 : ca_.Bind(&block4);
729 : ca_.Goto(&block2);
730 : }
731 :
732 10 : if (block1.is_used()) {
733 : ca_.Bind(&block1);
734 5 : ca_.Goto(label_Label4);
735 : }
736 :
737 10 : if (block2.is_used()) {
738 : ca_.Bind(&block2);
739 5 : ca_.Goto(label_Label5);
740 : }
741 10 : }
742 :
743 10 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::CallLabelTestHelper4(bool p_flag) {
744 10 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
745 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
746 : compiler::CodeAssemblerParameterizedLabel<> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
747 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
748 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
749 : compiler::CodeAssemblerParameterizedLabel<BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
750 : compiler::CodeAssemblerParameterizedLabel<BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
751 : ca_.Goto(&block0);
752 :
753 10 : if (block0.is_used()) {
754 : ca_.Bind(&block0);
755 : compiler::CodeAssemblerLabel label0(&ca_);
756 10 : compiler::CodeAssemblerLabel label1(&ca_);
757 30 : TestBuiltinsFromDSLAssembler(state_).LabelTestHelper4(p_flag, &label0, &label1);
758 10 : if (label0.is_used()) {
759 5 : ca_.Bind(&label0);
760 : ca_.Goto(&block6);
761 : }
762 10 : if (label1.is_used()) {
763 5 : ca_.Bind(&label1);
764 : ca_.Goto(&block7);
765 10 : }
766 : }
767 :
768 10 : if (block6.is_used()) {
769 : ca_.Bind(&block6);
770 : ca_.Goto(&block5);
771 : }
772 :
773 10 : if (block7.is_used()) {
774 : ca_.Bind(&block7);
775 : ca_.Goto(&block3);
776 : }
777 :
778 10 : if (block5.is_used()) {
779 : ca_.Bind(&block5);
780 : compiler::TNode<BoolT> tmp0;
781 : USE(tmp0);
782 15 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
783 : ca_.Goto(&block1, tmp0);
784 : }
785 :
786 10 : if (block3.is_used()) {
787 : ca_.Bind(&block3);
788 : compiler::TNode<BoolT> tmp1;
789 : USE(tmp1);
790 15 : tmp1 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
791 : ca_.Goto(&block1, tmp1);
792 : }
793 :
794 10 : if (block1.is_used()) {
795 : compiler::TNode<BoolT> tmp2;
796 : ca_.Bind(&block1, &tmp2);
797 : ca_.Goto(&block8, tmp2);
798 : }
799 :
800 : compiler::TNode<BoolT> tmp3;
801 : ca_.Bind(&block8, &tmp3);
802 20 : return compiler::TNode<BoolT>{tmp3};
803 : }
804 :
805 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestPartiallyUnusedLabel() {
806 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
807 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
808 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
809 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
810 : compiler::CodeAssemblerParameterizedLabel<Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
811 : compiler::CodeAssemblerParameterizedLabel<Oddball> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
812 : ca_.Goto(&block0);
813 :
814 5 : if (block0.is_used()) {
815 : ca_.Bind(&block0);
816 : compiler::TNode<BoolT> tmp0;
817 : USE(tmp0);
818 15 : tmp0 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).CallLabelTestHelper4(true));
819 : compiler::TNode<BoolT> tmp1;
820 : USE(tmp1);
821 15 : tmp1 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).CallLabelTestHelper4(false));
822 5 : ca_.Branch(tmp0, &block4, &block3, tmp0, tmp1);
823 : }
824 :
825 5 : if (block4.is_used()) {
826 : compiler::TNode<BoolT> tmp2;
827 : compiler::TNode<BoolT> tmp3;
828 : ca_.Bind(&block4, &tmp2, &tmp3);
829 : compiler::TNode<BoolT> tmp4;
830 : USE(tmp4);
831 15 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp3}));
832 5 : ca_.Branch(tmp4, &block2, &block3, tmp2, tmp3);
833 : }
834 :
835 5 : if (block2.is_used()) {
836 : compiler::TNode<BoolT> tmp5;
837 : compiler::TNode<BoolT> tmp6;
838 : ca_.Bind(&block2, &tmp5, &tmp6);
839 : compiler::TNode<Oddball> tmp7;
840 : USE(tmp7);
841 15 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).True();
842 : ca_.Goto(&block1, tmp7);
843 : }
844 :
845 5 : if (block3.is_used()) {
846 : compiler::TNode<BoolT> tmp8;
847 : compiler::TNode<BoolT> tmp9;
848 : ca_.Bind(&block3, &tmp8, &tmp9);
849 : compiler::TNode<Oddball> tmp10;
850 : USE(tmp10);
851 15 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).False();
852 : ca_.Goto(&block1, tmp10);
853 : }
854 :
855 5 : if (block1.is_used()) {
856 : compiler::TNode<Oddball> tmp11;
857 : ca_.Bind(&block1, &tmp11);
858 : ca_.Goto(&block6, tmp11);
859 : }
860 :
861 : compiler::TNode<Oddball> tmp12;
862 : ca_.Bind(&block6, &tmp12);
863 10 : return compiler::TNode<Oddball>{tmp12};
864 : }
865 :
866 15 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::GenericMacroTest20UT5ATSmi10HeapObject(compiler::TNode<Object> p_param2) {
867 15 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
868 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
869 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
870 : ca_.Goto(&block0, p_param2);
871 :
872 15 : if (block0.is_used()) {
873 : compiler::TNode<Object> tmp0;
874 : ca_.Bind(&block0, &tmp0);
875 : ca_.Goto(&block1, tmp0, tmp0);
876 : }
877 :
878 15 : if (block1.is_used()) {
879 : compiler::TNode<Object> tmp1;
880 : compiler::TNode<Object> tmp2;
881 : ca_.Bind(&block1, &tmp1, &tmp2);
882 : ca_.Goto(&block2, tmp1, tmp2);
883 : }
884 :
885 : compiler::TNode<Object> tmp3;
886 : compiler::TNode<Object> tmp4;
887 : ca_.Bind(&block2, &tmp3, &tmp4);
888 30 : return compiler::TNode<Object>{tmp4};
889 : }
890 :
891 10 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::GenericMacroTestWithLabels20UT5ATSmi10HeapObject(compiler::TNode<Object> p_param2, compiler::CodeAssemblerLabel* label_Y) {
892 10 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
893 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
894 : compiler::CodeAssemblerParameterizedLabel<Object, Object, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
895 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
896 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
897 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
898 : ca_.Goto(&block0, p_param2);
899 :
900 10 : if (block0.is_used()) {
901 : compiler::TNode<Object> tmp0;
902 : ca_.Bind(&block0, &tmp0);
903 : compiler::TNode<Smi> tmp1;
904 : USE(tmp1);
905 : compiler::CodeAssemblerLabel label0(&ca_);
906 30 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp0}, &label0);
907 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
908 10 : if (label0.is_used()) {
909 10 : ca_.Bind(&label0);
910 : ca_.Goto(&block4, tmp0, tmp0);
911 10 : }
912 : }
913 :
914 10 : if (block4.is_used()) {
915 : compiler::TNode<Object> tmp2;
916 : compiler::TNode<Object> tmp3;
917 : ca_.Bind(&block4, &tmp2, &tmp3);
918 : ca_.Goto(&block1);
919 : }
920 :
921 10 : if (block3.is_used()) {
922 : compiler::TNode<Object> tmp4;
923 : compiler::TNode<Object> tmp5;
924 : compiler::TNode<Smi> tmp6;
925 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
926 : ca_.Goto(&block2, tmp4, tmp6);
927 : }
928 :
929 10 : if (block2.is_used()) {
930 : compiler::TNode<Object> tmp7;
931 : compiler::TNode<Object> tmp8;
932 : ca_.Bind(&block2, &tmp7, &tmp8);
933 : ca_.Goto(&block5, tmp7, tmp8);
934 : }
935 :
936 10 : if (block1.is_used()) {
937 : ca_.Bind(&block1);
938 10 : ca_.Goto(label_Y);
939 : }
940 :
941 : compiler::TNode<Object> tmp9;
942 : compiler::TNode<Object> tmp10;
943 : ca_.Bind(&block5, &tmp9, &tmp10);
944 20 : return compiler::TNode<Object>{tmp10};
945 : }
946 :
947 5 : void TestBuiltinsFromDSLAssembler::TestMacroSpecialization() {
948 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
949 : compiler::CodeAssemblerParameterizedLabel<Smi> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
950 : compiler::CodeAssemblerParameterizedLabel<Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
951 : compiler::CodeAssemblerParameterizedLabel<Smi> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
952 : compiler::CodeAssemblerParameterizedLabel<Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
953 : compiler::CodeAssemblerParameterizedLabel<Smi> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
954 : compiler::CodeAssemblerParameterizedLabel<Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
955 : compiler::CodeAssemblerParameterizedLabel<Smi> block11(&ca_, compiler::CodeAssemblerLabel::kDeferred);
956 : compiler::CodeAssemblerParameterizedLabel<Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
957 : compiler::CodeAssemblerParameterizedLabel<Smi> block13(&ca_, compiler::CodeAssemblerLabel::kDeferred);
958 : compiler::CodeAssemblerParameterizedLabel<Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
959 : compiler::CodeAssemblerParameterizedLabel<Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
960 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
961 : compiler::CodeAssemblerParameterizedLabel<Smi> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
962 : compiler::CodeAssemblerParameterizedLabel<Smi> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
963 : compiler::CodeAssemblerParameterizedLabel<Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
964 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
965 : compiler::CodeAssemblerParameterizedLabel<Smi> block19(&ca_, compiler::CodeAssemblerLabel::kDeferred);
966 : compiler::CodeAssemblerParameterizedLabel<Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
967 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
968 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
969 : compiler::CodeAssemblerParameterizedLabel<Smi> block23(&ca_, compiler::CodeAssemblerLabel::kDeferred);
970 : compiler::CodeAssemblerParameterizedLabel<Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
971 : compiler::CodeAssemblerParameterizedLabel<Smi, Oddball> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
972 : compiler::CodeAssemblerParameterizedLabel<Smi, Oddball, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
973 : compiler::CodeAssemblerParameterizedLabel<Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
974 : compiler::CodeAssemblerParameterizedLabel<Smi> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
975 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
976 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
977 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
978 : compiler::CodeAssemblerParameterizedLabel<> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
979 : ca_.Goto(&block0);
980 :
981 5 : if (block0.is_used()) {
982 : ca_.Bind(&block0);
983 : compiler::TNode<Smi> tmp0;
984 : USE(tmp0);
985 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
986 : compiler::TNode<Smi> tmp1;
987 : USE(tmp1);
988 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
989 : compiler::TNode<Object> tmp2;
990 : USE(tmp2);
991 15 : tmp2 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).GenericMacroTest5ATSmi(compiler::TNode<Smi>{tmp1}));
992 : compiler::TNode<Oddball> tmp3;
993 : USE(tmp3);
994 15 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
995 : compiler::TNode<BoolT> tmp4;
996 : USE(tmp4);
997 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
998 5 : ca_.Branch(tmp4, &block4, &block5, tmp0);
999 : }
1000 :
1001 5 : if (block5.is_used()) {
1002 : compiler::TNode<Smi> tmp5;
1003 : ca_.Bind(&block5, &tmp5);
1004 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericMacroTest<Smi>(0) == Undefined\' failed", "../../test/torque/test-torque.tq", 152);
1005 : }
1006 :
1007 5 : if (block4.is_used()) {
1008 : compiler::TNode<Smi> tmp6;
1009 : ca_.Bind(&block4, &tmp6);
1010 : compiler::TNode<Smi> tmp7;
1011 : USE(tmp7);
1012 15 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1013 : compiler::TNode<Object> tmp8;
1014 : USE(tmp8);
1015 15 : tmp8 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).GenericMacroTest5ATSmi(compiler::TNode<Smi>{tmp7}));
1016 : compiler::TNode<Oddball> tmp9;
1017 : USE(tmp9);
1018 15 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1019 : compiler::TNode<BoolT> tmp10;
1020 : USE(tmp10);
1021 10 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<Object>{tmp9}));
1022 5 : ca_.Branch(tmp10, &block6, &block7, tmp6);
1023 : }
1024 :
1025 5 : if (block7.is_used()) {
1026 : compiler::TNode<Smi> tmp11;
1027 : ca_.Bind(&block7, &tmp11);
1028 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericMacroTest<Smi>(1) == Undefined\' failed", "../../test/torque/test-torque.tq", 153);
1029 : }
1030 :
1031 5 : if (block6.is_used()) {
1032 : compiler::TNode<Smi> tmp12;
1033 : ca_.Bind(&block6, &tmp12);
1034 : compiler::TNode<Oddball> tmp13;
1035 : USE(tmp13);
1036 15 : tmp13 = BaseBuiltinsFromDSLAssembler(state_).Null();
1037 : compiler::TNode<Object> tmp14;
1038 : USE(tmp14);
1039 15 : tmp14 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).GenericMacroTest20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp13}));
1040 : compiler::TNode<Oddball> tmp15;
1041 : USE(tmp15);
1042 15 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).Null();
1043 : compiler::TNode<BoolT> tmp16;
1044 : USE(tmp16);
1045 10 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<Object>{tmp15}));
1046 5 : ca_.Branch(tmp16, &block8, &block9, tmp12);
1047 : }
1048 :
1049 5 : if (block9.is_used()) {
1050 : compiler::TNode<Smi> tmp17;
1051 : ca_.Bind(&block9, &tmp17);
1052 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericMacroTest<Object>(Null) == Null\' failed", "../../test/torque/test-torque.tq", 154);
1053 : }
1054 :
1055 5 : if (block8.is_used()) {
1056 : compiler::TNode<Smi> tmp18;
1057 : ca_.Bind(&block8, &tmp18);
1058 : compiler::TNode<Oddball> tmp19;
1059 : USE(tmp19);
1060 15 : tmp19 = BaseBuiltinsFromDSLAssembler(state_).False();
1061 : compiler::TNode<Object> tmp20;
1062 : USE(tmp20);
1063 15 : tmp20 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).GenericMacroTest20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp19}));
1064 : compiler::TNode<Oddball> tmp21;
1065 : USE(tmp21);
1066 15 : tmp21 = BaseBuiltinsFromDSLAssembler(state_).False();
1067 : compiler::TNode<BoolT> tmp22;
1068 : USE(tmp22);
1069 10 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp20}, compiler::TNode<Object>{tmp21}));
1070 5 : ca_.Branch(tmp22, &block10, &block11, tmp18);
1071 : }
1072 :
1073 5 : if (block11.is_used()) {
1074 : compiler::TNode<Smi> tmp23;
1075 : ca_.Bind(&block11, &tmp23);
1076 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericMacroTest<Object>(False) == False\' failed", "../../test/torque/test-torque.tq", 155);
1077 : }
1078 :
1079 5 : if (block10.is_used()) {
1080 : compiler::TNode<Smi> tmp24;
1081 : ca_.Bind(&block10, &tmp24);
1082 : compiler::TNode<Oddball> tmp25;
1083 : USE(tmp25);
1084 15 : tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
1085 : compiler::TNode<Object> tmp26;
1086 : USE(tmp26);
1087 15 : tmp26 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).GenericMacroTest20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp25}));
1088 : compiler::TNode<Oddball> tmp27;
1089 : USE(tmp27);
1090 15 : tmp27 = BaseBuiltinsFromDSLAssembler(state_).True();
1091 : compiler::TNode<BoolT> tmp28;
1092 : USE(tmp28);
1093 10 : tmp28 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp26}, compiler::TNode<Object>{tmp27}));
1094 5 : ca_.Branch(tmp28, &block12, &block13, tmp24);
1095 : }
1096 :
1097 5 : if (block13.is_used()) {
1098 : compiler::TNode<Smi> tmp29;
1099 : ca_.Bind(&block13, &tmp29);
1100 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'GenericMacroTest<Object>(True) == True\' failed", "../../test/torque/test-torque.tq", 156);
1101 : }
1102 :
1103 5 : if (block12.is_used()) {
1104 : compiler::TNode<Smi> tmp30;
1105 : ca_.Bind(&block12, &tmp30);
1106 : compiler::TNode<Smi> tmp31;
1107 : USE(tmp31);
1108 15 : tmp31 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1109 : compiler::TNode<Object> tmp32;
1110 : USE(tmp32);
1111 : compiler::CodeAssemblerLabel label0(&ca_);
1112 15 : tmp32 = TestBuiltinsFromDSLAssembler(state_).GenericMacroTestWithLabels5ATSmi(compiler::TNode<Smi>{tmp31}, &label0);
1113 : ca_.Goto(&block16, tmp30, tmp32);
1114 5 : if (label0.is_used()) {
1115 0 : ca_.Bind(&label0);
1116 : ca_.Goto(&block17, tmp30);
1117 5 : }
1118 : }
1119 :
1120 5 : if (block17.is_used()) {
1121 : compiler::TNode<Smi> tmp33;
1122 : ca_.Bind(&block17, &tmp33);
1123 : ca_.Goto(&block3);
1124 : }
1125 :
1126 5 : if (block16.is_used()) {
1127 : compiler::TNode<Smi> tmp34;
1128 : compiler::TNode<Object> tmp35;
1129 : ca_.Bind(&block16, &tmp34, &tmp35);
1130 : compiler::TNode<Oddball> tmp36;
1131 : USE(tmp36);
1132 15 : tmp36 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1133 : compiler::TNode<BoolT> tmp37;
1134 : USE(tmp37);
1135 10 : tmp37 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp35}, compiler::TNode<Object>{tmp36}));
1136 5 : ca_.Branch(tmp37, &block14, &block15, tmp34);
1137 : }
1138 :
1139 5 : if (block15.is_used()) {
1140 : compiler::TNode<Smi> tmp38;
1141 : ca_.Bind(&block15, &tmp38);
1142 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'(GenericMacroTestWithLabels<Smi>(0) otherwise Fail) == Undefined\' failed", "../../test/torque/test-torque.tq", 157);
1143 : }
1144 :
1145 5 : if (block14.is_used()) {
1146 : compiler::TNode<Smi> tmp39;
1147 : ca_.Bind(&block14, &tmp39);
1148 : compiler::TNode<Smi> tmp40;
1149 : USE(tmp40);
1150 15 : tmp40 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1151 : compiler::TNode<Object> tmp41;
1152 : USE(tmp41);
1153 : compiler::CodeAssemblerLabel label0(&ca_);
1154 15 : tmp41 = TestBuiltinsFromDSLAssembler(state_).GenericMacroTestWithLabels5ATSmi(compiler::TNode<Smi>{tmp40}, &label0);
1155 : ca_.Goto(&block20, tmp39, tmp41);
1156 5 : if (label0.is_used()) {
1157 0 : ca_.Bind(&label0);
1158 : ca_.Goto(&block21, tmp39);
1159 5 : }
1160 : }
1161 :
1162 5 : if (block21.is_used()) {
1163 : compiler::TNode<Smi> tmp42;
1164 : ca_.Bind(&block21, &tmp42);
1165 : ca_.Goto(&block3);
1166 : }
1167 :
1168 5 : if (block20.is_used()) {
1169 : compiler::TNode<Smi> tmp43;
1170 : compiler::TNode<Object> tmp44;
1171 : ca_.Bind(&block20, &tmp43, &tmp44);
1172 : compiler::TNode<Oddball> tmp45;
1173 : USE(tmp45);
1174 15 : tmp45 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1175 : compiler::TNode<BoolT> tmp46;
1176 : USE(tmp46);
1177 10 : tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp44}, compiler::TNode<Object>{tmp45}));
1178 5 : ca_.Branch(tmp46, &block18, &block19, tmp43);
1179 : }
1180 :
1181 5 : if (block19.is_used()) {
1182 : compiler::TNode<Smi> tmp47;
1183 : ca_.Bind(&block19, &tmp47);
1184 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'(GenericMacroTestWithLabels<Smi>(0) otherwise Fail) == Undefined\' failed", "../../test/torque/test-torque.tq", 158);
1185 : }
1186 :
1187 5 : if (block18.is_used()) {
1188 : compiler::TNode<Smi> tmp48;
1189 : ca_.Bind(&block18, &tmp48);
1190 : compiler::TNode<Object> tmp49;
1191 : USE(tmp49);
1192 : compiler::CodeAssemblerLabel label0(&ca_);
1193 15 : tmp49 = TestBuiltinsFromDSLAssembler(state_).GenericMacroTestWithLabels20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp48}, &label0);
1194 : ca_.Goto(&block24, tmp48, tmp48, tmp49);
1195 5 : if (label0.is_used()) {
1196 5 : ca_.Bind(&label0);
1197 : ca_.Goto(&block25, tmp48, tmp48);
1198 5 : }
1199 : }
1200 :
1201 5 : if (block25.is_used()) {
1202 : compiler::TNode<Smi> tmp50;
1203 : compiler::TNode<Smi> tmp51;
1204 : ca_.Bind(&block25, &tmp50, &tmp51);
1205 : ca_.Goto(&block3);
1206 : }
1207 :
1208 5 : if (block24.is_used()) {
1209 : compiler::TNode<Smi> tmp52;
1210 : compiler::TNode<Smi> tmp53;
1211 : compiler::TNode<Object> tmp54;
1212 : ca_.Bind(&block24, &tmp52, &tmp53, &tmp54);
1213 : compiler::TNode<BoolT> tmp55;
1214 : USE(tmp55);
1215 10 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp54}, compiler::TNode<Object>{tmp52}));
1216 5 : ca_.Branch(tmp55, &block22, &block23, tmp52);
1217 : }
1218 :
1219 5 : if (block23.is_used()) {
1220 : compiler::TNode<Smi> tmp56;
1221 : ca_.Bind(&block23, &tmp56);
1222 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'(GenericMacroTestWithLabels<Object>(smi0) otherwise Fail) == smi0\' failed", "../../test/torque/test-torque.tq", 159);
1223 : }
1224 :
1225 5 : if (block22.is_used()) {
1226 : compiler::TNode<Smi> tmp57;
1227 : ca_.Bind(&block22, &tmp57);
1228 : compiler::TNode<Oddball> tmp58;
1229 : USE(tmp58);
1230 15 : tmp58 = BaseBuiltinsFromDSLAssembler(state_).False();
1231 : compiler::TNode<Object> tmp59;
1232 : USE(tmp59);
1233 : compiler::CodeAssemblerLabel label0(&ca_);
1234 15 : tmp59 = TestBuiltinsFromDSLAssembler(state_).GenericMacroTestWithLabels20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp58}, &label0);
1235 : ca_.Goto(&block28, tmp57, tmp58, tmp59);
1236 5 : if (label0.is_used()) {
1237 5 : ca_.Bind(&label0);
1238 : ca_.Goto(&block29, tmp57, tmp58);
1239 5 : }
1240 : }
1241 :
1242 5 : if (block29.is_used()) {
1243 : compiler::TNode<Smi> tmp60;
1244 : compiler::TNode<Oddball> tmp61;
1245 : ca_.Bind(&block29, &tmp60, &tmp61);
1246 : ca_.Goto(&block27, tmp60);
1247 : }
1248 :
1249 5 : if (block28.is_used()) {
1250 : compiler::TNode<Smi> tmp62;
1251 : compiler::TNode<Oddball> tmp63;
1252 : compiler::TNode<Object> tmp64;
1253 : ca_.Bind(&block28, &tmp62, &tmp63, &tmp64);
1254 : ca_.Goto(&block26, tmp62);
1255 : }
1256 :
1257 5 : if (block27.is_used()) {
1258 : compiler::TNode<Smi> tmp65;
1259 : ca_.Bind(&block27, &tmp65);
1260 : ca_.Goto(&block26, tmp65);
1261 : }
1262 :
1263 5 : if (block26.is_used()) {
1264 : compiler::TNode<Smi> tmp66;
1265 : ca_.Bind(&block26, &tmp66);
1266 : ca_.Goto(&block2);
1267 : }
1268 :
1269 5 : if (block3.is_used()) {
1270 : ca_.Bind(&block3);
1271 10 : CodeStubAssembler(state_).Unreachable();
1272 : }
1273 :
1274 5 : if (block2.is_used()) {
1275 : ca_.Bind(&block2);
1276 : ca_.Goto(&block1);
1277 : }
1278 :
1279 5 : if (block1.is_used()) {
1280 : ca_.Bind(&block1);
1281 : ca_.Goto(&block30);
1282 : }
1283 :
1284 : ca_.Bind(&block30);
1285 5 : }
1286 :
1287 224 : TF_BUILTIN(TestHelperPlus1, CodeStubAssembler) {
1288 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1289 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1290 : USE(parameter0);
1291 : compiler::TNode<Smi> parameter1 = UncheckedCast<Smi>(Parameter(Descriptor::kX));
1292 : USE(parameter1);
1293 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1294 : ca_.Goto(&block0, parameter0, parameter1);
1295 :
1296 56 : if (block0.is_used()) {
1297 : compiler::TNode<Context> tmp0;
1298 : compiler::TNode<Smi> tmp1;
1299 : ca_.Bind(&block0, &tmp0, &tmp1);
1300 : compiler::TNode<Smi> tmp2;
1301 : USE(tmp2);
1302 112 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1303 : compiler::TNode<Smi> tmp3;
1304 : USE(tmp3);
1305 112 : tmp3 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{tmp2}));
1306 112 : CodeStubAssembler(state_).Return(tmp3);
1307 56 : }
1308 56 : }
1309 :
1310 224 : TF_BUILTIN(TestHelperPlus2, CodeStubAssembler) {
1311 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1312 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1313 : USE(parameter0);
1314 : compiler::TNode<Smi> parameter1 = UncheckedCast<Smi>(Parameter(Descriptor::kX));
1315 : USE(parameter1);
1316 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1317 : ca_.Goto(&block0, parameter0, parameter1);
1318 :
1319 56 : if (block0.is_used()) {
1320 : compiler::TNode<Context> tmp0;
1321 : compiler::TNode<Smi> tmp1;
1322 : ca_.Bind(&block0, &tmp0, &tmp1);
1323 : compiler::TNode<Smi> tmp2;
1324 : USE(tmp2);
1325 112 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(2));
1326 : compiler::TNode<Smi> tmp3;
1327 : USE(tmp3);
1328 112 : tmp3 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{tmp2}));
1329 112 : CodeStubAssembler(state_).Return(tmp3);
1330 56 : }
1331 56 : }
1332 :
1333 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestFunctionPointers(compiler::TNode<Context> p_context) {
1334 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1335 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1336 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1337 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1338 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1339 : compiler::CodeAssemblerParameterizedLabel<Context, Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1340 : compiler::CodeAssemblerParameterizedLabel<Context, Oddball> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1341 : ca_.Goto(&block0, p_context);
1342 :
1343 5 : if (block0.is_used()) {
1344 : compiler::TNode<Context> tmp0;
1345 : ca_.Bind(&block0, &tmp0);
1346 : compiler::TNode<Smi> tmp1;
1347 : USE(tmp1);
1348 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(42));
1349 25 : compiler::TNode<Smi> tmp2 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(8)).descriptor(), ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kTestHelperPlus1)), tmp0, tmp1));
1350 : USE(tmp2);
1351 : compiler::TNode<Smi> tmp3;
1352 : USE(tmp3);
1353 15 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(43));
1354 : compiler::TNode<BoolT> tmp4;
1355 : USE(tmp4);
1356 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp3}));
1357 5 : ca_.Branch(tmp4, &block2, &block3, tmp0, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kTestHelperPlus1)));
1358 : }
1359 :
1360 5 : if (block3.is_used()) {
1361 : compiler::TNode<Context> tmp5;
1362 : compiler::TNode<BuiltinPtr> tmp6;
1363 : ca_.Bind(&block3, &tmp5, &tmp6);
1364 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr(context, 42) == 43\' failed", "../../test/torque/test-torque.tq", 179);
1365 : }
1366 :
1367 5 : if (block2.is_used()) {
1368 : compiler::TNode<Context> tmp7;
1369 : compiler::TNode<BuiltinPtr> tmp8;
1370 : ca_.Bind(&block2, &tmp7, &tmp8);
1371 : compiler::TNode<Smi> tmp9;
1372 : USE(tmp9);
1373 15 : tmp9 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(42));
1374 25 : compiler::TNode<Smi> tmp10 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(8)).descriptor(), ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kTestHelperPlus2)), tmp7, tmp9));
1375 : USE(tmp10);
1376 : compiler::TNode<Smi> tmp11;
1377 : USE(tmp11);
1378 15 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(44));
1379 : compiler::TNode<BoolT> tmp12;
1380 : USE(tmp12);
1381 10 : tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp11}));
1382 5 : ca_.Branch(tmp12, &block4, &block5, tmp7, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kTestHelperPlus2)));
1383 : }
1384 :
1385 5 : if (block5.is_used()) {
1386 : compiler::TNode<Context> tmp13;
1387 : compiler::TNode<BuiltinPtr> tmp14;
1388 : ca_.Bind(&block5, &tmp13, &tmp14);
1389 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr(context, 42) == 44\' failed", "../../test/torque/test-torque.tq", 181);
1390 : }
1391 :
1392 5 : if (block4.is_used()) {
1393 : compiler::TNode<Context> tmp15;
1394 : compiler::TNode<BuiltinPtr> tmp16;
1395 : ca_.Bind(&block4, &tmp15, &tmp16);
1396 : compiler::TNode<Oddball> tmp17;
1397 : USE(tmp17);
1398 15 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).True();
1399 : ca_.Goto(&block1, tmp15, tmp17);
1400 : }
1401 :
1402 5 : if (block1.is_used()) {
1403 : compiler::TNode<Context> tmp18;
1404 : compiler::TNode<Oddball> tmp19;
1405 : ca_.Bind(&block1, &tmp18, &tmp19);
1406 : ca_.Goto(&block6, tmp18, tmp19);
1407 : }
1408 :
1409 : compiler::TNode<Context> tmp20;
1410 : compiler::TNode<Oddball> tmp21;
1411 : ca_.Bind(&block6, &tmp20, &tmp21);
1412 10 : return compiler::TNode<Oddball>{tmp21};
1413 : }
1414 :
1415 0 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestVariableRedeclaration(compiler::TNode<Context> p_context) {
1416 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1417 : compiler::CodeAssemblerParameterizedLabel<Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1418 : compiler::CodeAssemblerParameterizedLabel<Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1419 : compiler::CodeAssemblerParameterizedLabel<Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1420 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1421 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1422 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1423 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1424 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1425 : compiler::CodeAssemblerParameterizedLabel<Context, Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1426 : compiler::CodeAssemblerParameterizedLabel<Context, Oddball> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1427 : ca_.Goto(&block0, p_context);
1428 :
1429 0 : if (block0.is_used()) {
1430 : compiler::TNode<Context> tmp0;
1431 : ca_.Bind(&block0, &tmp0);
1432 : compiler::TNode<BoolT> tmp1;
1433 : USE(tmp1);
1434 0 : tmp1 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((CodeStubAssembler(state_).ConstexprInt31Equal(42, 0))));
1435 0 : ca_.Branch(tmp1, &block2, &block3, tmp0);
1436 : }
1437 :
1438 0 : if (block2.is_used()) {
1439 : compiler::TNode<Context> tmp2;
1440 : ca_.Bind(&block2, &tmp2);
1441 : ca_.Goto(&block5, tmp2);
1442 : }
1443 :
1444 0 : if (block3.is_used()) {
1445 : compiler::TNode<Context> tmp3;
1446 : ca_.Bind(&block3, &tmp3);
1447 : compiler::TNode<Int32T> tmp4;
1448 : USE(tmp4);
1449 0 : tmp4 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3117ATconstexpr_int31(1));
1450 : ca_.Goto(&block4, tmp3, tmp4);
1451 : }
1452 :
1453 0 : if (block5.is_used()) {
1454 : compiler::TNode<Context> tmp5;
1455 : ca_.Bind(&block5, &tmp5);
1456 : compiler::TNode<Int32T> tmp6;
1457 : USE(tmp6);
1458 0 : tmp6 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3117ATconstexpr_int31(0));
1459 : ca_.Goto(&block4, tmp5, tmp6);
1460 : }
1461 :
1462 0 : if (block4.is_used()) {
1463 : compiler::TNode<Context> tmp7;
1464 : compiler::TNode<Int32T> tmp8;
1465 : ca_.Bind(&block4, &tmp7, &tmp8);
1466 : compiler::TNode<BoolT> tmp9;
1467 : USE(tmp9);
1468 0 : tmp9 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool((CodeStubAssembler(state_).ConstexprInt31Equal(42, 0))));
1469 0 : ca_.Branch(tmp9, &block6, &block7, tmp7, tmp8);
1470 : }
1471 :
1472 0 : if (block6.is_used()) {
1473 : compiler::TNode<Context> tmp10;
1474 : compiler::TNode<Int32T> tmp11;
1475 : ca_.Bind(&block6, &tmp10, &tmp11);
1476 : ca_.Goto(&block9, tmp10, tmp11);
1477 : }
1478 :
1479 0 : if (block7.is_used()) {
1480 : compiler::TNode<Context> tmp12;
1481 : compiler::TNode<Int32T> tmp13;
1482 : ca_.Bind(&block7, &tmp12, &tmp13);
1483 : compiler::TNode<Int32T> tmp14;
1484 : USE(tmp14);
1485 0 : tmp14 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3117ATconstexpr_int31(0));
1486 : ca_.Goto(&block8, tmp12, tmp13, tmp14);
1487 : }
1488 :
1489 0 : if (block9.is_used()) {
1490 : compiler::TNode<Context> tmp15;
1491 : compiler::TNode<Int32T> tmp16;
1492 : ca_.Bind(&block9, &tmp15, &tmp16);
1493 : compiler::TNode<Int32T> tmp17;
1494 : USE(tmp17);
1495 0 : tmp17 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3117ATconstexpr_int31(1));
1496 : ca_.Goto(&block8, tmp15, tmp16, tmp17);
1497 : }
1498 :
1499 0 : if (block8.is_used()) {
1500 : compiler::TNode<Context> tmp18;
1501 : compiler::TNode<Int32T> tmp19;
1502 : compiler::TNode<Int32T> tmp20;
1503 : ca_.Bind(&block8, &tmp18, &tmp19, &tmp20);
1504 : compiler::TNode<Oddball> tmp21;
1505 : USE(tmp21);
1506 0 : tmp21 = BaseBuiltinsFromDSLAssembler(state_).True();
1507 : ca_.Goto(&block1, tmp18, tmp21);
1508 : }
1509 :
1510 0 : if (block1.is_used()) {
1511 : compiler::TNode<Context> tmp22;
1512 : compiler::TNode<Oddball> tmp23;
1513 : ca_.Bind(&block1, &tmp22, &tmp23);
1514 : ca_.Goto(&block10, tmp22, tmp23);
1515 : }
1516 :
1517 : compiler::TNode<Context> tmp24;
1518 : compiler::TNode<Oddball> tmp25;
1519 : ca_.Bind(&block10, &tmp24, &tmp25);
1520 0 : return compiler::TNode<Oddball>{tmp25};
1521 : }
1522 :
1523 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestTernaryOperator(compiler::TNode<Smi> p_x) {
1524 5 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1525 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1526 : compiler::CodeAssemblerParameterizedLabel<Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1527 : compiler::CodeAssemblerParameterizedLabel<Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1528 : compiler::CodeAssemblerParameterizedLabel<Smi, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1529 : compiler::CodeAssemblerParameterizedLabel<Smi, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1530 : compiler::CodeAssemblerParameterizedLabel<Smi, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1531 : compiler::CodeAssemblerParameterizedLabel<Smi, BoolT, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1532 : compiler::CodeAssemblerParameterizedLabel<Smi, BoolT, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1533 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1534 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1535 : ca_.Goto(&block0, p_x);
1536 :
1537 5 : if (block0.is_used()) {
1538 : compiler::TNode<Smi> tmp0;
1539 : ca_.Bind(&block0, &tmp0);
1540 : compiler::TNode<Smi> tmp1;
1541 : USE(tmp1);
1542 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1543 : compiler::TNode<BoolT> tmp2;
1544 : USE(tmp2);
1545 10 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp0}, compiler::TNode<Smi>{tmp1}));
1546 5 : ca_.Branch(tmp2, &block2, &block3, tmp0);
1547 : }
1548 :
1549 5 : if (block2.is_used()) {
1550 : compiler::TNode<Smi> tmp3;
1551 : ca_.Bind(&block2, &tmp3);
1552 : ca_.Goto(&block5, tmp3);
1553 : }
1554 :
1555 5 : if (block3.is_used()) {
1556 : compiler::TNode<Smi> tmp4;
1557 : ca_.Bind(&block3, &tmp4);
1558 : compiler::TNode<BoolT> tmp5;
1559 : USE(tmp5);
1560 15 : tmp5 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
1561 : ca_.Goto(&block4, tmp4, tmp5);
1562 : }
1563 :
1564 5 : if (block5.is_used()) {
1565 : compiler::TNode<Smi> tmp6;
1566 : ca_.Bind(&block5, &tmp6);
1567 : compiler::TNode<BoolT> tmp7;
1568 : USE(tmp7);
1569 15 : tmp7 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
1570 : ca_.Goto(&block4, tmp6, tmp7);
1571 : }
1572 :
1573 5 : if (block4.is_used()) {
1574 : compiler::TNode<Smi> tmp8;
1575 : compiler::TNode<BoolT> tmp9;
1576 : ca_.Bind(&block4, &tmp8, &tmp9);
1577 5 : ca_.Branch(tmp9, &block6, &block7, tmp8, tmp9);
1578 : }
1579 :
1580 5 : if (block6.is_used()) {
1581 : compiler::TNode<Smi> tmp10;
1582 : compiler::TNode<BoolT> tmp11;
1583 : ca_.Bind(&block6, &tmp10, &tmp11);
1584 : compiler::TNode<Smi> tmp12;
1585 : USE(tmp12);
1586 15 : tmp12 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
1587 : compiler::TNode<Smi> tmp13;
1588 : USE(tmp13);
1589 10 : tmp13 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp12}));
1590 : ca_.Goto(&block9, tmp10, tmp11, tmp13);
1591 : }
1592 :
1593 5 : if (block7.is_used()) {
1594 : compiler::TNode<Smi> tmp14;
1595 : compiler::TNode<BoolT> tmp15;
1596 : ca_.Bind(&block7, &tmp14, &tmp15);
1597 : compiler::TNode<Smi> tmp16;
1598 : USE(tmp16);
1599 15 : tmp16 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(100));
1600 : compiler::TNode<Smi> tmp17;
1601 : USE(tmp17);
1602 10 : tmp17 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp14}, compiler::TNode<Smi>{tmp16}));
1603 : ca_.Goto(&block8, tmp14, tmp15, tmp17);
1604 : }
1605 :
1606 5 : if (block9.is_used()) {
1607 : compiler::TNode<Smi> tmp18;
1608 : compiler::TNode<BoolT> tmp19;
1609 : compiler::TNode<Smi> tmp20;
1610 : ca_.Bind(&block9, &tmp18, &tmp19, &tmp20);
1611 : ca_.Goto(&block8, tmp18, tmp19, tmp20);
1612 : }
1613 :
1614 5 : if (block8.is_used()) {
1615 : compiler::TNode<Smi> tmp21;
1616 : compiler::TNode<BoolT> tmp22;
1617 : compiler::TNode<Smi> tmp23;
1618 : ca_.Bind(&block8, &tmp21, &tmp22, &tmp23);
1619 : ca_.Goto(&block1, tmp21, tmp23);
1620 : }
1621 :
1622 5 : if (block1.is_used()) {
1623 : compiler::TNode<Smi> tmp24;
1624 : compiler::TNode<Smi> tmp25;
1625 : ca_.Bind(&block1, &tmp24, &tmp25);
1626 : ca_.Goto(&block10, tmp24, tmp25);
1627 : }
1628 :
1629 : compiler::TNode<Smi> tmp26;
1630 : compiler::TNode<Smi> tmp27;
1631 : ca_.Bind(&block10, &tmp26, &tmp27);
1632 10 : return compiler::TNode<Smi>{tmp27};
1633 : }
1634 :
1635 5 : void TestBuiltinsFromDSLAssembler::TestFunctionPointerToGeneric(compiler::TNode<Context> p_c) {
1636 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1637 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1638 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1639 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1640 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1641 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1642 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1643 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1644 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1645 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1646 : compiler::CodeAssemblerParameterizedLabel<Context> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1647 : ca_.Goto(&block0, p_c);
1648 :
1649 5 : if (block0.is_used()) {
1650 : compiler::TNode<Context> tmp0;
1651 : ca_.Bind(&block0, &tmp0);
1652 : compiler::TNode<Smi> tmp1;
1653 : USE(tmp1);
1654 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1655 25 : compiler::TNode<Object> tmp2 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(9)).descriptor(), ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kGenericBuiltinTest5ATSmi)), tmp0, tmp1);
1656 : USE(tmp2);
1657 : compiler::TNode<Oddball> tmp3;
1658 : USE(tmp3);
1659 15 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Null();
1660 : compiler::TNode<BoolT> tmp4;
1661 : USE(tmp4);
1662 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
1663 5 : ca_.Branch(tmp4, &block2, &block3, tmp0, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kGenericBuiltinTest5ATSmi)), ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kGenericBuiltinTest20UT5ATSmi10HeapObject)));
1664 : }
1665 :
1666 5 : if (block3.is_used()) {
1667 : compiler::TNode<Context> tmp5;
1668 : compiler::TNode<BuiltinPtr> tmp6;
1669 : compiler::TNode<BuiltinPtr> tmp7;
1670 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7);
1671 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr1(c, 0) == Null\' failed", "../../test/torque/test-torque.tq", 200);
1672 : }
1673 :
1674 5 : if (block2.is_used()) {
1675 : compiler::TNode<Context> tmp8;
1676 : compiler::TNode<BuiltinPtr> tmp9;
1677 : compiler::TNode<BuiltinPtr> tmp10;
1678 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
1679 : compiler::TNode<Smi> tmp11;
1680 : USE(tmp11);
1681 15 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1682 25 : compiler::TNode<Object> tmp12 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(9)).descriptor(), tmp9, tmp8, tmp11);
1683 : USE(tmp12);
1684 : compiler::TNode<Oddball> tmp13;
1685 : USE(tmp13);
1686 15 : tmp13 = BaseBuiltinsFromDSLAssembler(state_).Null();
1687 : compiler::TNode<BoolT> tmp14;
1688 : USE(tmp14);
1689 10 : tmp14 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp12}, compiler::TNode<Object>{tmp13}));
1690 5 : ca_.Branch(tmp14, &block4, &block5, tmp8, tmp9, tmp10);
1691 : }
1692 :
1693 5 : if (block5.is_used()) {
1694 : compiler::TNode<Context> tmp15;
1695 : compiler::TNode<BuiltinPtr> tmp16;
1696 : compiler::TNode<BuiltinPtr> tmp17;
1697 : ca_.Bind(&block5, &tmp15, &tmp16, &tmp17);
1698 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr1(c, 1) == Null\' failed", "../../test/torque/test-torque.tq", 201);
1699 : }
1700 :
1701 5 : if (block4.is_used()) {
1702 : compiler::TNode<Context> tmp18;
1703 : compiler::TNode<BuiltinPtr> tmp19;
1704 : compiler::TNode<BuiltinPtr> tmp20;
1705 : ca_.Bind(&block4, &tmp18, &tmp19, &tmp20);
1706 : compiler::TNode<Oddball> tmp21;
1707 : USE(tmp21);
1708 15 : tmp21 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1709 25 : compiler::TNode<Object> tmp22 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(3)).descriptor(), tmp20, tmp18, tmp21);
1710 : USE(tmp22);
1711 : compiler::TNode<Oddball> tmp23;
1712 : USE(tmp23);
1713 15 : tmp23 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1714 : compiler::TNode<BoolT> tmp24;
1715 : USE(tmp24);
1716 10 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp22}, compiler::TNode<Object>{tmp23}));
1717 5 : ca_.Branch(tmp24, &block6, &block7, tmp18, tmp19, tmp20);
1718 : }
1719 :
1720 5 : if (block7.is_used()) {
1721 : compiler::TNode<Context> tmp25;
1722 : compiler::TNode<BuiltinPtr> tmp26;
1723 : compiler::TNode<BuiltinPtr> tmp27;
1724 : ca_.Bind(&block7, &tmp25, &tmp26, &tmp27);
1725 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr2(c, Undefined) == Undefined\' failed", "../../test/torque/test-torque.tq", 202);
1726 : }
1727 :
1728 5 : if (block6.is_used()) {
1729 : compiler::TNode<Context> tmp28;
1730 : compiler::TNode<BuiltinPtr> tmp29;
1731 : compiler::TNode<BuiltinPtr> tmp30;
1732 : ca_.Bind(&block6, &tmp28, &tmp29, &tmp30);
1733 : compiler::TNode<Oddball> tmp31;
1734 : USE(tmp31);
1735 15 : tmp31 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1736 25 : compiler::TNode<Object> tmp32 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(3)).descriptor(), tmp30, tmp28, tmp31);
1737 : USE(tmp32);
1738 : compiler::TNode<Oddball> tmp33;
1739 : USE(tmp33);
1740 15 : tmp33 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1741 : compiler::TNode<BoolT> tmp34;
1742 : USE(tmp34);
1743 10 : tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp32}, compiler::TNode<Object>{tmp33}));
1744 5 : ca_.Branch(tmp34, &block8, &block9, tmp28, tmp29, tmp30);
1745 : }
1746 :
1747 5 : if (block9.is_used()) {
1748 : compiler::TNode<Context> tmp35;
1749 : compiler::TNode<BuiltinPtr> tmp36;
1750 : compiler::TNode<BuiltinPtr> tmp37;
1751 : ca_.Bind(&block9, &tmp35, &tmp36, &tmp37);
1752 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'fptr2(c, Undefined) == Undefined\' failed", "../../test/torque/test-torque.tq", 203);
1753 : }
1754 :
1755 5 : if (block8.is_used()) {
1756 : compiler::TNode<Context> tmp38;
1757 : compiler::TNode<BuiltinPtr> tmp39;
1758 : compiler::TNode<BuiltinPtr> tmp40;
1759 : ca_.Bind(&block8, &tmp38, &tmp39, &tmp40);
1760 : ca_.Goto(&block1, tmp38);
1761 : }
1762 :
1763 5 : if (block1.is_used()) {
1764 : compiler::TNode<Context> tmp41;
1765 : ca_.Bind(&block1, &tmp41);
1766 : ca_.Goto(&block10, tmp41);
1767 : }
1768 :
1769 : compiler::TNode<Context> tmp42;
1770 : ca_.Bind(&block10, &tmp42);
1771 5 : }
1772 :
1773 0 : compiler::TNode<BuiltinPtr> TestBuiltinsFromDSLAssembler::TestTypeAlias(compiler::TNode<BuiltinPtr> p_x) {
1774 0 : compiler::CodeAssemblerParameterizedLabel<BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1775 : compiler::CodeAssemblerParameterizedLabel<BuiltinPtr, BuiltinPtr> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1776 : compiler::CodeAssemblerParameterizedLabel<BuiltinPtr, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1777 : ca_.Goto(&block0, p_x);
1778 :
1779 0 : if (block0.is_used()) {
1780 : compiler::TNode<BuiltinPtr> tmp0;
1781 : ca_.Bind(&block0, &tmp0);
1782 : ca_.Goto(&block1, tmp0, tmp0);
1783 : }
1784 :
1785 0 : if (block1.is_used()) {
1786 : compiler::TNode<BuiltinPtr> tmp1;
1787 : compiler::TNode<BuiltinPtr> tmp2;
1788 : ca_.Bind(&block1, &tmp1, &tmp2);
1789 : ca_.Goto(&block2, tmp1, tmp2);
1790 : }
1791 :
1792 : compiler::TNode<BuiltinPtr> tmp3;
1793 : compiler::TNode<BuiltinPtr> tmp4;
1794 : ca_.Bind(&block2, &tmp3, &tmp4);
1795 0 : return compiler::TNode<BuiltinPtr>{tmp4};
1796 : }
1797 :
1798 5 : compiler::TNode<Oddball> TestBuiltinsFromDSLAssembler::TestUnsafeCast(compiler::TNode<Context> p_context, compiler::TNode<Number> p_n) {
1799 5 : compiler::CodeAssemblerParameterizedLabel<Context, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1800 : compiler::CodeAssemblerParameterizedLabel<Context, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1801 : compiler::CodeAssemblerParameterizedLabel<Context, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1802 : compiler::CodeAssemblerParameterizedLabel<Context, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1803 : compiler::CodeAssemblerParameterizedLabel<Context, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1804 : compiler::CodeAssemblerParameterizedLabel<Context, Number, Oddball> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1805 : compiler::CodeAssemblerParameterizedLabel<Context, Number, Oddball> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1806 : ca_.Goto(&block0, p_context, p_n);
1807 :
1808 5 : if (block0.is_used()) {
1809 : compiler::TNode<Context> tmp0;
1810 : compiler::TNode<Number> tmp1;
1811 : ca_.Bind(&block0, &tmp0, &tmp1);
1812 : compiler::TNode<BoolT> tmp2;
1813 : USE(tmp2);
1814 10 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).TaggedIsSmi(compiler::TNode<Object>{tmp1}));
1815 5 : ca_.Branch(tmp2, &block2, &block3, tmp0, tmp1);
1816 : }
1817 :
1818 5 : if (block2.is_used()) {
1819 : compiler::TNode<Context> tmp3;
1820 : compiler::TNode<Number> tmp4;
1821 : ca_.Bind(&block2, &tmp3, &tmp4);
1822 : compiler::TNode<Smi> tmp5;
1823 : USE(tmp5);
1824 15 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp3}, compiler::TNode<Object>{tmp4}));
1825 : compiler::TNode<Smi> tmp6;
1826 10 : tmp6 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kTestHelperPlus1, tmp3, tmp5));
1827 : USE(tmp6);
1828 : compiler::TNode<Smi> tmp7;
1829 : USE(tmp7);
1830 15 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(11));
1831 : compiler::TNode<BoolT> tmp8;
1832 : USE(tmp8);
1833 10 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp6}, compiler::TNode<Smi>{tmp7}));
1834 5 : ca_.Branch(tmp8, &block4, &block5, tmp3, tmp4, tmp5);
1835 : }
1836 :
1837 5 : if (block5.is_used()) {
1838 : compiler::TNode<Context> tmp9;
1839 : compiler::TNode<Number> tmp10;
1840 : compiler::TNode<Smi> tmp11;
1841 : ca_.Bind(&block5, &tmp9, &tmp10, &tmp11);
1842 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestHelperPlus1(context, m) == 11\' failed", "../../test/torque/test-torque.tq", 215);
1843 : }
1844 :
1845 5 : if (block4.is_used()) {
1846 : compiler::TNode<Context> tmp12;
1847 : compiler::TNode<Number> tmp13;
1848 : compiler::TNode<Smi> tmp14;
1849 : ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
1850 : compiler::TNode<Oddball> tmp15;
1851 : USE(tmp15);
1852 15 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).True();
1853 : ca_.Goto(&block1, tmp12, tmp13, tmp15);
1854 : }
1855 :
1856 5 : if (block3.is_used()) {
1857 : compiler::TNode<Context> tmp16;
1858 : compiler::TNode<Number> tmp17;
1859 : ca_.Bind(&block3, &tmp16, &tmp17);
1860 : compiler::TNode<Oddball> tmp18;
1861 : USE(tmp18);
1862 15 : tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
1863 : ca_.Goto(&block1, tmp16, tmp17, tmp18);
1864 : }
1865 :
1866 5 : if (block1.is_used()) {
1867 : compiler::TNode<Context> tmp19;
1868 : compiler::TNode<Number> tmp20;
1869 : compiler::TNode<Oddball> tmp21;
1870 : ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
1871 : ca_.Goto(&block6, tmp19, tmp20, tmp21);
1872 : }
1873 :
1874 : compiler::TNode<Context> tmp22;
1875 : compiler::TNode<Number> tmp23;
1876 : compiler::TNode<Oddball> tmp24;
1877 : ca_.Bind(&block6, &tmp22, &tmp23, &tmp24);
1878 10 : return compiler::TNode<Oddball>{tmp24};
1879 : }
1880 :
1881 5 : void TestBuiltinsFromDSLAssembler::TestHexLiteral() {
1882 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1883 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1884 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1885 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1886 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1887 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1888 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1889 : ca_.Goto(&block0);
1890 :
1891 5 : if (block0.is_used()) {
1892 : ca_.Bind(&block0);
1893 : compiler::TNode<IntPtrT> tmp0;
1894 : USE(tmp0);
1895 15 : tmp0 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr17ATconstexpr_int31(0xffff));
1896 : compiler::TNode<IntPtrT> tmp1;
1897 : USE(tmp1);
1898 15 : tmp1 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1899 : compiler::TNode<IntPtrT> tmp2;
1900 : USE(tmp2);
1901 10 : tmp2 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp0}, compiler::TNode<IntPtrT>{tmp1}));
1902 : compiler::TNode<IntPtrT> tmp3;
1903 : USE(tmp3);
1904 15 : tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0x10000));
1905 : compiler::TNode<BoolT> tmp4;
1906 : USE(tmp4);
1907 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp2}, compiler::TNode<IntPtrT>{tmp3}));
1908 5 : ca_.Branch(tmp4, &block2, &block3);
1909 : }
1910 :
1911 5 : if (block3.is_used()) {
1912 : ca_.Bind(&block3);
1913 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'Convert<intptr>(0xffff) + 1 == 0x10000\' failed", "../../test/torque/test-torque.tq", 222);
1914 : }
1915 :
1916 5 : if (block2.is_used()) {
1917 : ca_.Bind(&block2);
1918 : compiler::TNode<IntPtrT> tmp5;
1919 : USE(tmp5);
1920 15 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr17ATconstexpr_int31(-0xffff));
1921 : compiler::TNode<IntPtrT> tmp6;
1922 : USE(tmp6);
1923 15 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(-65535));
1924 : compiler::TNode<BoolT> tmp7;
1925 : USE(tmp7);
1926 10 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp5}, compiler::TNode<IntPtrT>{tmp6}));
1927 5 : ca_.Branch(tmp7, &block4, &block5);
1928 : }
1929 :
1930 5 : if (block5.is_used()) {
1931 : ca_.Bind(&block5);
1932 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'Convert<intptr>(-0xffff) == -65535\' failed", "../../test/torque/test-torque.tq", 223);
1933 : }
1934 :
1935 5 : if (block4.is_used()) {
1936 : ca_.Bind(&block4);
1937 : ca_.Goto(&block1);
1938 : }
1939 :
1940 5 : if (block1.is_used()) {
1941 : ca_.Bind(&block1);
1942 : ca_.Goto(&block6);
1943 : }
1944 :
1945 : ca_.Bind(&block6);
1946 5 : }
1947 :
1948 0 : void TestBuiltinsFromDSLAssembler::TestLargeIntegerLiterals(compiler::TNode<Context> p_c) {
1949 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1950 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1951 : compiler::CodeAssemblerParameterizedLabel<Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1952 : ca_.Goto(&block0, p_c);
1953 :
1954 0 : if (block0.is_used()) {
1955 : compiler::TNode<Context> tmp0;
1956 : ca_.Bind(&block0, &tmp0);
1957 : compiler::TNode<Int32T> tmp1;
1958 : USE(tmp1);
1959 0 : tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int32(0x40000000));
1960 : compiler::TNode<Int32T> tmp2;
1961 : USE(tmp2);
1962 0 : tmp2 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int32(0x7fffffff));
1963 : ca_.Goto(&block1, tmp0);
1964 : }
1965 :
1966 0 : if (block1.is_used()) {
1967 : compiler::TNode<Context> tmp3;
1968 : ca_.Bind(&block1, &tmp3);
1969 : ca_.Goto(&block2, tmp3);
1970 : }
1971 :
1972 : compiler::TNode<Context> tmp4;
1973 : ca_.Bind(&block2, &tmp4);
1974 0 : }
1975 :
1976 0 : void TestBuiltinsFromDSLAssembler::TestMultilineAssert() {
1977 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1978 : compiler::CodeAssemblerParameterizedLabel<Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1979 : compiler::CodeAssemblerParameterizedLabel<Smi> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1980 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1981 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1982 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1983 : ca_.Goto(&block0);
1984 :
1985 0 : if (block0.is_used()) {
1986 : ca_.Bind(&block0);
1987 : compiler::TNode<Smi> tmp0;
1988 : USE(tmp0);
1989 0 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
1990 : compiler::TNode<Smi> tmp1;
1991 : USE(tmp1);
1992 0 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1993 : compiler::TNode<BoolT> tmp2;
1994 : USE(tmp2);
1995 0 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp0}, compiler::TNode<Smi>{tmp1}));
1996 0 : ca_.Branch(tmp2, &block4, &block3, tmp0);
1997 : }
1998 :
1999 0 : if (block4.is_used()) {
2000 : compiler::TNode<Smi> tmp3;
2001 : ca_.Bind(&block4, &tmp3);
2002 : compiler::TNode<Smi> tmp4;
2003 : USE(tmp4);
2004 0 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
2005 : compiler::TNode<BoolT> tmp5;
2006 : USE(tmp5);
2007 0 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp4}));
2008 0 : ca_.Branch(tmp5, &block2, &block3, tmp3);
2009 : }
2010 :
2011 0 : if (block3.is_used()) {
2012 : compiler::TNode<Smi> tmp6;
2013 : ca_.Bind(&block3, &tmp6);
2014 0 : CodeStubAssembler(state_).FailAssert("Torque assert \'someVeryLongVariableNameThatWillCauseLineBreaks > 0 && someVeryLongVariableNameThatWillCauseLineBreaks < 10\' failed", "../../test/torque/test-torque.tq", 233);
2015 : }
2016 :
2017 0 : if (block2.is_used()) {
2018 : compiler::TNode<Smi> tmp7;
2019 : ca_.Bind(&block2, &tmp7);
2020 : ca_.Goto(&block1);
2021 : }
2022 :
2023 0 : if (block1.is_used()) {
2024 : ca_.Bind(&block1);
2025 : ca_.Goto(&block5);
2026 : }
2027 :
2028 : ca_.Bind(&block5);
2029 0 : }
2030 :
2031 0 : void TestBuiltinsFromDSLAssembler::TestNewlineInString() {
2032 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2033 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2034 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2035 : ca_.Goto(&block0);
2036 :
2037 0 : if (block0.is_used()) {
2038 : ca_.Bind(&block0);
2039 0 : CodeStubAssembler(state_).Print("Hello, World!\n");
2040 : ca_.Goto(&block1);
2041 : }
2042 :
2043 0 : if (block1.is_used()) {
2044 : ca_.Bind(&block1);
2045 : ca_.Goto(&block2);
2046 : }
2047 :
2048 : ca_.Bind(&block2);
2049 0 : }
2050 :
2051 5 : int31_t TestBuiltinsFromDSLAssembler::kConstexprConst() {
2052 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2053 : ca_.Goto(&block0);
2054 :
2055 : ca_.Bind(&block0);
2056 10 : return 5;
2057 : }
2058 :
2059 5 : compiler::TNode<IntPtrT> TestBuiltinsFromDSLAssembler::kIntptrConst() {
2060 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2061 : ca_.Goto(&block0);
2062 :
2063 : ca_.Bind(&block0);
2064 : compiler::TNode<IntPtrT> tmp0;
2065 : USE(tmp0);
2066 15 : tmp0 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(4));
2067 10 : return compiler::TNode<IntPtrT>{tmp0};
2068 : }
2069 :
2070 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::kSmiConst() {
2071 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2072 : ca_.Goto(&block0);
2073 :
2074 : ca_.Bind(&block0);
2075 : compiler::TNode<Smi> tmp0;
2076 : USE(tmp0);
2077 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2078 10 : return compiler::TNode<Smi>{tmp0};
2079 : }
2080 :
2081 5 : void TestBuiltinsFromDSLAssembler::TestModuleConstBindings() {
2082 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2083 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2084 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2085 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2086 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2087 : compiler::CodeAssemblerParameterizedLabel<> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2088 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2089 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2090 : compiler::CodeAssemblerParameterizedLabel<> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2091 : ca_.Goto(&block0);
2092 :
2093 5 : if (block0.is_used()) {
2094 : ca_.Bind(&block0);
2095 : compiler::TNode<Int32T> tmp0;
2096 : USE(tmp0);
2097 10 : tmp0 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Constant(5));
2098 : compiler::TNode<Int32T> tmp1;
2099 : USE(tmp1);
2100 25 : tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(TestBuiltinsFromDSLAssembler(state_).kConstexprConst()));
2101 : compiler::TNode<BoolT> tmp2;
2102 : USE(tmp2);
2103 10 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Equal(compiler::TNode<Int32T>{tmp1}, compiler::TNode<Int32T>{tmp0}));
2104 5 : ca_.Branch(tmp2, &block2, &block3);
2105 : }
2106 :
2107 5 : if (block3.is_used()) {
2108 : ca_.Bind(&block3);
2109 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'kConstexprConst == Int32Constant(5)\' failed", "../../test/torque/test-torque.tq", 247);
2110 : }
2111 :
2112 5 : if (block2.is_used()) {
2113 : ca_.Bind(&block2);
2114 : compiler::TNode<IntPtrT> tmp3;
2115 : USE(tmp3);
2116 15 : tmp3 = TestBuiltinsFromDSLAssembler(state_).kIntptrConst();
2117 : compiler::TNode<IntPtrT> tmp4;
2118 : USE(tmp4);
2119 15 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(4));
2120 : compiler::TNode<BoolT> tmp5;
2121 : USE(tmp5);
2122 10 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}));
2123 5 : ca_.Branch(tmp5, &block4, &block5);
2124 : }
2125 :
2126 5 : if (block5.is_used()) {
2127 : ca_.Bind(&block5);
2128 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'kIntptrConst == 4\' failed", "../../test/torque/test-torque.tq", 248);
2129 : }
2130 :
2131 5 : if (block4.is_used()) {
2132 : ca_.Bind(&block4);
2133 : compiler::TNode<Smi> tmp6;
2134 : USE(tmp6);
2135 15 : tmp6 = TestBuiltinsFromDSLAssembler(state_).kSmiConst();
2136 : compiler::TNode<Smi> tmp7;
2137 : USE(tmp7);
2138 15 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2139 : compiler::TNode<BoolT> tmp8;
2140 : USE(tmp8);
2141 10 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp6}, compiler::TNode<Smi>{tmp7}));
2142 5 : ca_.Branch(tmp8, &block6, &block7);
2143 : }
2144 :
2145 5 : if (block7.is_used()) {
2146 : ca_.Bind(&block7);
2147 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'kSmiConst == 3\' failed", "../../test/torque/test-torque.tq", 249);
2148 : }
2149 :
2150 5 : if (block6.is_used()) {
2151 : ca_.Bind(&block6);
2152 : ca_.Goto(&block1);
2153 : }
2154 :
2155 5 : if (block1.is_used()) {
2156 : ca_.Bind(&block1);
2157 : ca_.Goto(&block8);
2158 : }
2159 :
2160 : ca_.Bind(&block8);
2161 5 : }
2162 :
2163 5 : void TestBuiltinsFromDSLAssembler::TestLocalConstBindings() {
2164 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2165 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2166 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2167 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2168 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2169 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2170 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2171 : compiler::CodeAssemblerParameterizedLabel<Smi> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2172 : compiler::CodeAssemblerParameterizedLabel<Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2173 : compiler::CodeAssemblerParameterizedLabel<Smi> block11(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2174 : compiler::CodeAssemblerParameterizedLabel<Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2175 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2176 : compiler::CodeAssemblerParameterizedLabel<> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2177 : ca_.Goto(&block0);
2178 :
2179 5 : if (block0.is_used()) {
2180 : ca_.Bind(&block0);
2181 : compiler::TNode<Smi> tmp0;
2182 : USE(tmp0);
2183 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2184 : compiler::TNode<Smi> tmp1;
2185 : USE(tmp1);
2186 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2187 : compiler::TNode<Smi> tmp2;
2188 : USE(tmp2);
2189 15 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2190 : compiler::TNode<Smi> tmp3;
2191 : USE(tmp3);
2192 10 : tmp3 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp1}));
2193 : compiler::TNode<Smi> tmp4;
2194 : USE(tmp4);
2195 15 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2196 : compiler::TNode<Smi> tmp5;
2197 : USE(tmp5);
2198 10 : tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp0}, compiler::TNode<Smi>{tmp4}));
2199 : compiler::TNode<BoolT> tmp6;
2200 : USE(tmp6);
2201 10 : tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp5}));
2202 5 : ca_.Branch(tmp6, &block2, &block3, tmp0, tmp3);
2203 : }
2204 :
2205 5 : if (block3.is_used()) {
2206 : compiler::TNode<Smi> tmp7;
2207 : compiler::TNode<Smi> tmp8;
2208 : ca_.Bind(&block3, &tmp7, &tmp8);
2209 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'x == xSmi + 1\' failed", "../../test/torque/test-torque.tq", 257);
2210 : }
2211 :
2212 5 : if (block2.is_used()) {
2213 : compiler::TNode<Smi> tmp9;
2214 : compiler::TNode<Smi> tmp10;
2215 : ca_.Bind(&block2, &tmp9, &tmp10);
2216 : compiler::TNode<BoolT> tmp11;
2217 : USE(tmp11);
2218 10 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp10}));
2219 5 : ca_.Branch(tmp11, &block4, &block5, tmp9, tmp10, tmp10);
2220 : }
2221 :
2222 5 : if (block5.is_used()) {
2223 : compiler::TNode<Smi> tmp12;
2224 : compiler::TNode<Smi> tmp13;
2225 : compiler::TNode<Smi> tmp14;
2226 : ca_.Bind(&block5, &tmp12, &tmp13, &tmp14);
2227 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'x == xSmi\' failed", "../../test/torque/test-torque.tq", 259);
2228 : }
2229 :
2230 5 : if (block4.is_used()) {
2231 : compiler::TNode<Smi> tmp15;
2232 : compiler::TNode<Smi> tmp16;
2233 : compiler::TNode<Smi> tmp17;
2234 : ca_.Bind(&block4, &tmp15, &tmp16, &tmp17);
2235 : compiler::TNode<Smi> tmp18;
2236 : USE(tmp18);
2237 15 : tmp18 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(4));
2238 : compiler::TNode<BoolT> tmp19;
2239 : USE(tmp19);
2240 10 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp18}));
2241 5 : ca_.Branch(tmp19, &block6, &block7, tmp15, tmp16, tmp17);
2242 : }
2243 :
2244 5 : if (block7.is_used()) {
2245 : compiler::TNode<Smi> tmp20;
2246 : compiler::TNode<Smi> tmp21;
2247 : compiler::TNode<Smi> tmp22;
2248 : ca_.Bind(&block7, &tmp20, &tmp21, &tmp22);
2249 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'x == 4\' failed", "../../test/torque/test-torque.tq", 260);
2250 : }
2251 :
2252 5 : if (block6.is_used()) {
2253 : compiler::TNode<Smi> tmp23;
2254 : compiler::TNode<Smi> tmp24;
2255 : compiler::TNode<Smi> tmp25;
2256 : ca_.Bind(&block6, &tmp23, &tmp24, &tmp25);
2257 : compiler::TNode<Smi> tmp26;
2258 : USE(tmp26);
2259 15 : tmp26 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2260 : compiler::TNode<BoolT> tmp27;
2261 : USE(tmp27);
2262 10 : tmp27 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp23}, compiler::TNode<Smi>{tmp26}));
2263 5 : ca_.Branch(tmp27, &block8, &block9, tmp23);
2264 : }
2265 :
2266 5 : if (block9.is_used()) {
2267 : compiler::TNode<Smi> tmp28;
2268 : ca_.Bind(&block9, &tmp28);
2269 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'xSmi == 3\' failed", "../../test/torque/test-torque.tq", 262);
2270 : }
2271 :
2272 5 : if (block8.is_used()) {
2273 : compiler::TNode<Smi> tmp29;
2274 : ca_.Bind(&block8, &tmp29);
2275 : compiler::TNode<Smi> tmp30;
2276 : USE(tmp30);
2277 15 : tmp30 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
2278 : compiler::TNode<BoolT> tmp31;
2279 : USE(tmp31);
2280 10 : tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp30}, compiler::TNode<Smi>{tmp29}));
2281 5 : ca_.Branch(tmp31, &block10, &block11, tmp29);
2282 : }
2283 :
2284 5 : if (block11.is_used()) {
2285 : compiler::TNode<Smi> tmp32;
2286 : ca_.Bind(&block11, &tmp32);
2287 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'x == xSmi\' failed", "../../test/torque/test-torque.tq", 263);
2288 : }
2289 :
2290 5 : if (block10.is_used()) {
2291 : compiler::TNode<Smi> tmp33;
2292 : ca_.Bind(&block10, &tmp33);
2293 : ca_.Goto(&block1);
2294 : }
2295 :
2296 5 : if (block1.is_used()) {
2297 : ca_.Bind(&block1);
2298 : ca_.Goto(&block12);
2299 : }
2300 :
2301 : ca_.Bind(&block12);
2302 5 : }
2303 :
2304 0 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestStruct1(TestBuiltinsFromDSLAssembler::TestStructA p_i) {
2305 0 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2306 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Number, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2307 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Number, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2308 : ca_.Goto(&block0, p_i.indexes, p_i.i, p_i.k);
2309 :
2310 0 : if (block0.is_used()) {
2311 : compiler::TNode<FixedArray> tmp0;
2312 : compiler::TNode<Smi> tmp1;
2313 : compiler::TNode<Number> tmp2;
2314 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
2315 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp1);
2316 : }
2317 :
2318 0 : if (block1.is_used()) {
2319 : compiler::TNode<FixedArray> tmp3;
2320 : compiler::TNode<Smi> tmp4;
2321 : compiler::TNode<Number> tmp5;
2322 : compiler::TNode<Smi> tmp6;
2323 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5, &tmp6);
2324 : ca_.Goto(&block2, tmp3, tmp4, tmp5, tmp6);
2325 : }
2326 :
2327 : compiler::TNode<FixedArray> tmp7;
2328 : compiler::TNode<Smi> tmp8;
2329 : compiler::TNode<Number> tmp9;
2330 : compiler::TNode<Smi> tmp10;
2331 : ca_.Bind(&block2, &tmp7, &tmp8, &tmp9, &tmp10);
2332 0 : return compiler::TNode<Smi>{tmp10};
2333 : }
2334 :
2335 0 : TestBuiltinsFromDSLAssembler::TestStructA TestBuiltinsFromDSLAssembler::TestStruct2(compiler::TNode<Context> p_context) {
2336 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2337 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2338 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number, FixedArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2339 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2340 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2341 : ca_.Goto(&block0, p_context);
2342 :
2343 0 : if (block0.is_used()) {
2344 : compiler::TNode<Context> tmp0;
2345 : ca_.Bind(&block0, &tmp0);
2346 : compiler::TNode<FixedArrayBase> tmp1;
2347 : USE(tmp1);
2348 0 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
2349 : compiler::TNode<FixedArray> tmp2;
2350 : USE(tmp2);
2351 0 : tmp2 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12ATFixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
2352 : compiler::TNode<Smi> tmp3;
2353 : USE(tmp3);
2354 0 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(27));
2355 : compiler::TNode<Number> tmp4;
2356 : USE(tmp4);
2357 0 : tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(31));
2358 : ca_.Goto(&block2, tmp0, tmp2, tmp3, tmp4, tmp2, tmp2, tmp3, tmp4, tmp2, tmp3, tmp4);
2359 : }
2360 :
2361 0 : if (block4.is_used()) {
2362 : compiler::TNode<Context> tmp5;
2363 : compiler::TNode<FixedArray> tmp6;
2364 : compiler::TNode<Smi> tmp7;
2365 : compiler::TNode<Number> tmp8;
2366 : compiler::TNode<FixedArray> tmp9;
2367 : compiler::TNode<FixedArray> tmp10;
2368 : compiler::TNode<Smi> tmp11;
2369 : compiler::TNode<Number> tmp12;
2370 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
2371 0 : CodeStubAssembler(state_).Unreachable();
2372 : }
2373 :
2374 0 : if (block2.is_used()) {
2375 : compiler::TNode<Context> tmp13;
2376 : compiler::TNode<FixedArray> tmp14;
2377 : compiler::TNode<Smi> tmp15;
2378 : compiler::TNode<Number> tmp16;
2379 : compiler::TNode<FixedArray> tmp17;
2380 : compiler::TNode<FixedArray> tmp18;
2381 : compiler::TNode<Smi> tmp19;
2382 : compiler::TNode<Number> tmp20;
2383 : compiler::TNode<FixedArray> tmp21;
2384 : compiler::TNode<Smi> tmp22;
2385 : compiler::TNode<Number> tmp23;
2386 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
2387 : ca_.Goto(&block1, tmp13, tmp21, tmp22, tmp23);
2388 : }
2389 :
2390 0 : if (block1.is_used()) {
2391 : compiler::TNode<Context> tmp24;
2392 : compiler::TNode<FixedArray> tmp25;
2393 : compiler::TNode<Smi> tmp26;
2394 : compiler::TNode<Number> tmp27;
2395 : ca_.Bind(&block1, &tmp24, &tmp25, &tmp26, &tmp27);
2396 : ca_.Goto(&block5, tmp24, tmp25, tmp26, tmp27);
2397 : }
2398 :
2399 : compiler::TNode<Context> tmp28;
2400 : compiler::TNode<FixedArray> tmp29;
2401 : compiler::TNode<Smi> tmp30;
2402 : compiler::TNode<Number> tmp31;
2403 : ca_.Bind(&block5, &tmp28, &tmp29, &tmp30, &tmp31);
2404 0 : return TestBuiltinsFromDSLAssembler::TestStructA{compiler::TNode<FixedArray>{tmp29}, compiler::TNode<Smi>{tmp30}, compiler::TNode<Number>{tmp31}};
2405 : }
2406 :
2407 0 : TestBuiltinsFromDSLAssembler::TestStructA TestBuiltinsFromDSLAssembler::TestStruct3(compiler::TNode<Context> p_context) {
2408 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2409 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2410 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number, FixedArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2411 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2412 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2413 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2414 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, Smi, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, FixedArray, Smi, Number, FixedArray, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2415 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2416 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2417 : ca_.Goto(&block0, p_context);
2418 :
2419 0 : if (block0.is_used()) {
2420 : compiler::TNode<Context> tmp0;
2421 : ca_.Bind(&block0, &tmp0);
2422 : compiler::TNode<FixedArrayBase> tmp1;
2423 : USE(tmp1);
2424 0 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
2425 : compiler::TNode<FixedArray> tmp2;
2426 : USE(tmp2);
2427 0 : tmp2 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12ATFixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
2428 : compiler::TNode<Smi> tmp3;
2429 : USE(tmp3);
2430 0 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(13));
2431 : compiler::TNode<Number> tmp4;
2432 : USE(tmp4);
2433 0 : tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(5));
2434 : ca_.Goto(&block2, tmp0, tmp2, tmp3, tmp4, tmp2, tmp2, tmp3, tmp4, tmp2, tmp3, tmp4);
2435 : }
2436 :
2437 0 : if (block4.is_used()) {
2438 : compiler::TNode<Context> tmp5;
2439 : compiler::TNode<FixedArray> tmp6;
2440 : compiler::TNode<Smi> tmp7;
2441 : compiler::TNode<Number> tmp8;
2442 : compiler::TNode<FixedArray> tmp9;
2443 : compiler::TNode<FixedArray> tmp10;
2444 : compiler::TNode<Smi> tmp11;
2445 : compiler::TNode<Number> tmp12;
2446 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
2447 0 : CodeStubAssembler(state_).Unreachable();
2448 : }
2449 :
2450 0 : if (block2.is_used()) {
2451 : compiler::TNode<Context> tmp13;
2452 : compiler::TNode<FixedArray> tmp14;
2453 : compiler::TNode<Smi> tmp15;
2454 : compiler::TNode<Number> tmp16;
2455 : compiler::TNode<FixedArray> tmp17;
2456 : compiler::TNode<FixedArray> tmp18;
2457 : compiler::TNode<Smi> tmp19;
2458 : compiler::TNode<Number> tmp20;
2459 : compiler::TNode<FixedArray> tmp21;
2460 : compiler::TNode<Smi> tmp22;
2461 : compiler::TNode<Number> tmp23;
2462 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
2463 : compiler::TNode<FixedArray> tmp24;
2464 : USE(tmp24);
2465 : compiler::TNode<Smi> tmp25;
2466 : USE(tmp25);
2467 : compiler::TNode<Number> tmp26;
2468 : USE(tmp26);
2469 0 : std::tie(tmp24, tmp25, tmp26) = TestBuiltinsFromDSLAssembler(state_).TestStruct2(compiler::TNode<Context>{tmp13}).Flatten();
2470 : compiler::TNode<Smi> tmp27;
2471 : USE(tmp27);
2472 0 : tmp27 = ca_.UncheckedCast<Smi>(TestBuiltinsFromDSLAssembler(state_).TestStruct1(TestBuiltinsFromDSLAssembler::TestStructA{compiler::TNode<FixedArray>{tmp24}, compiler::TNode<Smi>{tmp25}, compiler::TNode<Number>{tmp26}}));
2473 : compiler::TNode<Smi> tmp28;
2474 : USE(tmp28);
2475 0 : tmp28 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
2476 0 : ca_.Goto(&block5, tmp13, tmp21, tmp27, tmp27, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp21, tmp27, tmp27, ca_.Uninitialized<Smi>(), tmp21, tmp27, tmp27, tmp28, tmp21, tmp27, tmp27, tmp21, tmp27, tmp27, tmp28, tmp21, tmp27, tmp27, tmp28);
2477 : }
2478 :
2479 0 : if (block7.is_used()) {
2480 : compiler::TNode<Context> tmp29;
2481 : compiler::TNode<FixedArray> tmp30;
2482 : compiler::TNode<Smi> tmp31;
2483 : compiler::TNode<Number> tmp32;
2484 : compiler::TNode<FixedArray> tmp33;
2485 : compiler::TNode<Smi> tmp34;
2486 : compiler::TNode<Number> tmp35;
2487 : compiler::TNode<FixedArray> tmp36;
2488 : compiler::TNode<Smi> tmp37;
2489 : compiler::TNode<Number> tmp38;
2490 : compiler::TNode<FixedArray> tmp39;
2491 : compiler::TNode<Smi> tmp40;
2492 : compiler::TNode<Number> tmp41;
2493 : compiler::TNode<Smi> tmp42;
2494 : compiler::TNode<FixedArray> tmp43;
2495 : compiler::TNode<Smi> tmp44;
2496 : compiler::TNode<Number> tmp45;
2497 : compiler::TNode<Smi> tmp46;
2498 : compiler::TNode<FixedArray> tmp47;
2499 : compiler::TNode<Smi> tmp48;
2500 : compiler::TNode<Number> tmp49;
2501 : compiler::TNode<FixedArray> tmp50;
2502 : compiler::TNode<Smi> tmp51;
2503 : compiler::TNode<Number> tmp52;
2504 : compiler::TNode<Smi> tmp53;
2505 : ca_.Bind(&block7, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
2506 0 : CodeStubAssembler(state_).Unreachable();
2507 : }
2508 :
2509 0 : if (block5.is_used()) {
2510 : compiler::TNode<Context> tmp54;
2511 : compiler::TNode<FixedArray> tmp55;
2512 : compiler::TNode<Smi> tmp56;
2513 : compiler::TNode<Number> tmp57;
2514 : compiler::TNode<FixedArray> tmp58;
2515 : compiler::TNode<Smi> tmp59;
2516 : compiler::TNode<Number> tmp60;
2517 : compiler::TNode<FixedArray> tmp61;
2518 : compiler::TNode<Smi> tmp62;
2519 : compiler::TNode<Number> tmp63;
2520 : compiler::TNode<FixedArray> tmp64;
2521 : compiler::TNode<Smi> tmp65;
2522 : compiler::TNode<Number> tmp66;
2523 : compiler::TNode<Smi> tmp67;
2524 : compiler::TNode<FixedArray> tmp68;
2525 : compiler::TNode<Smi> tmp69;
2526 : compiler::TNode<Number> tmp70;
2527 : compiler::TNode<Smi> tmp71;
2528 : compiler::TNode<FixedArray> tmp72;
2529 : compiler::TNode<Smi> tmp73;
2530 : compiler::TNode<Number> tmp74;
2531 : compiler::TNode<FixedArray> tmp75;
2532 : compiler::TNode<Smi> tmp76;
2533 : compiler::TNode<Number> tmp77;
2534 : compiler::TNode<Smi> tmp78;
2535 : compiler::TNode<FixedArray> tmp79;
2536 : compiler::TNode<Smi> tmp80;
2537 : compiler::TNode<Number> tmp81;
2538 : compiler::TNode<Smi> tmp82;
2539 : ca_.Bind(&block5, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
2540 : compiler::TNode<FixedArrayBase> tmp83;
2541 : USE(tmp83);
2542 0 : tmp83 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
2543 : compiler::TNode<FixedArray> tmp84;
2544 : USE(tmp84);
2545 0 : tmp84 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12ATFixedArray(compiler::TNode<Context>{tmp54}, compiler::TNode<Object>{tmp83}));
2546 : compiler::TNode<Smi> tmp85;
2547 : USE(tmp85);
2548 0 : tmp85 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(27));
2549 : compiler::TNode<Number> tmp86;
2550 : USE(tmp86);
2551 0 : tmp86 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(31));
2552 : ca_.Goto(&block8, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp79, tmp80, tmp81, tmp82, tmp79, tmp80, tmp81, tmp84, tmp85, tmp86, tmp84, tmp84, tmp85, tmp86, tmp84, tmp85, tmp86);
2553 : }
2554 :
2555 0 : if (block10.is_used()) {
2556 : compiler::TNode<Context> tmp87;
2557 : compiler::TNode<FixedArray> tmp88;
2558 : compiler::TNode<Smi> tmp89;
2559 : compiler::TNode<Number> tmp90;
2560 : compiler::TNode<FixedArray> tmp91;
2561 : compiler::TNode<Smi> tmp92;
2562 : compiler::TNode<Number> tmp93;
2563 : compiler::TNode<FixedArray> tmp94;
2564 : compiler::TNode<Smi> tmp95;
2565 : compiler::TNode<Number> tmp96;
2566 : compiler::TNode<FixedArray> tmp97;
2567 : compiler::TNode<Smi> tmp98;
2568 : compiler::TNode<Number> tmp99;
2569 : compiler::TNode<Smi> tmp100;
2570 : compiler::TNode<FixedArray> tmp101;
2571 : compiler::TNode<Smi> tmp102;
2572 : compiler::TNode<Number> tmp103;
2573 : compiler::TNode<FixedArray> tmp104;
2574 : compiler::TNode<Smi> tmp105;
2575 : compiler::TNode<Number> tmp106;
2576 : compiler::TNode<FixedArray> tmp107;
2577 : compiler::TNode<FixedArray> tmp108;
2578 : compiler::TNode<Smi> tmp109;
2579 : compiler::TNode<Number> tmp110;
2580 : ca_.Bind(&block10, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
2581 0 : CodeStubAssembler(state_).Unreachable();
2582 : }
2583 :
2584 0 : if (block8.is_used()) {
2585 : compiler::TNode<Context> tmp111;
2586 : compiler::TNode<FixedArray> tmp112;
2587 : compiler::TNode<Smi> tmp113;
2588 : compiler::TNode<Number> tmp114;
2589 : compiler::TNode<FixedArray> tmp115;
2590 : compiler::TNode<Smi> tmp116;
2591 : compiler::TNode<Number> tmp117;
2592 : compiler::TNode<FixedArray> tmp118;
2593 : compiler::TNode<Smi> tmp119;
2594 : compiler::TNode<Number> tmp120;
2595 : compiler::TNode<FixedArray> tmp121;
2596 : compiler::TNode<Smi> tmp122;
2597 : compiler::TNode<Number> tmp123;
2598 : compiler::TNode<Smi> tmp124;
2599 : compiler::TNode<FixedArray> tmp125;
2600 : compiler::TNode<Smi> tmp126;
2601 : compiler::TNode<Number> tmp127;
2602 : compiler::TNode<FixedArray> tmp128;
2603 : compiler::TNode<Smi> tmp129;
2604 : compiler::TNode<Number> tmp130;
2605 : compiler::TNode<FixedArray> tmp131;
2606 : compiler::TNode<FixedArray> tmp132;
2607 : compiler::TNode<Smi> tmp133;
2608 : compiler::TNode<Number> tmp134;
2609 : compiler::TNode<FixedArray> tmp135;
2610 : compiler::TNode<Smi> tmp136;
2611 : compiler::TNode<Number> tmp137;
2612 : ca_.Bind(&block8, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137);
2613 : compiler::TNode<FixedArray> tmp138;
2614 : USE(tmp138);
2615 : compiler::TNode<Smi> tmp139;
2616 : USE(tmp139);
2617 : compiler::TNode<Number> tmp140;
2618 : USE(tmp140);
2619 0 : std::tie(tmp138, tmp139, tmp140) = TestBuiltinsFromDSLAssembler(state_).TestStruct2(compiler::TNode<Context>{tmp111}).Flatten();
2620 : ca_.Goto(&block1, tmp111, tmp112, tmp113, tmp114);
2621 : }
2622 :
2623 0 : if (block1.is_used()) {
2624 : compiler::TNode<Context> tmp141;
2625 : compiler::TNode<FixedArray> tmp142;
2626 : compiler::TNode<Smi> tmp143;
2627 : compiler::TNode<Number> tmp144;
2628 : ca_.Bind(&block1, &tmp141, &tmp142, &tmp143, &tmp144);
2629 : ca_.Goto(&block11, tmp141, tmp142, tmp143, tmp144);
2630 : }
2631 :
2632 : compiler::TNode<Context> tmp145;
2633 : compiler::TNode<FixedArray> tmp146;
2634 : compiler::TNode<Smi> tmp147;
2635 : compiler::TNode<Number> tmp148;
2636 : ca_.Bind(&block11, &tmp145, &tmp146, &tmp147, &tmp148);
2637 0 : return TestBuiltinsFromDSLAssembler::TestStructA{compiler::TNode<FixedArray>{tmp146}, compiler::TNode<Smi>{tmp147}, compiler::TNode<Number>{tmp148}};
2638 : }
2639 :
2640 0 : TestBuiltinsFromDSLAssembler::TestStructC TestBuiltinsFromDSLAssembler::TestStruct4(compiler::TNode<Context> p_context) {
2641 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2642 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2643 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number, FixedArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2644 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2645 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number, FixedArray, Smi, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2646 : ca_.Goto(&block0, p_context);
2647 :
2648 0 : if (block0.is_used()) {
2649 : compiler::TNode<Context> tmp0;
2650 : ca_.Bind(&block0, &tmp0);
2651 : compiler::TNode<FixedArray> tmp1;
2652 : USE(tmp1);
2653 : compiler::TNode<Smi> tmp2;
2654 : USE(tmp2);
2655 : compiler::TNode<Number> tmp3;
2656 : USE(tmp3);
2657 0 : std::tie(tmp1, tmp2, tmp3) = TestBuiltinsFromDSLAssembler(state_).TestStruct2(compiler::TNode<Context>{tmp0}).Flatten();
2658 : compiler::TNode<FixedArray> tmp4;
2659 : USE(tmp4);
2660 : compiler::TNode<Smi> tmp5;
2661 : USE(tmp5);
2662 : compiler::TNode<Number> tmp6;
2663 : USE(tmp6);
2664 0 : std::tie(tmp4, tmp5, tmp6) = TestBuiltinsFromDSLAssembler(state_).TestStruct2(compiler::TNode<Context>{tmp0}).Flatten();
2665 : ca_.Goto(&block2, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
2666 : }
2667 :
2668 0 : if (block4.is_used()) {
2669 : compiler::TNode<Context> tmp7;
2670 : compiler::TNode<FixedArray> tmp8;
2671 : compiler::TNode<Smi> tmp9;
2672 : compiler::TNode<Number> tmp10;
2673 : compiler::TNode<FixedArray> tmp11;
2674 : compiler::TNode<Smi> tmp12;
2675 : compiler::TNode<Number> tmp13;
2676 : compiler::TNode<FixedArray> tmp14;
2677 : compiler::TNode<Smi> tmp15;
2678 : compiler::TNode<Number> tmp16;
2679 : compiler::TNode<FixedArray> tmp17;
2680 : compiler::TNode<Smi> tmp18;
2681 : compiler::TNode<Number> tmp19;
2682 : compiler::TNode<FixedArray> tmp20;
2683 : compiler::TNode<Smi> tmp21;
2684 : compiler::TNode<Number> tmp22;
2685 : compiler::TNode<FixedArray> tmp23;
2686 : compiler::TNode<Smi> tmp24;
2687 : compiler::TNode<Number> tmp25;
2688 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
2689 0 : CodeStubAssembler(state_).Unreachable();
2690 : }
2691 :
2692 0 : if (block2.is_used()) {
2693 : compiler::TNode<Context> tmp26;
2694 : compiler::TNode<FixedArray> tmp27;
2695 : compiler::TNode<Smi> tmp28;
2696 : compiler::TNode<Number> tmp29;
2697 : compiler::TNode<FixedArray> tmp30;
2698 : compiler::TNode<Smi> tmp31;
2699 : compiler::TNode<Number> tmp32;
2700 : compiler::TNode<FixedArray> tmp33;
2701 : compiler::TNode<Smi> tmp34;
2702 : compiler::TNode<Number> tmp35;
2703 : compiler::TNode<FixedArray> tmp36;
2704 : compiler::TNode<Smi> tmp37;
2705 : compiler::TNode<Number> tmp38;
2706 : compiler::TNode<FixedArray> tmp39;
2707 : compiler::TNode<Smi> tmp40;
2708 : compiler::TNode<Number> tmp41;
2709 : compiler::TNode<FixedArray> tmp42;
2710 : compiler::TNode<Smi> tmp43;
2711 : compiler::TNode<Number> tmp44;
2712 : compiler::TNode<FixedArray> tmp45;
2713 : compiler::TNode<Smi> tmp46;
2714 : compiler::TNode<Number> tmp47;
2715 : compiler::TNode<FixedArray> tmp48;
2716 : compiler::TNode<Smi> tmp49;
2717 : compiler::TNode<Number> tmp50;
2718 : ca_.Bind(&block2, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
2719 : ca_.Goto(&block1, tmp26, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
2720 : }
2721 :
2722 0 : if (block1.is_used()) {
2723 : compiler::TNode<Context> tmp51;
2724 : compiler::TNode<FixedArray> tmp52;
2725 : compiler::TNode<Smi> tmp53;
2726 : compiler::TNode<Number> tmp54;
2727 : compiler::TNode<FixedArray> tmp55;
2728 : compiler::TNode<Smi> tmp56;
2729 : compiler::TNode<Number> tmp57;
2730 : ca_.Bind(&block1, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2731 : ca_.Goto(&block5, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
2732 : }
2733 :
2734 : compiler::TNode<Context> tmp58;
2735 : compiler::TNode<FixedArray> tmp59;
2736 : compiler::TNode<Smi> tmp60;
2737 : compiler::TNode<Number> tmp61;
2738 : compiler::TNode<FixedArray> tmp62;
2739 : compiler::TNode<Smi> tmp63;
2740 : compiler::TNode<Number> tmp64;
2741 : ca_.Bind(&block5, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64);
2742 0 : return TestBuiltinsFromDSLAssembler::TestStructC{TestBuiltinsFromDSLAssembler::TestStructA{compiler::TNode<FixedArray>{tmp59}, compiler::TNode<Smi>{tmp60}, compiler::TNode<Number>{tmp61}}, TestBuiltinsFromDSLAssembler::TestStructA{compiler::TNode<FixedArray>{tmp62}, compiler::TNode<Smi>{tmp63}, compiler::TNode<Number>{tmp64}}};
2743 : }
2744 :
2745 0 : void TestBuiltinsFromDSLAssembler::CallTestStructInLabel(compiler::TNode<Context> p_context) {
2746 0 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2747 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2748 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2749 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2750 : compiler::CodeAssemblerParameterizedLabel<Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2751 : ca_.Goto(&block0, p_context);
2752 :
2753 0 : if (block0.is_used()) {
2754 : compiler::TNode<Context> tmp0;
2755 : ca_.Bind(&block0, &tmp0);
2756 : compiler::TNode<FixedArray> tmp1;
2757 : USE(tmp1);
2758 : compiler::TNode<Smi> tmp2;
2759 : USE(tmp2);
2760 : compiler::TNode<Number> tmp3;
2761 : USE(tmp3);
2762 0 : std::tie(tmp1, tmp2, tmp3) = TestBuiltinsFromDSLAssembler(state_).TestStruct2(compiler::TNode<Context>{tmp0}).Flatten();
2763 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3);
2764 : }
2765 :
2766 0 : if (block3.is_used()) {
2767 : compiler::TNode<Context> tmp4;
2768 : compiler::TNode<FixedArray> tmp5;
2769 : compiler::TNode<Smi> tmp6;
2770 : compiler::TNode<Number> tmp7;
2771 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6, &tmp7);
2772 : ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
2773 : }
2774 :
2775 0 : if (block2.is_used()) {
2776 : compiler::TNode<Context> tmp8;
2777 : compiler::TNode<FixedArray> tmp9;
2778 : compiler::TNode<Smi> tmp10;
2779 : compiler::TNode<Number> tmp11;
2780 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
2781 : ca_.Goto(&block1, tmp8);
2782 : }
2783 :
2784 0 : if (block1.is_used()) {
2785 : compiler::TNode<Context> tmp12;
2786 : ca_.Bind(&block1, &tmp12);
2787 : ca_.Goto(&block4, tmp12);
2788 : }
2789 :
2790 : compiler::TNode<Context> tmp13;
2791 : ca_.Bind(&block4, &tmp13);
2792 0 : }
2793 :
2794 5 : void TestBuiltinsFromDSLAssembler::TestForLoop() {
2795 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2796 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2797 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2798 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2799 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2800 : compiler::CodeAssemblerParameterizedLabel<Smi> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2801 : compiler::CodeAssemblerParameterizedLabel<Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2802 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2803 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2804 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2805 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2806 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block13(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2807 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2808 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2809 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2810 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2811 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2812 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2813 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2814 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2815 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2816 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2817 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2818 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2819 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block26(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2820 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2821 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2822 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2823 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2824 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2825 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2826 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2827 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2828 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2829 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2830 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2831 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2832 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2833 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2834 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2835 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2836 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2837 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2838 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block46(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2839 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block47(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2840 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2841 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block43(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2842 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block49(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2843 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block48(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2844 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block52(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2845 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block50(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2846 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block53(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2847 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block54(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2848 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block51(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2849 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block56(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2850 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block55(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2851 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block59(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2852 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block57(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2853 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block61(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2854 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block62(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2855 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block63(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2856 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block64(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2857 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block60(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2858 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block58(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2859 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block66(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2860 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block65(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2861 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block69(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2862 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block67(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2863 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block70(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2864 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block71(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2865 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block72(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2866 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block73(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2867 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block68(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2868 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block75(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2869 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block74(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2870 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block80(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2871 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block78(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2872 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block81(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2873 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block82(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2874 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block79(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2875 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block77(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2876 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block84(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2877 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block83(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2878 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block76(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2879 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2880 : compiler::CodeAssemblerParameterizedLabel<> block85(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2881 : ca_.Goto(&block0);
2882 :
2883 5 : if (block0.is_used()) {
2884 : ca_.Bind(&block0);
2885 : compiler::TNode<Smi> tmp0;
2886 : USE(tmp0);
2887 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
2888 : compiler::TNode<Smi> tmp1;
2889 : USE(tmp1);
2890 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
2891 : ca_.Goto(&block4, tmp0, tmp1);
2892 : }
2893 :
2894 5 : if (block4.is_used()) {
2895 : compiler::TNode<Smi> tmp2;
2896 : compiler::TNode<Smi> tmp3;
2897 : ca_.Bind(&block4, &tmp2, &tmp3);
2898 : compiler::TNode<Smi> tmp4;
2899 : USE(tmp4);
2900 15 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
2901 : compiler::TNode<BoolT> tmp5;
2902 : USE(tmp5);
2903 10 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp4}));
2904 5 : ca_.Branch(tmp5, &block2, &block3, tmp2, tmp3);
2905 : }
2906 :
2907 5 : if (block2.is_used()) {
2908 : compiler::TNode<Smi> tmp6;
2909 : compiler::TNode<Smi> tmp7;
2910 : ca_.Bind(&block2, &tmp6, &tmp7);
2911 : compiler::TNode<Smi> tmp8;
2912 : USE(tmp8);
2913 10 : tmp8 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp6}, compiler::TNode<Smi>{tmp7}));
2914 : ca_.Goto(&block5, tmp8, tmp7);
2915 : }
2916 :
2917 5 : if (block5.is_used()) {
2918 : compiler::TNode<Smi> tmp9;
2919 : compiler::TNode<Smi> tmp10;
2920 : ca_.Bind(&block5, &tmp9, &tmp10);
2921 : compiler::TNode<Smi> tmp11;
2922 : USE(tmp11);
2923 15 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2924 : compiler::TNode<Smi> tmp12;
2925 : USE(tmp12);
2926 10 : tmp12 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp11}));
2927 : ca_.Goto(&block4, tmp9, tmp12);
2928 : }
2929 :
2930 5 : if (block3.is_used()) {
2931 : compiler::TNode<Smi> tmp13;
2932 : compiler::TNode<Smi> tmp14;
2933 : ca_.Bind(&block3, &tmp13, &tmp14);
2934 : compiler::TNode<Smi> tmp15;
2935 : USE(tmp15);
2936 15 : tmp15 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
2937 : compiler::TNode<BoolT> tmp16;
2938 : USE(tmp16);
2939 10 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp13}, compiler::TNode<Smi>{tmp15}));
2940 5 : ca_.Branch(tmp16, &block6, &block7, tmp13);
2941 : }
2942 :
2943 5 : if (block7.is_used()) {
2944 : compiler::TNode<Smi> tmp17;
2945 : ca_.Bind(&block7, &tmp17);
2946 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 10\' failed", "../../test/torque/test-torque.tq", 327);
2947 : }
2948 :
2949 5 : if (block6.is_used()) {
2950 : compiler::TNode<Smi> tmp18;
2951 : ca_.Bind(&block6, &tmp18);
2952 : compiler::TNode<Smi> tmp19;
2953 : USE(tmp19);
2954 15 : tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
2955 : compiler::TNode<Smi> tmp20;
2956 : USE(tmp20);
2957 15 : tmp20 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
2958 : ca_.Goto(&block10, tmp19, tmp20);
2959 : }
2960 :
2961 5 : if (block10.is_used()) {
2962 : compiler::TNode<Smi> tmp21;
2963 : compiler::TNode<Smi> tmp22;
2964 : ca_.Bind(&block10, &tmp21, &tmp22);
2965 : compiler::TNode<Smi> tmp23;
2966 : USE(tmp23);
2967 15 : tmp23 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
2968 : compiler::TNode<BoolT> tmp24;
2969 : USE(tmp24);
2970 10 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp22}, compiler::TNode<Smi>{tmp23}));
2971 5 : ca_.Branch(tmp24, &block8, &block9, tmp21, tmp22);
2972 : }
2973 :
2974 5 : if (block8.is_used()) {
2975 : compiler::TNode<Smi> tmp25;
2976 : compiler::TNode<Smi> tmp26;
2977 : ca_.Bind(&block8, &tmp25, &tmp26);
2978 : compiler::TNode<Smi> tmp27;
2979 : USE(tmp27);
2980 10 : tmp27 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp25}, compiler::TNode<Smi>{tmp26}));
2981 : ca_.Goto(&block11, tmp27, tmp26);
2982 : }
2983 :
2984 5 : if (block11.is_used()) {
2985 : compiler::TNode<Smi> tmp28;
2986 : compiler::TNode<Smi> tmp29;
2987 : ca_.Bind(&block11, &tmp28, &tmp29);
2988 : compiler::TNode<Smi> tmp30;
2989 : USE(tmp30);
2990 15 : tmp30 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2991 : compiler::TNode<Smi> tmp31;
2992 : USE(tmp31);
2993 10 : tmp31 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp29}, compiler::TNode<Smi>{tmp30}));
2994 : ca_.Goto(&block10, tmp28, tmp31);
2995 : }
2996 :
2997 5 : if (block9.is_used()) {
2998 : compiler::TNode<Smi> tmp32;
2999 : compiler::TNode<Smi> tmp33;
3000 : ca_.Bind(&block9, &tmp32, &tmp33);
3001 : compiler::TNode<Smi> tmp34;
3002 : USE(tmp34);
3003 15 : tmp34 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3004 : compiler::TNode<BoolT> tmp35;
3005 : USE(tmp35);
3006 10 : tmp35 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp32}, compiler::TNode<Smi>{tmp34}));
3007 5 : ca_.Branch(tmp35, &block12, &block13, tmp32, tmp33);
3008 : }
3009 :
3010 5 : if (block13.is_used()) {
3011 : compiler::TNode<Smi> tmp36;
3012 : compiler::TNode<Smi> tmp37;
3013 : ca_.Bind(&block13, &tmp36, &tmp37);
3014 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 10\' failed", "../../test/torque/test-torque.tq", 332);
3015 : }
3016 :
3017 5 : if (block12.is_used()) {
3018 : compiler::TNode<Smi> tmp38;
3019 : compiler::TNode<Smi> tmp39;
3020 : ca_.Bind(&block12, &tmp38, &tmp39);
3021 : compiler::TNode<Smi> tmp40;
3022 : USE(tmp40);
3023 15 : tmp40 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3024 : compiler::TNode<Smi> tmp41;
3025 : USE(tmp41);
3026 15 : tmp41 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3027 : ca_.Goto(&block16, tmp40, tmp41);
3028 : }
3029 :
3030 5 : if (block16.is_used()) {
3031 : compiler::TNode<Smi> tmp42;
3032 : compiler::TNode<Smi> tmp43;
3033 : ca_.Bind(&block16, &tmp42, &tmp43);
3034 : compiler::TNode<Smi> tmp44;
3035 : USE(tmp44);
3036 15 : tmp44 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3037 : compiler::TNode<BoolT> tmp45;
3038 : USE(tmp45);
3039 10 : tmp45 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp43}, compiler::TNode<Smi>{tmp44}));
3040 5 : ca_.Branch(tmp45, &block14, &block15, tmp42, tmp43);
3041 : }
3042 :
3043 5 : if (block14.is_used()) {
3044 : compiler::TNode<Smi> tmp46;
3045 : compiler::TNode<Smi> tmp47;
3046 : ca_.Bind(&block14, &tmp46, &tmp47);
3047 : compiler::TNode<Smi> tmp48;
3048 : USE(tmp48);
3049 15 : tmp48 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3050 : compiler::TNode<Smi> tmp49;
3051 : USE(tmp49);
3052 10 : tmp49 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp47}, compiler::TNode<Smi>{tmp48}));
3053 : compiler::TNode<Smi> tmp50;
3054 : USE(tmp50);
3055 10 : tmp50 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp46}, compiler::TNode<Smi>{tmp47}));
3056 : ca_.Goto(&block16, tmp50, tmp49);
3057 : }
3058 :
3059 5 : if (block15.is_used()) {
3060 : compiler::TNode<Smi> tmp51;
3061 : compiler::TNode<Smi> tmp52;
3062 : ca_.Bind(&block15, &tmp51, &tmp52);
3063 : compiler::TNode<Smi> tmp53;
3064 : USE(tmp53);
3065 15 : tmp53 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3066 : compiler::TNode<BoolT> tmp54;
3067 : USE(tmp54);
3068 10 : tmp54 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp51}, compiler::TNode<Smi>{tmp53}));
3069 5 : ca_.Branch(tmp54, &block17, &block18, tmp51, tmp52);
3070 : }
3071 :
3072 5 : if (block18.is_used()) {
3073 : compiler::TNode<Smi> tmp55;
3074 : compiler::TNode<Smi> tmp56;
3075 : ca_.Bind(&block18, &tmp55, &tmp56);
3076 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 10\' failed", "../../test/torque/test-torque.tq", 337);
3077 : }
3078 :
3079 5 : if (block17.is_used()) {
3080 : compiler::TNode<Smi> tmp57;
3081 : compiler::TNode<Smi> tmp58;
3082 : ca_.Bind(&block17, &tmp57, &tmp58);
3083 : compiler::TNode<Smi> tmp59;
3084 : USE(tmp59);
3085 15 : tmp59 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3086 : compiler::TNode<Smi> tmp60;
3087 : USE(tmp60);
3088 15 : tmp60 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3089 : ca_.Goto(&block21, tmp59, tmp58, tmp60);
3090 : }
3091 :
3092 5 : if (block21.is_used()) {
3093 : compiler::TNode<Smi> tmp61;
3094 : compiler::TNode<Smi> tmp62;
3095 : compiler::TNode<Smi> tmp63;
3096 : ca_.Bind(&block21, &tmp61, &tmp62, &tmp63);
3097 : ca_.Goto(&block19, tmp61, tmp62, tmp63);
3098 : }
3099 :
3100 5 : if (block19.is_used()) {
3101 : compiler::TNode<Smi> tmp64;
3102 : compiler::TNode<Smi> tmp65;
3103 : compiler::TNode<Smi> tmp66;
3104 : ca_.Bind(&block19, &tmp64, &tmp65, &tmp66);
3105 : compiler::TNode<Smi> tmp67;
3106 : USE(tmp67);
3107 15 : tmp67 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3108 : compiler::TNode<BoolT> tmp68;
3109 : USE(tmp68);
3110 10 : tmp68 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp66}, compiler::TNode<Smi>{tmp67}));
3111 5 : ca_.Branch(tmp68, &block23, &block24, tmp64, tmp65, tmp66);
3112 : }
3113 :
3114 5 : if (block23.is_used()) {
3115 : compiler::TNode<Smi> tmp69;
3116 : compiler::TNode<Smi> tmp70;
3117 : compiler::TNode<Smi> tmp71;
3118 : ca_.Bind(&block23, &tmp69, &tmp70, &tmp71);
3119 : ca_.Goto(&block20, tmp69, tmp70, tmp71);
3120 : }
3121 :
3122 5 : if (block24.is_used()) {
3123 : compiler::TNode<Smi> tmp72;
3124 : compiler::TNode<Smi> tmp73;
3125 : compiler::TNode<Smi> tmp74;
3126 : ca_.Bind(&block24, &tmp72, &tmp73, &tmp74);
3127 : compiler::TNode<Smi> tmp75;
3128 : USE(tmp75);
3129 10 : tmp75 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp72}, compiler::TNode<Smi>{tmp74}));
3130 : ca_.Goto(&block22, tmp75, tmp73, tmp74);
3131 : }
3132 :
3133 5 : if (block22.is_used()) {
3134 : compiler::TNode<Smi> tmp76;
3135 : compiler::TNode<Smi> tmp77;
3136 : compiler::TNode<Smi> tmp78;
3137 : ca_.Bind(&block22, &tmp76, &tmp77, &tmp78);
3138 : compiler::TNode<Smi> tmp79;
3139 : USE(tmp79);
3140 15 : tmp79 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3141 : compiler::TNode<Smi> tmp80;
3142 : USE(tmp80);
3143 10 : tmp80 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp78}, compiler::TNode<Smi>{tmp79}));
3144 : ca_.Goto(&block21, tmp76, tmp77, tmp80);
3145 : }
3146 :
3147 5 : if (block20.is_used()) {
3148 : compiler::TNode<Smi> tmp81;
3149 : compiler::TNode<Smi> tmp82;
3150 : compiler::TNode<Smi> tmp83;
3151 : ca_.Bind(&block20, &tmp81, &tmp82, &tmp83);
3152 : compiler::TNode<Smi> tmp84;
3153 : USE(tmp84);
3154 15 : tmp84 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3155 : compiler::TNode<BoolT> tmp85;
3156 : USE(tmp85);
3157 10 : tmp85 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp81}, compiler::TNode<Smi>{tmp84}));
3158 5 : ca_.Branch(tmp85, &block25, &block26, tmp81, tmp82);
3159 : }
3160 :
3161 5 : if (block26.is_used()) {
3162 : compiler::TNode<Smi> tmp86;
3163 : compiler::TNode<Smi> tmp87;
3164 : ca_.Bind(&block26, &tmp86, &tmp87);
3165 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 10\' failed", "../../test/torque/test-torque.tq", 345);
3166 : }
3167 :
3168 5 : if (block25.is_used()) {
3169 : compiler::TNode<Smi> tmp88;
3170 : compiler::TNode<Smi> tmp89;
3171 : ca_.Bind(&block25, &tmp88, &tmp89);
3172 : compiler::TNode<Smi> tmp90;
3173 : USE(tmp90);
3174 15 : tmp90 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3175 : compiler::TNode<Smi> tmp91;
3176 : USE(tmp91);
3177 15 : tmp91 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3178 : ca_.Goto(&block29, tmp90, tmp91);
3179 : }
3180 :
3181 5 : if (block29.is_used()) {
3182 : compiler::TNode<Smi> tmp92;
3183 : compiler::TNode<Smi> tmp93;
3184 : ca_.Bind(&block29, &tmp92, &tmp93);
3185 : ca_.Goto(&block27, tmp92, tmp93);
3186 : }
3187 :
3188 5 : if (block27.is_used()) {
3189 : compiler::TNode<Smi> tmp94;
3190 : compiler::TNode<Smi> tmp95;
3191 : ca_.Bind(&block27, &tmp94, &tmp95);
3192 : compiler::TNode<Smi> tmp96;
3193 : USE(tmp96);
3194 15 : tmp96 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3195 : compiler::TNode<BoolT> tmp97;
3196 : USE(tmp97);
3197 10 : tmp97 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp95}, compiler::TNode<Smi>{tmp96}));
3198 5 : ca_.Branch(tmp97, &block30, &block31, tmp94, tmp95);
3199 : }
3200 :
3201 5 : if (block30.is_used()) {
3202 : compiler::TNode<Smi> tmp98;
3203 : compiler::TNode<Smi> tmp99;
3204 : ca_.Bind(&block30, &tmp98, &tmp99);
3205 : ca_.Goto(&block28, tmp98, tmp99);
3206 : }
3207 :
3208 5 : if (block31.is_used()) {
3209 : compiler::TNode<Smi> tmp100;
3210 : compiler::TNode<Smi> tmp101;
3211 : ca_.Bind(&block31, &tmp100, &tmp101);
3212 : compiler::TNode<Smi> tmp102;
3213 : USE(tmp102);
3214 10 : tmp102 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp100}, compiler::TNode<Smi>{tmp101}));
3215 : compiler::TNode<Smi> tmp103;
3216 : USE(tmp103);
3217 15 : tmp103 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3218 : compiler::TNode<Smi> tmp104;
3219 : USE(tmp104);
3220 10 : tmp104 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp101}, compiler::TNode<Smi>{tmp103}));
3221 : ca_.Goto(&block29, tmp102, tmp104);
3222 : }
3223 :
3224 5 : if (block28.is_used()) {
3225 : compiler::TNode<Smi> tmp105;
3226 : compiler::TNode<Smi> tmp106;
3227 : ca_.Bind(&block28, &tmp105, &tmp106);
3228 : compiler::TNode<Smi> tmp107;
3229 : USE(tmp107);
3230 15 : tmp107 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3231 : compiler::TNode<BoolT> tmp108;
3232 : USE(tmp108);
3233 10 : tmp108 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp105}, compiler::TNode<Smi>{tmp107}));
3234 5 : ca_.Branch(tmp108, &block32, &block33, tmp105, tmp106);
3235 : }
3236 :
3237 5 : if (block33.is_used()) {
3238 : compiler::TNode<Smi> tmp109;
3239 : compiler::TNode<Smi> tmp110;
3240 : ca_.Bind(&block33, &tmp109, &tmp110);
3241 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 10\' failed", "../../test/torque/test-torque.tq", 354);
3242 : }
3243 :
3244 5 : if (block32.is_used()) {
3245 : compiler::TNode<Smi> tmp111;
3246 : compiler::TNode<Smi> tmp112;
3247 : ca_.Bind(&block32, &tmp111, &tmp112);
3248 : compiler::TNode<Smi> tmp113;
3249 : USE(tmp113);
3250 15 : tmp113 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3251 : compiler::TNode<Smi> tmp114;
3252 : USE(tmp114);
3253 15 : tmp114 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3254 : ca_.Goto(&block36, tmp113, tmp112, tmp114);
3255 : }
3256 :
3257 5 : if (block36.is_used()) {
3258 : compiler::TNode<Smi> tmp115;
3259 : compiler::TNode<Smi> tmp116;
3260 : compiler::TNode<Smi> tmp117;
3261 : ca_.Bind(&block36, &tmp115, &tmp116, &tmp117);
3262 : compiler::TNode<Smi> tmp118;
3263 : USE(tmp118);
3264 15 : tmp118 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3265 : compiler::TNode<BoolT> tmp119;
3266 : USE(tmp119);
3267 10 : tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp117}, compiler::TNode<Smi>{tmp118}));
3268 5 : ca_.Branch(tmp119, &block34, &block35, tmp115, tmp116, tmp117);
3269 : }
3270 :
3271 5 : if (block34.is_used()) {
3272 : compiler::TNode<Smi> tmp120;
3273 : compiler::TNode<Smi> tmp121;
3274 : compiler::TNode<Smi> tmp122;
3275 : ca_.Bind(&block34, &tmp120, &tmp121, &tmp122);
3276 : compiler::TNode<Smi> tmp123;
3277 : USE(tmp123);
3278 15 : tmp123 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
3279 : compiler::TNode<BoolT> tmp124;
3280 : USE(tmp124);
3281 10 : tmp124 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp122}, compiler::TNode<Smi>{tmp123}));
3282 5 : ca_.Branch(tmp124, &block38, &block39, tmp120, tmp121, tmp122);
3283 : }
3284 :
3285 5 : if (block38.is_used()) {
3286 : compiler::TNode<Smi> tmp125;
3287 : compiler::TNode<Smi> tmp126;
3288 : compiler::TNode<Smi> tmp127;
3289 : ca_.Bind(&block38, &tmp125, &tmp126, &tmp127);
3290 : ca_.Goto(&block37, tmp125, tmp126, tmp127);
3291 : }
3292 :
3293 5 : if (block39.is_used()) {
3294 : compiler::TNode<Smi> tmp128;
3295 : compiler::TNode<Smi> tmp129;
3296 : compiler::TNode<Smi> tmp130;
3297 : ca_.Bind(&block39, &tmp128, &tmp129, &tmp130);
3298 : compiler::TNode<Smi> tmp131;
3299 : USE(tmp131);
3300 10 : tmp131 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp128}, compiler::TNode<Smi>{tmp130}));
3301 : ca_.Goto(&block37, tmp131, tmp129, tmp130);
3302 : }
3303 :
3304 5 : if (block37.is_used()) {
3305 : compiler::TNode<Smi> tmp132;
3306 : compiler::TNode<Smi> tmp133;
3307 : compiler::TNode<Smi> tmp134;
3308 : ca_.Bind(&block37, &tmp132, &tmp133, &tmp134);
3309 : compiler::TNode<Smi> tmp135;
3310 : USE(tmp135);
3311 15 : tmp135 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3312 : compiler::TNode<Smi> tmp136;
3313 : USE(tmp136);
3314 10 : tmp136 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp134}, compiler::TNode<Smi>{tmp135}));
3315 : ca_.Goto(&block36, tmp132, tmp133, tmp136);
3316 : }
3317 :
3318 5 : if (block35.is_used()) {
3319 : compiler::TNode<Smi> tmp137;
3320 : compiler::TNode<Smi> tmp138;
3321 : compiler::TNode<Smi> tmp139;
3322 : ca_.Bind(&block35, &tmp137, &tmp138, &tmp139);
3323 : compiler::TNode<Smi> tmp140;
3324 : USE(tmp140);
3325 15 : tmp140 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
3326 : compiler::TNode<BoolT> tmp141;
3327 : USE(tmp141);
3328 10 : tmp141 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp137}, compiler::TNode<Smi>{tmp140}));
3329 5 : ca_.Branch(tmp141, &block40, &block41, tmp137, tmp138);
3330 : }
3331 :
3332 5 : if (block41.is_used()) {
3333 : compiler::TNode<Smi> tmp142;
3334 : compiler::TNode<Smi> tmp143;
3335 : ca_.Bind(&block41, &tmp142, &tmp143);
3336 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 7\' failed", "../../test/torque/test-torque.tq", 363);
3337 : }
3338 :
3339 5 : if (block40.is_used()) {
3340 : compiler::TNode<Smi> tmp144;
3341 : compiler::TNode<Smi> tmp145;
3342 : ca_.Bind(&block40, &tmp144, &tmp145);
3343 : compiler::TNode<Smi> tmp146;
3344 : USE(tmp146);
3345 15 : tmp146 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3346 : compiler::TNode<Smi> tmp147;
3347 : USE(tmp147);
3348 15 : tmp147 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3349 : ca_.Goto(&block44, tmp146, tmp147);
3350 : }
3351 :
3352 5 : if (block44.is_used()) {
3353 : compiler::TNode<Smi> tmp148;
3354 : compiler::TNode<Smi> tmp149;
3355 : ca_.Bind(&block44, &tmp148, &tmp149);
3356 : compiler::TNode<Smi> tmp150;
3357 : USE(tmp150);
3358 15 : tmp150 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3359 : compiler::TNode<BoolT> tmp151;
3360 : USE(tmp151);
3361 10 : tmp151 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp149}, compiler::TNode<Smi>{tmp150}));
3362 5 : ca_.Branch(tmp151, &block42, &block43, tmp148, tmp149);
3363 : }
3364 :
3365 5 : if (block42.is_used()) {
3366 : compiler::TNode<Smi> tmp152;
3367 : compiler::TNode<Smi> tmp153;
3368 : ca_.Bind(&block42, &tmp152, &tmp153);
3369 : compiler::TNode<Smi> tmp154;
3370 : USE(tmp154);
3371 15 : tmp154 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
3372 : compiler::TNode<BoolT> tmp155;
3373 : USE(tmp155);
3374 10 : tmp155 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp153}, compiler::TNode<Smi>{tmp154}));
3375 5 : ca_.Branch(tmp155, &block46, &block47, tmp152, tmp153);
3376 : }
3377 :
3378 5 : if (block46.is_used()) {
3379 : compiler::TNode<Smi> tmp156;
3380 : compiler::TNode<Smi> tmp157;
3381 : ca_.Bind(&block46, &tmp156, &tmp157);
3382 : ca_.Goto(&block45, tmp156, tmp157);
3383 : }
3384 :
3385 5 : if (block47.is_used()) {
3386 : compiler::TNode<Smi> tmp158;
3387 : compiler::TNode<Smi> tmp159;
3388 : ca_.Bind(&block47, &tmp158, &tmp159);
3389 : compiler::TNode<Smi> tmp160;
3390 : USE(tmp160);
3391 10 : tmp160 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp158}, compiler::TNode<Smi>{tmp159}));
3392 : ca_.Goto(&block45, tmp160, tmp159);
3393 : }
3394 :
3395 5 : if (block45.is_used()) {
3396 : compiler::TNode<Smi> tmp161;
3397 : compiler::TNode<Smi> tmp162;
3398 : ca_.Bind(&block45, &tmp161, &tmp162);
3399 : compiler::TNode<Smi> tmp163;
3400 : USE(tmp163);
3401 15 : tmp163 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3402 : compiler::TNode<Smi> tmp164;
3403 : USE(tmp164);
3404 10 : tmp164 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp162}, compiler::TNode<Smi>{tmp163}));
3405 : ca_.Goto(&block44, tmp161, tmp164);
3406 : }
3407 :
3408 5 : if (block43.is_used()) {
3409 : compiler::TNode<Smi> tmp165;
3410 : compiler::TNode<Smi> tmp166;
3411 : ca_.Bind(&block43, &tmp165, &tmp166);
3412 : compiler::TNode<Smi> tmp167;
3413 : USE(tmp167);
3414 15 : tmp167 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
3415 : compiler::TNode<BoolT> tmp168;
3416 : USE(tmp168);
3417 10 : tmp168 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp165}, compiler::TNode<Smi>{tmp167}));
3418 5 : ca_.Branch(tmp168, &block48, &block49, tmp165, tmp166);
3419 : }
3420 :
3421 5 : if (block49.is_used()) {
3422 : compiler::TNode<Smi> tmp169;
3423 : compiler::TNode<Smi> tmp170;
3424 : ca_.Bind(&block49, &tmp169, &tmp170);
3425 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 7\' failed", "../../test/torque/test-torque.tq", 371);
3426 : }
3427 :
3428 5 : if (block48.is_used()) {
3429 : compiler::TNode<Smi> tmp171;
3430 : compiler::TNode<Smi> tmp172;
3431 : ca_.Bind(&block48, &tmp171, &tmp172);
3432 : compiler::TNode<Smi> tmp173;
3433 : USE(tmp173);
3434 15 : tmp173 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3435 : compiler::TNode<Smi> tmp174;
3436 : USE(tmp174);
3437 15 : tmp174 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3438 : ca_.Goto(&block52, tmp173, tmp174);
3439 : }
3440 :
3441 5 : if (block52.is_used()) {
3442 : compiler::TNode<Smi> tmp175;
3443 : compiler::TNode<Smi> tmp176;
3444 : ca_.Bind(&block52, &tmp175, &tmp176);
3445 : compiler::TNode<Smi> tmp177;
3446 : USE(tmp177);
3447 15 : tmp177 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3448 : compiler::TNode<BoolT> tmp178;
3449 : USE(tmp178);
3450 10 : tmp178 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp176}, compiler::TNode<Smi>{tmp177}));
3451 5 : ca_.Branch(tmp178, &block50, &block51, tmp175, tmp176);
3452 : }
3453 :
3454 5 : if (block50.is_used()) {
3455 : compiler::TNode<Smi> tmp179;
3456 : compiler::TNode<Smi> tmp180;
3457 : ca_.Bind(&block50, &tmp179, &tmp180);
3458 : compiler::TNode<Smi> tmp181;
3459 : USE(tmp181);
3460 15 : tmp181 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
3461 : compiler::TNode<BoolT> tmp182;
3462 : USE(tmp182);
3463 10 : tmp182 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp180}, compiler::TNode<Smi>{tmp181}));
3464 5 : ca_.Branch(tmp182, &block53, &block54, tmp179, tmp180);
3465 : }
3466 :
3467 5 : if (block53.is_used()) {
3468 : compiler::TNode<Smi> tmp183;
3469 : compiler::TNode<Smi> tmp184;
3470 : ca_.Bind(&block53, &tmp183, &tmp184);
3471 : compiler::TNode<Smi> tmp185;
3472 : USE(tmp185);
3473 15 : tmp185 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3474 : compiler::TNode<Smi> tmp186;
3475 : USE(tmp186);
3476 10 : tmp186 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp184}, compiler::TNode<Smi>{tmp185}));
3477 : ca_.Goto(&block52, tmp183, tmp186);
3478 : }
3479 :
3480 5 : if (block54.is_used()) {
3481 : compiler::TNode<Smi> tmp187;
3482 : compiler::TNode<Smi> tmp188;
3483 : ca_.Bind(&block54, &tmp187, &tmp188);
3484 : compiler::TNode<Smi> tmp189;
3485 : USE(tmp189);
3486 10 : tmp189 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp187}, compiler::TNode<Smi>{tmp188}));
3487 : compiler::TNode<Smi> tmp190;
3488 : USE(tmp190);
3489 15 : tmp190 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3490 : compiler::TNode<Smi> tmp191;
3491 : USE(tmp191);
3492 10 : tmp191 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp188}, compiler::TNode<Smi>{tmp190}));
3493 : ca_.Goto(&block52, tmp189, tmp191);
3494 : }
3495 :
3496 5 : if (block51.is_used()) {
3497 : compiler::TNode<Smi> tmp192;
3498 : compiler::TNode<Smi> tmp193;
3499 : ca_.Bind(&block51, &tmp192, &tmp193);
3500 : compiler::TNode<Smi> tmp194;
3501 : USE(tmp194);
3502 15 : tmp194 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
3503 : compiler::TNode<BoolT> tmp195;
3504 : USE(tmp195);
3505 10 : tmp195 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp192}, compiler::TNode<Smi>{tmp194}));
3506 5 : ca_.Branch(tmp195, &block55, &block56, tmp192, tmp193);
3507 : }
3508 :
3509 5 : if (block56.is_used()) {
3510 : compiler::TNode<Smi> tmp196;
3511 : compiler::TNode<Smi> tmp197;
3512 : ca_.Bind(&block56, &tmp196, &tmp197);
3513 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 7\' failed", "../../test/torque/test-torque.tq", 383);
3514 : }
3515 :
3516 5 : if (block55.is_used()) {
3517 : compiler::TNode<Smi> tmp198;
3518 : compiler::TNode<Smi> tmp199;
3519 : ca_.Bind(&block55, &tmp198, &tmp199);
3520 : compiler::TNode<Smi> tmp200;
3521 : USE(tmp200);
3522 15 : tmp200 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3523 : compiler::TNode<Smi> tmp201;
3524 : USE(tmp201);
3525 15 : tmp201 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3526 : ca_.Goto(&block59, tmp200, tmp199, tmp201);
3527 : }
3528 :
3529 5 : if (block59.is_used()) {
3530 : compiler::TNode<Smi> tmp202;
3531 : compiler::TNode<Smi> tmp203;
3532 : compiler::TNode<Smi> tmp204;
3533 : ca_.Bind(&block59, &tmp202, &tmp203, &tmp204);
3534 : ca_.Goto(&block57, tmp202, tmp203, tmp204);
3535 : }
3536 :
3537 5 : if (block57.is_used()) {
3538 : compiler::TNode<Smi> tmp205;
3539 : compiler::TNode<Smi> tmp206;
3540 : compiler::TNode<Smi> tmp207;
3541 : ca_.Bind(&block57, &tmp205, &tmp206, &tmp207);
3542 : compiler::TNode<Smi> tmp208;
3543 : USE(tmp208);
3544 15 : tmp208 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
3545 : compiler::TNode<BoolT> tmp209;
3546 : USE(tmp209);
3547 10 : tmp209 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp207}, compiler::TNode<Smi>{tmp208}));
3548 5 : ca_.Branch(tmp209, &block61, &block62, tmp205, tmp206, tmp207);
3549 : }
3550 :
3551 5 : if (block61.is_used()) {
3552 : compiler::TNode<Smi> tmp210;
3553 : compiler::TNode<Smi> tmp211;
3554 : compiler::TNode<Smi> tmp212;
3555 : ca_.Bind(&block61, &tmp210, &tmp211, &tmp212);
3556 : ca_.Goto(&block60, tmp210, tmp211, tmp212);
3557 : }
3558 :
3559 5 : if (block62.is_used()) {
3560 : compiler::TNode<Smi> tmp213;
3561 : compiler::TNode<Smi> tmp214;
3562 : compiler::TNode<Smi> tmp215;
3563 : ca_.Bind(&block62, &tmp213, &tmp214, &tmp215);
3564 : compiler::TNode<Smi> tmp216;
3565 : USE(tmp216);
3566 15 : tmp216 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3567 : compiler::TNode<BoolT> tmp217;
3568 : USE(tmp217);
3569 10 : tmp217 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp215}, compiler::TNode<Smi>{tmp216}));
3570 5 : ca_.Branch(tmp217, &block63, &block64, tmp213, tmp214, tmp215);
3571 : }
3572 :
3573 5 : if (block63.is_used()) {
3574 : compiler::TNode<Smi> tmp218;
3575 : compiler::TNode<Smi> tmp219;
3576 : compiler::TNode<Smi> tmp220;
3577 : ca_.Bind(&block63, &tmp218, &tmp219, &tmp220);
3578 : ca_.Goto(&block58, tmp218, tmp219, tmp220);
3579 : }
3580 :
3581 5 : if (block64.is_used()) {
3582 : compiler::TNode<Smi> tmp221;
3583 : compiler::TNode<Smi> tmp222;
3584 : compiler::TNode<Smi> tmp223;
3585 : ca_.Bind(&block64, &tmp221, &tmp222, &tmp223);
3586 : compiler::TNode<Smi> tmp224;
3587 : USE(tmp224);
3588 10 : tmp224 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp221}, compiler::TNode<Smi>{tmp223}));
3589 : ca_.Goto(&block60, tmp224, tmp222, tmp223);
3590 : }
3591 :
3592 5 : if (block60.is_used()) {
3593 : compiler::TNode<Smi> tmp225;
3594 : compiler::TNode<Smi> tmp226;
3595 : compiler::TNode<Smi> tmp227;
3596 : ca_.Bind(&block60, &tmp225, &tmp226, &tmp227);
3597 : compiler::TNode<Smi> tmp228;
3598 : USE(tmp228);
3599 15 : tmp228 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3600 : compiler::TNode<Smi> tmp229;
3601 : USE(tmp229);
3602 10 : tmp229 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp227}, compiler::TNode<Smi>{tmp228}));
3603 : ca_.Goto(&block59, tmp225, tmp226, tmp229);
3604 : }
3605 :
3606 5 : if (block58.is_used()) {
3607 : compiler::TNode<Smi> tmp230;
3608 : compiler::TNode<Smi> tmp231;
3609 : compiler::TNode<Smi> tmp232;
3610 : ca_.Bind(&block58, &tmp230, &tmp231, &tmp232);
3611 : compiler::TNode<Smi> tmp233;
3612 : USE(tmp233);
3613 15 : tmp233 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
3614 : compiler::TNode<BoolT> tmp234;
3615 : USE(tmp234);
3616 10 : tmp234 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp230}, compiler::TNode<Smi>{tmp233}));
3617 5 : ca_.Branch(tmp234, &block65, &block66, tmp230, tmp231);
3618 : }
3619 :
3620 5 : if (block66.is_used()) {
3621 : compiler::TNode<Smi> tmp235;
3622 : compiler::TNode<Smi> tmp236;
3623 : ca_.Bind(&block66, &tmp235, &tmp236);
3624 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 7\' failed", "../../test/torque/test-torque.tq", 391);
3625 : }
3626 :
3627 5 : if (block65.is_used()) {
3628 : compiler::TNode<Smi> tmp237;
3629 : compiler::TNode<Smi> tmp238;
3630 : ca_.Bind(&block65, &tmp237, &tmp238);
3631 : compiler::TNode<Smi> tmp239;
3632 : USE(tmp239);
3633 15 : tmp239 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3634 : compiler::TNode<Smi> tmp240;
3635 : USE(tmp240);
3636 15 : tmp240 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3637 : ca_.Goto(&block69, tmp239, tmp240);
3638 : }
3639 :
3640 5 : if (block69.is_used()) {
3641 : compiler::TNode<Smi> tmp241;
3642 : compiler::TNode<Smi> tmp242;
3643 : ca_.Bind(&block69, &tmp241, &tmp242);
3644 : ca_.Goto(&block67, tmp241, tmp242);
3645 : }
3646 :
3647 5 : if (block67.is_used()) {
3648 : compiler::TNode<Smi> tmp243;
3649 : compiler::TNode<Smi> tmp244;
3650 : ca_.Bind(&block67, &tmp243, &tmp244);
3651 : compiler::TNode<Smi> tmp245;
3652 : USE(tmp245);
3653 15 : tmp245 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(3));
3654 : compiler::TNode<BoolT> tmp246;
3655 : USE(tmp246);
3656 10 : tmp246 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp244}, compiler::TNode<Smi>{tmp245}));
3657 5 : ca_.Branch(tmp246, &block70, &block71, tmp243, tmp244);
3658 : }
3659 :
3660 5 : if (block70.is_used()) {
3661 : compiler::TNode<Smi> tmp247;
3662 : compiler::TNode<Smi> tmp248;
3663 : ca_.Bind(&block70, &tmp247, &tmp248);
3664 : compiler::TNode<Smi> tmp249;
3665 : USE(tmp249);
3666 15 : tmp249 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3667 : compiler::TNode<Smi> tmp250;
3668 : USE(tmp250);
3669 10 : tmp250 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp248}, compiler::TNode<Smi>{tmp249}));
3670 : ca_.Goto(&block69, tmp247, tmp250);
3671 : }
3672 :
3673 5 : if (block71.is_used()) {
3674 : compiler::TNode<Smi> tmp251;
3675 : compiler::TNode<Smi> tmp252;
3676 : ca_.Bind(&block71, &tmp251, &tmp252);
3677 : compiler::TNode<Smi> tmp253;
3678 : USE(tmp253);
3679 15 : tmp253 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
3680 : compiler::TNode<BoolT> tmp254;
3681 : USE(tmp254);
3682 10 : tmp254 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp252}, compiler::TNode<Smi>{tmp253}));
3683 5 : ca_.Branch(tmp254, &block72, &block73, tmp251, tmp252);
3684 : }
3685 :
3686 5 : if (block72.is_used()) {
3687 : compiler::TNode<Smi> tmp255;
3688 : compiler::TNode<Smi> tmp256;
3689 : ca_.Bind(&block72, &tmp255, &tmp256);
3690 : ca_.Goto(&block68, tmp255, tmp256);
3691 : }
3692 :
3693 5 : if (block73.is_used()) {
3694 : compiler::TNode<Smi> tmp257;
3695 : compiler::TNode<Smi> tmp258;
3696 : ca_.Bind(&block73, &tmp257, &tmp258);
3697 : compiler::TNode<Smi> tmp259;
3698 : USE(tmp259);
3699 10 : tmp259 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp257}, compiler::TNode<Smi>{tmp258}));
3700 : compiler::TNode<Smi> tmp260;
3701 : USE(tmp260);
3702 15 : tmp260 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3703 : compiler::TNode<Smi> tmp261;
3704 : USE(tmp261);
3705 10 : tmp261 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp258}, compiler::TNode<Smi>{tmp260}));
3706 : ca_.Goto(&block69, tmp259, tmp261);
3707 : }
3708 :
3709 5 : if (block68.is_used()) {
3710 : compiler::TNode<Smi> tmp262;
3711 : compiler::TNode<Smi> tmp263;
3712 : ca_.Bind(&block68, &tmp262, &tmp263);
3713 : compiler::TNode<Smi> tmp264;
3714 : USE(tmp264);
3715 15 : tmp264 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(7));
3716 : compiler::TNode<BoolT> tmp265;
3717 : USE(tmp265);
3718 10 : tmp265 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp262}, compiler::TNode<Smi>{tmp264}));
3719 5 : ca_.Branch(tmp265, &block74, &block75, tmp262, tmp263);
3720 : }
3721 :
3722 5 : if (block75.is_used()) {
3723 : compiler::TNode<Smi> tmp266;
3724 : compiler::TNode<Smi> tmp267;
3725 : ca_.Bind(&block75, &tmp266, &tmp267);
3726 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'sum == 7\' failed", "../../test/torque/test-torque.tq", 405);
3727 : }
3728 :
3729 5 : if (block74.is_used()) {
3730 : compiler::TNode<Smi> tmp268;
3731 : compiler::TNode<Smi> tmp269;
3732 : ca_.Bind(&block74, &tmp268, &tmp269);
3733 : compiler::TNode<Smi> tmp270;
3734 : USE(tmp270);
3735 15 : tmp270 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3736 : ca_.Goto(&block80, tmp268, tmp270);
3737 : }
3738 :
3739 5 : if (block80.is_used()) {
3740 : compiler::TNode<Smi> tmp271;
3741 : compiler::TNode<Smi> tmp272;
3742 : ca_.Bind(&block80, &tmp271, &tmp272);
3743 : ca_.Goto(&block78, tmp271, tmp272);
3744 : }
3745 :
3746 5 : if (block78.is_used()) {
3747 : compiler::TNode<Smi> tmp273;
3748 : compiler::TNode<Smi> tmp274;
3749 : ca_.Bind(&block78, &tmp273, &tmp274);
3750 : compiler::TNode<Smi> tmp275;
3751 : USE(tmp275);
3752 15 : tmp275 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3753 : compiler::TNode<Smi> tmp276;
3754 : USE(tmp276);
3755 10 : tmp276 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp274}, compiler::TNode<Smi>{tmp275}));
3756 : compiler::TNode<Smi> tmp277;
3757 : USE(tmp277);
3758 15 : tmp277 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3759 : compiler::TNode<BoolT> tmp278;
3760 : USE(tmp278);
3761 10 : tmp278 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp276}, compiler::TNode<Smi>{tmp277}));
3762 5 : ca_.Branch(tmp278, &block81, &block82, tmp273, tmp276);
3763 : }
3764 :
3765 5 : if (block81.is_used()) {
3766 : compiler::TNode<Smi> tmp279;
3767 : compiler::TNode<Smi> tmp280;
3768 : ca_.Bind(&block81, &tmp279, &tmp280);
3769 : ca_.Goto(&block77, tmp279, tmp280);
3770 : }
3771 :
3772 5 : if (block82.is_used()) {
3773 : compiler::TNode<Smi> tmp281;
3774 : compiler::TNode<Smi> tmp282;
3775 : ca_.Bind(&block82, &tmp281, &tmp282);
3776 : ca_.Goto(&block80, tmp281, tmp282);
3777 : }
3778 :
3779 5 : if (block79.is_used()) {
3780 : compiler::TNode<Smi> tmp283;
3781 : compiler::TNode<Smi> tmp284;
3782 : ca_.Bind(&block79, &tmp283, &tmp284);
3783 : ca_.Goto(&block76, tmp283, tmp284);
3784 : }
3785 :
3786 5 : if (block77.is_used()) {
3787 : compiler::TNode<Smi> tmp285;
3788 : compiler::TNode<Smi> tmp286;
3789 : ca_.Bind(&block77, &tmp285, &tmp286);
3790 : compiler::TNode<Smi> tmp287;
3791 : USE(tmp287);
3792 15 : tmp287 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
3793 : compiler::TNode<BoolT> tmp288;
3794 : USE(tmp288);
3795 10 : tmp288 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp286}, compiler::TNode<Smi>{tmp287}));
3796 5 : ca_.Branch(tmp288, &block83, &block84, tmp285, tmp286);
3797 : }
3798 :
3799 5 : if (block84.is_used()) {
3800 : compiler::TNode<Smi> tmp289;
3801 : compiler::TNode<Smi> tmp290;
3802 : ca_.Bind(&block84, &tmp289, &tmp290);
3803 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'j == 10\' failed", "../../test/torque/test-torque.tq", 414);
3804 : }
3805 :
3806 5 : if (block83.is_used()) {
3807 : compiler::TNode<Smi> tmp291;
3808 : compiler::TNode<Smi> tmp292;
3809 : ca_.Bind(&block83, &tmp291, &tmp292);
3810 : ca_.Goto(&block76, tmp291, tmp292);
3811 : }
3812 :
3813 5 : if (block76.is_used()) {
3814 : compiler::TNode<Smi> tmp293;
3815 : compiler::TNode<Smi> tmp294;
3816 : ca_.Bind(&block76, &tmp293, &tmp294);
3817 : ca_.Goto(&block1);
3818 : }
3819 :
3820 5 : if (block1.is_used()) {
3821 : ca_.Bind(&block1);
3822 : ca_.Goto(&block85);
3823 : }
3824 :
3825 : ca_.Bind(&block85);
3826 5 : }
3827 :
3828 0 : void TestBuiltinsFromDSLAssembler::TestSubtyping(compiler::TNode<Smi> p_x) {
3829 0 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3830 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3831 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3832 : ca_.Goto(&block0, p_x);
3833 :
3834 0 : if (block0.is_used()) {
3835 : compiler::TNode<Smi> tmp0;
3836 : ca_.Bind(&block0, &tmp0);
3837 : ca_.Goto(&block1, tmp0);
3838 : }
3839 :
3840 0 : if (block1.is_used()) {
3841 : compiler::TNode<Smi> tmp1;
3842 : ca_.Bind(&block1, &tmp1);
3843 : ca_.Goto(&block2, tmp1);
3844 : }
3845 :
3846 : compiler::TNode<Smi> tmp2;
3847 : ca_.Bind(&block2, &tmp2);
3848 0 : }
3849 :
3850 15 : compiler::TNode<Int32T> TestBuiltinsFromDSLAssembler::TypeswitchExample(compiler::TNode<Context> p_context, compiler::TNode<Object> p_x) {
3851 15 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3852 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3853 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, Object, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3854 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3855 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3856 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3857 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, Object, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3858 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3859 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, HeapObject> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3860 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object, HeapObject, FixedArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3861 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3862 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3863 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3864 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3865 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Int32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3866 : ca_.Goto(&block0, p_context, p_x);
3867 :
3868 15 : if (block0.is_used()) {
3869 : compiler::TNode<Context> tmp0;
3870 : compiler::TNode<Object> tmp1;
3871 : ca_.Bind(&block0, &tmp0, &tmp1);
3872 : compiler::TNode<Int32T> tmp2;
3873 : USE(tmp2);
3874 45 : tmp2 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(0));
3875 : compiler::TNode<Object> tmp3;
3876 : USE(tmp3);
3877 45 : tmp3 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).IncrementIfSmi36UT12ATFixedArray12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp1}));
3878 : compiler::TNode<FixedArray> tmp4;
3879 : USE(tmp4);
3880 : compiler::CodeAssemblerLabel label0(&ca_);
3881 45 : tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast12ATFixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}, &label0);
3882 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp3, tmp4);
3883 15 : if (label0.is_used()) {
3884 15 : ca_.Bind(&label0);
3885 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp3);
3886 15 : }
3887 : }
3888 :
3889 15 : if (block5.is_used()) {
3890 : compiler::TNode<Context> tmp5;
3891 : compiler::TNode<Object> tmp6;
3892 : compiler::TNode<Int32T> tmp7;
3893 : compiler::TNode<Object> tmp8;
3894 : compiler::TNode<Object> tmp9;
3895 : ca_.Bind(&block5, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
3896 : ca_.Goto(&block3, tmp5, tmp6, tmp7, tmp8);
3897 : }
3898 :
3899 15 : if (block4.is_used()) {
3900 : compiler::TNode<Context> tmp10;
3901 : compiler::TNode<Object> tmp11;
3902 : compiler::TNode<Int32T> tmp12;
3903 : compiler::TNode<Object> tmp13;
3904 : compiler::TNode<Object> tmp14;
3905 : compiler::TNode<FixedArray> tmp15;
3906 : ca_.Bind(&block4, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
3907 : compiler::TNode<Int32T> tmp16;
3908 : USE(tmp16);
3909 45 : tmp16 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(1));
3910 : compiler::TNode<Int32T> tmp17;
3911 : USE(tmp17);
3912 30 : tmp17 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Add(compiler::TNode<Int32T>{tmp12}, compiler::TNode<Int32T>{tmp16}));
3913 : ca_.Goto(&block2, tmp10, tmp11, tmp17, tmp13);
3914 : }
3915 :
3916 15 : if (block3.is_used()) {
3917 : compiler::TNode<Context> tmp18;
3918 : compiler::TNode<Object> tmp19;
3919 : compiler::TNode<Int32T> tmp20;
3920 : compiler::TNode<Object> tmp21;
3921 : ca_.Bind(&block3, &tmp18, &tmp19, &tmp20, &tmp21);
3922 : compiler::TNode<Int32T> tmp22;
3923 : USE(tmp22);
3924 45 : tmp22 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(2));
3925 : compiler::TNode<Int32T> tmp23;
3926 : USE(tmp23);
3927 30 : tmp23 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Add(compiler::TNode<Int32T>{tmp20}, compiler::TNode<Int32T>{tmp22}));
3928 : ca_.Goto(&block2, tmp18, tmp19, tmp23, tmp21);
3929 : }
3930 :
3931 15 : if (block2.is_used()) {
3932 : compiler::TNode<Context> tmp24;
3933 : compiler::TNode<Object> tmp25;
3934 : compiler::TNode<Int32T> tmp26;
3935 : compiler::TNode<Object> tmp27;
3936 : ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27);
3937 : compiler::TNode<Int32T> tmp28;
3938 : USE(tmp28);
3939 45 : tmp28 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(10));
3940 : compiler::TNode<Int32T> tmp29;
3941 : USE(tmp29);
3942 45 : tmp29 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Mul(compiler::TNode<Int32T>{tmp26}, compiler::TNode<Int32T>{tmp28}));
3943 : compiler::TNode<Object> tmp30;
3944 : USE(tmp30);
3945 45 : tmp30 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).IncrementIfSmi36UT12ATFixedArray12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp25}));
3946 : compiler::TNode<Smi> tmp31;
3947 : USE(tmp31);
3948 : compiler::CodeAssemblerLabel label0(&ca_);
3949 45 : tmp31 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp30}, &label0);
3950 : ca_.Goto(&block8, tmp24, tmp25, tmp29, tmp30, tmp30, tmp31);
3951 15 : if (label0.is_used()) {
3952 15 : ca_.Bind(&label0);
3953 : ca_.Goto(&block9, tmp24, tmp25, tmp29, tmp30, tmp30);
3954 15 : }
3955 : }
3956 :
3957 15 : if (block9.is_used()) {
3958 : compiler::TNode<Context> tmp32;
3959 : compiler::TNode<Object> tmp33;
3960 : compiler::TNode<Int32T> tmp34;
3961 : compiler::TNode<Object> tmp35;
3962 : compiler::TNode<Object> tmp36;
3963 : ca_.Bind(&block9, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
3964 : ca_.Goto(&block7, tmp32, tmp33, tmp34, tmp35);
3965 : }
3966 :
3967 15 : if (block8.is_used()) {
3968 : compiler::TNode<Context> tmp37;
3969 : compiler::TNode<Object> tmp38;
3970 : compiler::TNode<Int32T> tmp39;
3971 : compiler::TNode<Object> tmp40;
3972 : compiler::TNode<Object> tmp41;
3973 : compiler::TNode<Smi> tmp42;
3974 : ca_.Bind(&block8, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
3975 : compiler::TNode<Int32T> tmp43;
3976 : USE(tmp43);
3977 45 : tmp43 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint325ATSmi(compiler::TNode<Smi>{tmp42}));
3978 : compiler::TNode<Int32T> tmp44;
3979 : USE(tmp44);
3980 30 : tmp44 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Add(compiler::TNode<Int32T>{tmp39}, compiler::TNode<Int32T>{tmp43}));
3981 : ca_.Goto(&block6, tmp37, tmp38, tmp44, tmp40);
3982 : }
3983 :
3984 15 : if (block7.is_used()) {
3985 : compiler::TNode<Context> tmp45;
3986 : compiler::TNode<Object> tmp46;
3987 : compiler::TNode<Int32T> tmp47;
3988 : compiler::TNode<Object> tmp48;
3989 : ca_.Bind(&block7, &tmp45, &tmp46, &tmp47, &tmp48);
3990 : compiler::TNode<FixedArray> tmp49;
3991 : USE(tmp49);
3992 : compiler::CodeAssemblerLabel label0(&ca_);
3993 45 : tmp49 = BaseBuiltinsFromDSLAssembler(state_).Cast12ATFixedArray(compiler::TNode<Context>{tmp45}, compiler::TNode<HeapObject>{ca_.UncheckedCast<HeapObject>(tmp48)}, &label0);
3994 : ca_.Goto(&block12, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<HeapObject>(tmp48), tmp49);
3995 15 : if (label0.is_used()) {
3996 15 : ca_.Bind(&label0);
3997 : ca_.Goto(&block13, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<HeapObject>(tmp48));
3998 15 : }
3999 : }
4000 :
4001 15 : if (block13.is_used()) {
4002 : compiler::TNode<Context> tmp50;
4003 : compiler::TNode<Object> tmp51;
4004 : compiler::TNode<Int32T> tmp52;
4005 : compiler::TNode<Object> tmp53;
4006 : compiler::TNode<HeapObject> tmp54;
4007 : ca_.Bind(&block13, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54);
4008 : ca_.Goto(&block11, tmp50, tmp51, tmp52, tmp53);
4009 : }
4010 :
4011 15 : if (block12.is_used()) {
4012 : compiler::TNode<Context> tmp55;
4013 : compiler::TNode<Object> tmp56;
4014 : compiler::TNode<Int32T> tmp57;
4015 : compiler::TNode<Object> tmp58;
4016 : compiler::TNode<HeapObject> tmp59;
4017 : compiler::TNode<FixedArray> tmp60;
4018 : ca_.Bind(&block12, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
4019 : compiler::TNode<Smi> tmp61;
4020 : USE(tmp61);
4021 30 : tmp61 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp60}));
4022 : compiler::TNode<Int32T> tmp62;
4023 : USE(tmp62);
4024 45 : tmp62 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint325ATSmi(compiler::TNode<Smi>{tmp61}));
4025 : compiler::TNode<Int32T> tmp63;
4026 : USE(tmp63);
4027 30 : tmp63 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Add(compiler::TNode<Int32T>{tmp57}, compiler::TNode<Int32T>{tmp62}));
4028 : ca_.Goto(&block10, tmp55, tmp56, tmp63, tmp58);
4029 : }
4030 :
4031 15 : if (block11.is_used()) {
4032 : compiler::TNode<Context> tmp64;
4033 : compiler::TNode<Object> tmp65;
4034 : compiler::TNode<Int32T> tmp66;
4035 : compiler::TNode<Object> tmp67;
4036 : ca_.Bind(&block11, &tmp64, &tmp65, &tmp66, &tmp67);
4037 : compiler::TNode<Int32T> tmp68;
4038 : USE(tmp68);
4039 45 : tmp68 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(7));
4040 : compiler::TNode<Int32T> tmp69;
4041 : USE(tmp69);
4042 30 : tmp69 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Add(compiler::TNode<Int32T>{tmp66}, compiler::TNode<Int32T>{tmp68}));
4043 : ca_.Goto(&block10, tmp64, tmp65, tmp69, tmp67);
4044 : }
4045 :
4046 15 : if (block10.is_used()) {
4047 : compiler::TNode<Context> tmp70;
4048 : compiler::TNode<Object> tmp71;
4049 : compiler::TNode<Int32T> tmp72;
4050 : compiler::TNode<Object> tmp73;
4051 : ca_.Bind(&block10, &tmp70, &tmp71, &tmp72, &tmp73);
4052 : ca_.Goto(&block6, tmp70, tmp71, tmp72, tmp73);
4053 : }
4054 :
4055 15 : if (block6.is_used()) {
4056 : compiler::TNode<Context> tmp74;
4057 : compiler::TNode<Object> tmp75;
4058 : compiler::TNode<Int32T> tmp76;
4059 : compiler::TNode<Object> tmp77;
4060 : ca_.Bind(&block6, &tmp74, &tmp75, &tmp76, &tmp77);
4061 : ca_.Goto(&block1, tmp74, tmp75, tmp76);
4062 : }
4063 :
4064 15 : if (block1.is_used()) {
4065 : compiler::TNode<Context> tmp78;
4066 : compiler::TNode<Object> tmp79;
4067 : compiler::TNode<Int32T> tmp80;
4068 : ca_.Bind(&block1, &tmp78, &tmp79, &tmp80);
4069 : ca_.Goto(&block14, tmp78, tmp79, tmp80);
4070 : }
4071 :
4072 : compiler::TNode<Context> tmp81;
4073 : compiler::TNode<Object> tmp82;
4074 : compiler::TNode<Int32T> tmp83;
4075 : ca_.Bind(&block14, &tmp81, &tmp82, &tmp83);
4076 30 : return compiler::TNode<Int32T>{tmp83};
4077 : }
4078 :
4079 5 : void TestBuiltinsFromDSLAssembler::TestTypeswitch(compiler::TNode<Context> p_context) {
4080 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4081 : compiler::CodeAssemblerParameterizedLabel<Context> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
4082 : compiler::CodeAssemblerParameterizedLabel<Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4083 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
4084 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4085 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
4086 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4087 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4088 : compiler::CodeAssemblerParameterizedLabel<Context> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4089 : ca_.Goto(&block0, p_context);
4090 :
4091 5 : if (block0.is_used()) {
4092 : compiler::TNode<Context> tmp0;
4093 : ca_.Bind(&block0, &tmp0);
4094 : compiler::TNode<Smi> tmp1;
4095 : USE(tmp1);
4096 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
4097 : compiler::TNode<Int32T> tmp2;
4098 : USE(tmp2);
4099 15 : tmp2 = ca_.UncheckedCast<Int32T>(TestBuiltinsFromDSLAssembler(state_).TypeswitchExample(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
4100 : compiler::TNode<Int32T> tmp3;
4101 : USE(tmp3);
4102 15 : tmp3 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(26));
4103 : compiler::TNode<BoolT> tmp4;
4104 : USE(tmp4);
4105 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Equal(compiler::TNode<Int32T>{tmp2}, compiler::TNode<Int32T>{tmp3}));
4106 5 : ca_.Branch(tmp4, &block2, &block3, tmp0);
4107 : }
4108 :
4109 5 : if (block3.is_used()) {
4110 : compiler::TNode<Context> tmp5;
4111 : ca_.Bind(&block3, &tmp5);
4112 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TypeswitchExample(FromConstexpr<Smi>(5)) == 26\' failed", "../../test/torque/test-torque.tq", 464);
4113 : }
4114 :
4115 5 : if (block2.is_used()) {
4116 : compiler::TNode<Context> tmp6;
4117 : ca_.Bind(&block2, &tmp6);
4118 : compiler::TNode<IntPtrT> tmp7;
4119 : USE(tmp7);
4120 15 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(3));
4121 : compiler::TNode<FixedArray> tmp8;
4122 : USE(tmp8);
4123 10 : tmp8 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp7}));
4124 : compiler::TNode<Int32T> tmp9;
4125 : USE(tmp9);
4126 15 : tmp9 = ca_.UncheckedCast<Int32T>(TestBuiltinsFromDSLAssembler(state_).TypeswitchExample(compiler::TNode<Context>{tmp6}, compiler::TNode<Object>{tmp8}));
4127 : compiler::TNode<Int32T> tmp10;
4128 : USE(tmp10);
4129 15 : tmp10 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(13));
4130 : compiler::TNode<BoolT> tmp11;
4131 : USE(tmp11);
4132 10 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Equal(compiler::TNode<Int32T>{tmp9}, compiler::TNode<Int32T>{tmp10}));
4133 5 : ca_.Branch(tmp11, &block4, &block5, tmp6, tmp8);
4134 : }
4135 :
4136 5 : if (block5.is_used()) {
4137 : compiler::TNode<Context> tmp12;
4138 : compiler::TNode<FixedArray> tmp13;
4139 : ca_.Bind(&block5, &tmp12, &tmp13);
4140 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TypeswitchExample(a) == 13\' failed", "../../test/torque/test-torque.tq", 466);
4141 : }
4142 :
4143 5 : if (block4.is_used()) {
4144 : compiler::TNode<Context> tmp14;
4145 : compiler::TNode<FixedArray> tmp15;
4146 : ca_.Bind(&block4, &tmp14, &tmp15);
4147 : compiler::TNode<Number> tmp16;
4148 : USE(tmp16);
4149 15 : tmp16 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(0.5));
4150 : compiler::TNode<Int32T> tmp17;
4151 : USE(tmp17);
4152 15 : tmp17 = ca_.UncheckedCast<Int32T>(TestBuiltinsFromDSLAssembler(state_).TypeswitchExample(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp16}));
4153 : compiler::TNode<Int32T> tmp18;
4154 : USE(tmp18);
4155 15 : tmp18 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(27));
4156 : compiler::TNode<BoolT> tmp19;
4157 : USE(tmp19);
4158 10 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Equal(compiler::TNode<Int32T>{tmp17}, compiler::TNode<Int32T>{tmp18}));
4159 5 : ca_.Branch(tmp19, &block6, &block7, tmp14, tmp15);
4160 : }
4161 :
4162 5 : if (block7.is_used()) {
4163 : compiler::TNode<Context> tmp20;
4164 : compiler::TNode<FixedArray> tmp21;
4165 : ca_.Bind(&block7, &tmp20, &tmp21);
4166 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TypeswitchExample(FromConstexpr<Number>(0.5)) == 27\' failed", "../../test/torque/test-torque.tq", 467);
4167 : }
4168 :
4169 5 : if (block6.is_used()) {
4170 : compiler::TNode<Context> tmp22;
4171 : compiler::TNode<FixedArray> tmp23;
4172 : ca_.Bind(&block6, &tmp22, &tmp23);
4173 : ca_.Goto(&block1, tmp22);
4174 : }
4175 :
4176 5 : if (block1.is_used()) {
4177 : compiler::TNode<Context> tmp24;
4178 : ca_.Bind(&block1, &tmp24);
4179 : ca_.Goto(&block8, tmp24);
4180 : }
4181 :
4182 : compiler::TNode<Context> tmp25;
4183 : ca_.Bind(&block8, &tmp25);
4184 5 : }
4185 :
4186 0 : void TestBuiltinsFromDSLAssembler::TestTypeswitchAsanLsanFailure(compiler::TNode<Context> p_context, compiler::TNode<Object> p_obj) {
4187 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4188 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4189 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4190 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4191 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4192 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject, JSTypedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4193 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4194 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4195 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4196 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4197 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4198 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4199 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4200 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4201 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4202 : ca_.Goto(&block0, p_context, p_obj);
4203 :
4204 0 : if (block0.is_used()) {
4205 : compiler::TNode<Context> tmp0;
4206 : compiler::TNode<Object> tmp1;
4207 : ca_.Bind(&block0, &tmp0, &tmp1);
4208 : compiler::TNode<Smi> tmp2;
4209 : USE(tmp2);
4210 : compiler::CodeAssemblerLabel label0(&ca_);
4211 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp1}, &label0);
4212 : ca_.Goto(&block4, tmp0, tmp1, tmp1, tmp1, tmp2);
4213 0 : if (label0.is_used()) {
4214 0 : ca_.Bind(&label0);
4215 : ca_.Goto(&block5, tmp0, tmp1, tmp1, tmp1);
4216 0 : }
4217 : }
4218 :
4219 0 : if (block5.is_used()) {
4220 : compiler::TNode<Context> tmp3;
4221 : compiler::TNode<Object> tmp4;
4222 : compiler::TNode<Object> tmp5;
4223 : compiler::TNode<Object> tmp6;
4224 : ca_.Bind(&block5, &tmp3, &tmp4, &tmp5, &tmp6);
4225 : ca_.Goto(&block3, tmp3, tmp4, tmp5);
4226 : }
4227 :
4228 0 : if (block4.is_used()) {
4229 : compiler::TNode<Context> tmp7;
4230 : compiler::TNode<Object> tmp8;
4231 : compiler::TNode<Object> tmp9;
4232 : compiler::TNode<Object> tmp10;
4233 : compiler::TNode<Smi> tmp11;
4234 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
4235 : ca_.Goto(&block2, tmp7, tmp8, tmp9);
4236 : }
4237 :
4238 0 : if (block3.is_used()) {
4239 : compiler::TNode<Context> tmp12;
4240 : compiler::TNode<Object> tmp13;
4241 : compiler::TNode<Object> tmp14;
4242 : ca_.Bind(&block3, &tmp12, &tmp13, &tmp14);
4243 : compiler::TNode<JSTypedArray> tmp15;
4244 : USE(tmp15);
4245 : compiler::CodeAssemblerLabel label0(&ca_);
4246 0 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).Cast14ATJSTypedArray(compiler::TNode<Context>{tmp12}, compiler::TNode<HeapObject>{ca_.UncheckedCast<HeapObject>(tmp14)}, &label0);
4247 : ca_.Goto(&block8, tmp12, tmp13, tmp14, ca_.UncheckedCast<HeapObject>(tmp14), tmp15);
4248 0 : if (label0.is_used()) {
4249 0 : ca_.Bind(&label0);
4250 : ca_.Goto(&block9, tmp12, tmp13, tmp14, ca_.UncheckedCast<HeapObject>(tmp14));
4251 0 : }
4252 : }
4253 :
4254 0 : if (block9.is_used()) {
4255 : compiler::TNode<Context> tmp16;
4256 : compiler::TNode<Object> tmp17;
4257 : compiler::TNode<Object> tmp18;
4258 : compiler::TNode<HeapObject> tmp19;
4259 : ca_.Bind(&block9, &tmp16, &tmp17, &tmp18, &tmp19);
4260 : ca_.Goto(&block7, tmp16, tmp17, tmp18);
4261 : }
4262 :
4263 0 : if (block8.is_used()) {
4264 : compiler::TNode<Context> tmp20;
4265 : compiler::TNode<Object> tmp21;
4266 : compiler::TNode<Object> tmp22;
4267 : compiler::TNode<HeapObject> tmp23;
4268 : compiler::TNode<JSTypedArray> tmp24;
4269 : ca_.Bind(&block8, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
4270 : ca_.Goto(&block6, tmp20, tmp21, tmp22);
4271 : }
4272 :
4273 0 : if (block7.is_used()) {
4274 : compiler::TNode<Context> tmp25;
4275 : compiler::TNode<Object> tmp26;
4276 : compiler::TNode<Object> tmp27;
4277 : ca_.Bind(&block7, &tmp25, &tmp26, &tmp27);
4278 : compiler::TNode<JSReceiver> tmp28;
4279 : USE(tmp28);
4280 : compiler::CodeAssemblerLabel label0(&ca_);
4281 0 : tmp28 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp25}, compiler::TNode<HeapObject>{ca_.UncheckedCast<HeapObject>(tmp27)}, &label0);
4282 : ca_.Goto(&block12, tmp25, tmp26, tmp27, ca_.UncheckedCast<HeapObject>(tmp27), tmp28);
4283 0 : if (label0.is_used()) {
4284 0 : ca_.Bind(&label0);
4285 : ca_.Goto(&block13, tmp25, tmp26, tmp27, ca_.UncheckedCast<HeapObject>(tmp27));
4286 0 : }
4287 : }
4288 :
4289 0 : if (block13.is_used()) {
4290 : compiler::TNode<Context> tmp29;
4291 : compiler::TNode<Object> tmp30;
4292 : compiler::TNode<Object> tmp31;
4293 : compiler::TNode<HeapObject> tmp32;
4294 : ca_.Bind(&block13, &tmp29, &tmp30, &tmp31, &tmp32);
4295 : ca_.Goto(&block11, tmp29, tmp30, tmp31);
4296 : }
4297 :
4298 0 : if (block12.is_used()) {
4299 : compiler::TNode<Context> tmp33;
4300 : compiler::TNode<Object> tmp34;
4301 : compiler::TNode<Object> tmp35;
4302 : compiler::TNode<HeapObject> tmp36;
4303 : compiler::TNode<JSReceiver> tmp37;
4304 : ca_.Bind(&block12, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
4305 : ca_.Goto(&block10, tmp33, tmp34, tmp35);
4306 : }
4307 :
4308 0 : if (block11.is_used()) {
4309 : compiler::TNode<Context> tmp38;
4310 : compiler::TNode<Object> tmp39;
4311 : compiler::TNode<Object> tmp40;
4312 : ca_.Bind(&block11, &tmp38, &tmp39, &tmp40);
4313 : ca_.Goto(&block10, tmp38, tmp39, tmp40);
4314 : }
4315 :
4316 0 : if (block10.is_used()) {
4317 : compiler::TNode<Context> tmp41;
4318 : compiler::TNode<Object> tmp42;
4319 : compiler::TNode<Object> tmp43;
4320 : ca_.Bind(&block10, &tmp41, &tmp42, &tmp43);
4321 : ca_.Goto(&block6, tmp41, tmp42, tmp43);
4322 : }
4323 :
4324 0 : if (block6.is_used()) {
4325 : compiler::TNode<Context> tmp44;
4326 : compiler::TNode<Object> tmp45;
4327 : compiler::TNode<Object> tmp46;
4328 : ca_.Bind(&block6, &tmp44, &tmp45, &tmp46);
4329 : ca_.Goto(&block2, tmp44, tmp45, tmp46);
4330 : }
4331 :
4332 0 : if (block2.is_used()) {
4333 : compiler::TNode<Context> tmp47;
4334 : compiler::TNode<Object> tmp48;
4335 : compiler::TNode<Object> tmp49;
4336 : ca_.Bind(&block2, &tmp47, &tmp48, &tmp49);
4337 : ca_.Goto(&block1, tmp47, tmp48);
4338 : }
4339 :
4340 0 : if (block1.is_used()) {
4341 : compiler::TNode<Context> tmp50;
4342 : compiler::TNode<Object> tmp51;
4343 : ca_.Bind(&block1, &tmp50, &tmp51);
4344 : ca_.Goto(&block14, tmp50, tmp51);
4345 : }
4346 :
4347 : compiler::TNode<Context> tmp52;
4348 : compiler::TNode<Object> tmp53;
4349 : ca_.Bind(&block14, &tmp52, &tmp53);
4350 0 : }
4351 :
4352 5 : void TestBuiltinsFromDSLAssembler::TestGenericOverload(compiler::TNode<Context> p_context) {
4353 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4354 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
4355 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4356 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
4357 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4358 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4359 : compiler::CodeAssemblerParameterizedLabel<Context> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4360 : ca_.Goto(&block0, p_context);
4361 :
4362 5 : if (block0.is_used()) {
4363 : compiler::TNode<Context> tmp0;
4364 : ca_.Bind(&block0, &tmp0);
4365 : compiler::TNode<Smi> tmp1;
4366 : USE(tmp1);
4367 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
4368 : compiler::TNode<Smi> tmp2;
4369 : USE(tmp2);
4370 15 : tmp2 = ca_.UncheckedCast<Smi>(TestBuiltinsFromDSLAssembler(state_).ExampleGenericOverload5ATSmi(compiler::TNode<Smi>{tmp1}));
4371 : compiler::TNode<Smi> tmp3;
4372 : USE(tmp3);
4373 15 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(6));
4374 : compiler::TNode<BoolT> tmp4;
4375 : USE(tmp4);
4376 10 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp3}));
4377 5 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp1);
4378 : }
4379 :
4380 5 : if (block3.is_used()) {
4381 : compiler::TNode<Context> tmp5;
4382 : compiler::TNode<Smi> tmp6;
4383 : compiler::TNode<Object> tmp7;
4384 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7);
4385 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'ExampleGenericOverload<Smi>(xSmi) == 6\' failed", "../../test/torque/test-torque.tq", 493);
4386 : }
4387 :
4388 5 : if (block2.is_used()) {
4389 : compiler::TNode<Context> tmp8;
4390 : compiler::TNode<Smi> tmp9;
4391 : compiler::TNode<Object> tmp10;
4392 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
4393 : compiler::TNode<Object> tmp11;
4394 : USE(tmp11);
4395 15 : tmp11 = ca_.UncheckedCast<Object>(TestBuiltinsFromDSLAssembler(state_).ExampleGenericOverload20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp10}));
4396 : compiler::TNode<Smi> tmp12;
4397 : USE(tmp12);
4398 15 : tmp12 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp8}, compiler::TNode<Object>{tmp11}));
4399 : compiler::TNode<Smi> tmp13;
4400 : USE(tmp13);
4401 15 : tmp13 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
4402 : compiler::TNode<BoolT> tmp14;
4403 : USE(tmp14);
4404 10 : tmp14 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp12}, compiler::TNode<Smi>{tmp13}));
4405 5 : ca_.Branch(tmp14, &block4, &block5, tmp8, tmp9, tmp10);
4406 : }
4407 :
4408 5 : if (block5.is_used()) {
4409 : compiler::TNode<Context> tmp15;
4410 : compiler::TNode<Smi> tmp16;
4411 : compiler::TNode<Object> tmp17;
4412 : ca_.Bind(&block5, &tmp15, &tmp16, &tmp17);
4413 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'UnsafeCast<Smi>(ExampleGenericOverload<Object>(xObject)) == 5\' failed", "../../test/torque/test-torque.tq", 494);
4414 : }
4415 :
4416 5 : if (block4.is_used()) {
4417 : compiler::TNode<Context> tmp18;
4418 : compiler::TNode<Smi> tmp19;
4419 : compiler::TNode<Object> tmp20;
4420 : ca_.Bind(&block4, &tmp18, &tmp19, &tmp20);
4421 : ca_.Goto(&block1, tmp18);
4422 : }
4423 :
4424 5 : if (block1.is_used()) {
4425 : compiler::TNode<Context> tmp21;
4426 : ca_.Bind(&block1, &tmp21);
4427 : ca_.Goto(&block6, tmp21);
4428 : }
4429 :
4430 : compiler::TNode<Context> tmp22;
4431 : ca_.Bind(&block6, &tmp22);
4432 5 : }
4433 :
4434 240 : void TestBuiltinsFromDSLAssembler::BoolToBranch(compiler::TNode<BoolT> p_x, compiler::CodeAssemblerLabel* label_Taken, compiler::CodeAssemblerLabel* label_NotTaken) {
4435 240 : compiler::CodeAssemblerParameterizedLabel<BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4436 : compiler::CodeAssemblerParameterizedLabel<BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4437 : compiler::CodeAssemblerParameterizedLabel<BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4438 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4439 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4440 : ca_.Goto(&block0, p_x);
4441 :
4442 240 : if (block0.is_used()) {
4443 : compiler::TNode<BoolT> tmp0;
4444 : ca_.Bind(&block0, &tmp0);
4445 240 : ca_.Branch(tmp0, &block3, &block4, tmp0);
4446 : }
4447 :
4448 240 : if (block3.is_used()) {
4449 : compiler::TNode<BoolT> tmp1;
4450 : ca_.Bind(&block3, &tmp1);
4451 : ca_.Goto(&block1);
4452 : }
4453 :
4454 240 : if (block4.is_used()) {
4455 : compiler::TNode<BoolT> tmp2;
4456 : ca_.Bind(&block4, &tmp2);
4457 : ca_.Goto(&block2);
4458 : }
4459 :
4460 240 : if (block1.is_used()) {
4461 : ca_.Bind(&block1);
4462 240 : ca_.Goto(label_Taken);
4463 : }
4464 :
4465 240 : if (block2.is_used()) {
4466 : ca_.Bind(&block2);
4467 240 : ca_.Goto(label_NotTaken);
4468 : }
4469 240 : }
4470 :
4471 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestOrAnd1(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
4472 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4473 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4474 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4475 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4476 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4477 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4478 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4479 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4480 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4481 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4482 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4483 : ca_.Goto(&block0, p_x, p_y, p_z);
4484 :
4485 40 : if (block0.is_used()) {
4486 : compiler::TNode<BoolT> tmp0;
4487 : compiler::TNode<BoolT> tmp1;
4488 : compiler::TNode<BoolT> tmp2;
4489 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4490 : compiler::CodeAssemblerLabel label0(&ca_);
4491 40 : compiler::CodeAssemblerLabel label1(&ca_);
4492 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp0}, &label0, &label1);
4493 40 : if (label0.is_used()) {
4494 40 : ca_.Bind(&label0);
4495 : ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp0);
4496 : }
4497 40 : if (label1.is_used()) {
4498 40 : ca_.Bind(&label1);
4499 : ca_.Goto(&block8, tmp0, tmp1, tmp2, tmp0);
4500 40 : }
4501 : }
4502 :
4503 40 : if (block7.is_used()) {
4504 : compiler::TNode<BoolT> tmp3;
4505 : compiler::TNode<BoolT> tmp4;
4506 : compiler::TNode<BoolT> tmp5;
4507 : compiler::TNode<BoolT> tmp6;
4508 : ca_.Bind(&block7, &tmp3, &tmp4, &tmp5, &tmp6);
4509 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
4510 : }
4511 :
4512 40 : if (block8.is_used()) {
4513 : compiler::TNode<BoolT> tmp7;
4514 : compiler::TNode<BoolT> tmp8;
4515 : compiler::TNode<BoolT> tmp9;
4516 : compiler::TNode<BoolT> tmp10;
4517 : ca_.Bind(&block8, &tmp7, &tmp8, &tmp9, &tmp10);
4518 : ca_.Goto(&block6, tmp7, tmp8, tmp9);
4519 : }
4520 :
4521 40 : if (block6.is_used()) {
4522 : compiler::TNode<BoolT> tmp11;
4523 : compiler::TNode<BoolT> tmp12;
4524 : compiler::TNode<BoolT> tmp13;
4525 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
4526 40 : ca_.Branch(tmp12, &block9, &block3, tmp11, tmp12, tmp13);
4527 : }
4528 :
4529 40 : if (block9.is_used()) {
4530 : compiler::TNode<BoolT> tmp14;
4531 : compiler::TNode<BoolT> tmp15;
4532 : compiler::TNode<BoolT> tmp16;
4533 : ca_.Bind(&block9, &tmp14, &tmp15, &tmp16);
4534 40 : ca_.Branch(tmp16, &block2, &block3, tmp14, tmp15, tmp16);
4535 : }
4536 :
4537 40 : if (block2.is_used()) {
4538 : compiler::TNode<BoolT> tmp17;
4539 : compiler::TNode<BoolT> tmp18;
4540 : compiler::TNode<BoolT> tmp19;
4541 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
4542 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
4543 : }
4544 :
4545 40 : if (block3.is_used()) {
4546 : compiler::TNode<BoolT> tmp20;
4547 : compiler::TNode<BoolT> tmp21;
4548 : compiler::TNode<BoolT> tmp22;
4549 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
4550 : compiler::TNode<BoolT> tmp23;
4551 : USE(tmp23);
4552 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
4553 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
4554 : }
4555 :
4556 40 : if (block5.is_used()) {
4557 : compiler::TNode<BoolT> tmp24;
4558 : compiler::TNode<BoolT> tmp25;
4559 : compiler::TNode<BoolT> tmp26;
4560 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
4561 : compiler::TNode<BoolT> tmp27;
4562 : USE(tmp27);
4563 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
4564 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
4565 : }
4566 :
4567 40 : if (block4.is_used()) {
4568 : compiler::TNode<BoolT> tmp28;
4569 : compiler::TNode<BoolT> tmp29;
4570 : compiler::TNode<BoolT> tmp30;
4571 : compiler::TNode<BoolT> tmp31;
4572 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
4573 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
4574 : }
4575 :
4576 40 : if (block1.is_used()) {
4577 : compiler::TNode<BoolT> tmp32;
4578 : compiler::TNode<BoolT> tmp33;
4579 : compiler::TNode<BoolT> tmp34;
4580 : compiler::TNode<BoolT> tmp35;
4581 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
4582 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
4583 : }
4584 :
4585 : compiler::TNode<BoolT> tmp36;
4586 : compiler::TNode<BoolT> tmp37;
4587 : compiler::TNode<BoolT> tmp38;
4588 : compiler::TNode<BoolT> tmp39;
4589 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
4590 80 : return compiler::TNode<BoolT>{tmp39};
4591 : }
4592 :
4593 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestOrAnd2(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
4594 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4595 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4596 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4597 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4598 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4599 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4600 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4601 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4602 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4603 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4604 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4605 : ca_.Goto(&block0, p_x, p_y, p_z);
4606 :
4607 40 : if (block0.is_used()) {
4608 : compiler::TNode<BoolT> tmp0;
4609 : compiler::TNode<BoolT> tmp1;
4610 : compiler::TNode<BoolT> tmp2;
4611 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4612 40 : ca_.Branch(tmp0, &block2, &block6, tmp0, tmp1, tmp2);
4613 : }
4614 :
4615 40 : if (block6.is_used()) {
4616 : compiler::TNode<BoolT> tmp3;
4617 : compiler::TNode<BoolT> tmp4;
4618 : compiler::TNode<BoolT> tmp5;
4619 : ca_.Bind(&block6, &tmp3, &tmp4, &tmp5);
4620 : compiler::CodeAssemblerLabel label0(&ca_);
4621 40 : compiler::CodeAssemblerLabel label1(&ca_);
4622 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp4}, &label0, &label1);
4623 40 : if (label0.is_used()) {
4624 40 : ca_.Bind(&label0);
4625 : ca_.Goto(&block8, tmp3, tmp4, tmp5, tmp4);
4626 : }
4627 40 : if (label1.is_used()) {
4628 40 : ca_.Bind(&label1);
4629 : ca_.Goto(&block9, tmp3, tmp4, tmp5, tmp4);
4630 40 : }
4631 : }
4632 :
4633 40 : if (block8.is_used()) {
4634 : compiler::TNode<BoolT> tmp6;
4635 : compiler::TNode<BoolT> tmp7;
4636 : compiler::TNode<BoolT> tmp8;
4637 : compiler::TNode<BoolT> tmp9;
4638 : ca_.Bind(&block8, &tmp6, &tmp7, &tmp8, &tmp9);
4639 : ca_.Goto(&block7, tmp6, tmp7, tmp8);
4640 : }
4641 :
4642 40 : if (block9.is_used()) {
4643 : compiler::TNode<BoolT> tmp10;
4644 : compiler::TNode<BoolT> tmp11;
4645 : compiler::TNode<BoolT> tmp12;
4646 : compiler::TNode<BoolT> tmp13;
4647 : ca_.Bind(&block9, &tmp10, &tmp11, &tmp12, &tmp13);
4648 : ca_.Goto(&block3, tmp10, tmp11, tmp12);
4649 : }
4650 :
4651 40 : if (block7.is_used()) {
4652 : compiler::TNode<BoolT> tmp14;
4653 : compiler::TNode<BoolT> tmp15;
4654 : compiler::TNode<BoolT> tmp16;
4655 : ca_.Bind(&block7, &tmp14, &tmp15, &tmp16);
4656 40 : ca_.Branch(tmp16, &block2, &block3, tmp14, tmp15, tmp16);
4657 : }
4658 :
4659 40 : if (block2.is_used()) {
4660 : compiler::TNode<BoolT> tmp17;
4661 : compiler::TNode<BoolT> tmp18;
4662 : compiler::TNode<BoolT> tmp19;
4663 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
4664 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
4665 : }
4666 :
4667 40 : if (block3.is_used()) {
4668 : compiler::TNode<BoolT> tmp20;
4669 : compiler::TNode<BoolT> tmp21;
4670 : compiler::TNode<BoolT> tmp22;
4671 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
4672 : compiler::TNode<BoolT> tmp23;
4673 : USE(tmp23);
4674 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
4675 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
4676 : }
4677 :
4678 40 : if (block5.is_used()) {
4679 : compiler::TNode<BoolT> tmp24;
4680 : compiler::TNode<BoolT> tmp25;
4681 : compiler::TNode<BoolT> tmp26;
4682 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
4683 : compiler::TNode<BoolT> tmp27;
4684 : USE(tmp27);
4685 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
4686 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
4687 : }
4688 :
4689 40 : if (block4.is_used()) {
4690 : compiler::TNode<BoolT> tmp28;
4691 : compiler::TNode<BoolT> tmp29;
4692 : compiler::TNode<BoolT> tmp30;
4693 : compiler::TNode<BoolT> tmp31;
4694 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
4695 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
4696 : }
4697 :
4698 40 : if (block1.is_used()) {
4699 : compiler::TNode<BoolT> tmp32;
4700 : compiler::TNode<BoolT> tmp33;
4701 : compiler::TNode<BoolT> tmp34;
4702 : compiler::TNode<BoolT> tmp35;
4703 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
4704 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
4705 : }
4706 :
4707 : compiler::TNode<BoolT> tmp36;
4708 : compiler::TNode<BoolT> tmp37;
4709 : compiler::TNode<BoolT> tmp38;
4710 : compiler::TNode<BoolT> tmp39;
4711 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
4712 80 : return compiler::TNode<BoolT>{tmp39};
4713 : }
4714 :
4715 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestOrAnd3(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
4716 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4717 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4718 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4719 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4720 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4721 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4722 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4723 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4724 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4725 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4726 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4727 : ca_.Goto(&block0, p_x, p_y, p_z);
4728 :
4729 40 : if (block0.is_used()) {
4730 : compiler::TNode<BoolT> tmp0;
4731 : compiler::TNode<BoolT> tmp1;
4732 : compiler::TNode<BoolT> tmp2;
4733 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4734 40 : ca_.Branch(tmp0, &block2, &block6, tmp0, tmp1, tmp2);
4735 : }
4736 :
4737 40 : if (block6.is_used()) {
4738 : compiler::TNode<BoolT> tmp3;
4739 : compiler::TNode<BoolT> tmp4;
4740 : compiler::TNode<BoolT> tmp5;
4741 : ca_.Bind(&block6, &tmp3, &tmp4, &tmp5);
4742 40 : ca_.Branch(tmp4, &block7, &block3, tmp3, tmp4, tmp5);
4743 : }
4744 :
4745 40 : if (block7.is_used()) {
4746 : compiler::TNode<BoolT> tmp6;
4747 : compiler::TNode<BoolT> tmp7;
4748 : compiler::TNode<BoolT> tmp8;
4749 : ca_.Bind(&block7, &tmp6, &tmp7, &tmp8);
4750 : compiler::CodeAssemblerLabel label0(&ca_);
4751 40 : compiler::CodeAssemblerLabel label1(&ca_);
4752 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp8}, &label0, &label1);
4753 40 : if (label0.is_used()) {
4754 40 : ca_.Bind(&label0);
4755 : ca_.Goto(&block8, tmp6, tmp7, tmp8, tmp8);
4756 : }
4757 40 : if (label1.is_used()) {
4758 40 : ca_.Bind(&label1);
4759 : ca_.Goto(&block9, tmp6, tmp7, tmp8, tmp8);
4760 40 : }
4761 : }
4762 :
4763 40 : if (block8.is_used()) {
4764 : compiler::TNode<BoolT> tmp9;
4765 : compiler::TNode<BoolT> tmp10;
4766 : compiler::TNode<BoolT> tmp11;
4767 : compiler::TNode<BoolT> tmp12;
4768 : ca_.Bind(&block8, &tmp9, &tmp10, &tmp11, &tmp12);
4769 : ca_.Goto(&block2, tmp9, tmp10, tmp11);
4770 : }
4771 :
4772 40 : if (block9.is_used()) {
4773 : compiler::TNode<BoolT> tmp13;
4774 : compiler::TNode<BoolT> tmp14;
4775 : compiler::TNode<BoolT> tmp15;
4776 : compiler::TNode<BoolT> tmp16;
4777 : ca_.Bind(&block9, &tmp13, &tmp14, &tmp15, &tmp16);
4778 : ca_.Goto(&block3, tmp13, tmp14, tmp15);
4779 : }
4780 :
4781 40 : if (block2.is_used()) {
4782 : compiler::TNode<BoolT> tmp17;
4783 : compiler::TNode<BoolT> tmp18;
4784 : compiler::TNode<BoolT> tmp19;
4785 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
4786 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
4787 : }
4788 :
4789 40 : if (block3.is_used()) {
4790 : compiler::TNode<BoolT> tmp20;
4791 : compiler::TNode<BoolT> tmp21;
4792 : compiler::TNode<BoolT> tmp22;
4793 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
4794 : compiler::TNode<BoolT> tmp23;
4795 : USE(tmp23);
4796 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
4797 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
4798 : }
4799 :
4800 40 : if (block5.is_used()) {
4801 : compiler::TNode<BoolT> tmp24;
4802 : compiler::TNode<BoolT> tmp25;
4803 : compiler::TNode<BoolT> tmp26;
4804 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
4805 : compiler::TNode<BoolT> tmp27;
4806 : USE(tmp27);
4807 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
4808 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
4809 : }
4810 :
4811 40 : if (block4.is_used()) {
4812 : compiler::TNode<BoolT> tmp28;
4813 : compiler::TNode<BoolT> tmp29;
4814 : compiler::TNode<BoolT> tmp30;
4815 : compiler::TNode<BoolT> tmp31;
4816 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
4817 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
4818 : }
4819 :
4820 40 : if (block1.is_used()) {
4821 : compiler::TNode<BoolT> tmp32;
4822 : compiler::TNode<BoolT> tmp33;
4823 : compiler::TNode<BoolT> tmp34;
4824 : compiler::TNode<BoolT> tmp35;
4825 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
4826 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
4827 : }
4828 :
4829 : compiler::TNode<BoolT> tmp36;
4830 : compiler::TNode<BoolT> tmp37;
4831 : compiler::TNode<BoolT> tmp38;
4832 : compiler::TNode<BoolT> tmp39;
4833 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
4834 80 : return compiler::TNode<BoolT>{tmp39};
4835 : }
4836 :
4837 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestAndOr1(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
4838 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4839 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4840 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4841 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4842 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4843 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4844 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4845 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4846 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4847 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4848 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4849 : ca_.Goto(&block0, p_x, p_y, p_z);
4850 :
4851 40 : if (block0.is_used()) {
4852 : compiler::TNode<BoolT> tmp0;
4853 : compiler::TNode<BoolT> tmp1;
4854 : compiler::TNode<BoolT> tmp2;
4855 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4856 : compiler::CodeAssemblerLabel label0(&ca_);
4857 40 : compiler::CodeAssemblerLabel label1(&ca_);
4858 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp0}, &label0, &label1);
4859 40 : if (label0.is_used()) {
4860 40 : ca_.Bind(&label0);
4861 : ca_.Goto(&block8, tmp0, tmp1, tmp2, tmp0);
4862 : }
4863 40 : if (label1.is_used()) {
4864 40 : ca_.Bind(&label1);
4865 : ca_.Goto(&block9, tmp0, tmp1, tmp2, tmp0);
4866 40 : }
4867 : }
4868 :
4869 40 : if (block8.is_used()) {
4870 : compiler::TNode<BoolT> tmp3;
4871 : compiler::TNode<BoolT> tmp4;
4872 : compiler::TNode<BoolT> tmp5;
4873 : compiler::TNode<BoolT> tmp6;
4874 : ca_.Bind(&block8, &tmp3, &tmp4, &tmp5, &tmp6);
4875 : ca_.Goto(&block7, tmp3, tmp4, tmp5);
4876 : }
4877 :
4878 40 : if (block9.is_used()) {
4879 : compiler::TNode<BoolT> tmp7;
4880 : compiler::TNode<BoolT> tmp8;
4881 : compiler::TNode<BoolT> tmp9;
4882 : compiler::TNode<BoolT> tmp10;
4883 : ca_.Bind(&block9, &tmp7, &tmp8, &tmp9, &tmp10);
4884 : ca_.Goto(&block6, tmp7, tmp8, tmp9);
4885 : }
4886 :
4887 40 : if (block7.is_used()) {
4888 : compiler::TNode<BoolT> tmp11;
4889 : compiler::TNode<BoolT> tmp12;
4890 : compiler::TNode<BoolT> tmp13;
4891 : ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
4892 40 : ca_.Branch(tmp12, &block2, &block6, tmp11, tmp12, tmp13);
4893 : }
4894 :
4895 40 : if (block6.is_used()) {
4896 : compiler::TNode<BoolT> tmp14;
4897 : compiler::TNode<BoolT> tmp15;
4898 : compiler::TNode<BoolT> tmp16;
4899 : ca_.Bind(&block6, &tmp14, &tmp15, &tmp16);
4900 40 : ca_.Branch(tmp16, &block2, &block3, tmp14, tmp15, tmp16);
4901 : }
4902 :
4903 40 : if (block2.is_used()) {
4904 : compiler::TNode<BoolT> tmp17;
4905 : compiler::TNode<BoolT> tmp18;
4906 : compiler::TNode<BoolT> tmp19;
4907 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
4908 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
4909 : }
4910 :
4911 40 : if (block3.is_used()) {
4912 : compiler::TNode<BoolT> tmp20;
4913 : compiler::TNode<BoolT> tmp21;
4914 : compiler::TNode<BoolT> tmp22;
4915 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
4916 : compiler::TNode<BoolT> tmp23;
4917 : USE(tmp23);
4918 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
4919 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
4920 : }
4921 :
4922 40 : if (block5.is_used()) {
4923 : compiler::TNode<BoolT> tmp24;
4924 : compiler::TNode<BoolT> tmp25;
4925 : compiler::TNode<BoolT> tmp26;
4926 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
4927 : compiler::TNode<BoolT> tmp27;
4928 : USE(tmp27);
4929 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
4930 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
4931 : }
4932 :
4933 40 : if (block4.is_used()) {
4934 : compiler::TNode<BoolT> tmp28;
4935 : compiler::TNode<BoolT> tmp29;
4936 : compiler::TNode<BoolT> tmp30;
4937 : compiler::TNode<BoolT> tmp31;
4938 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
4939 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
4940 : }
4941 :
4942 40 : if (block1.is_used()) {
4943 : compiler::TNode<BoolT> tmp32;
4944 : compiler::TNode<BoolT> tmp33;
4945 : compiler::TNode<BoolT> tmp34;
4946 : compiler::TNode<BoolT> tmp35;
4947 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
4948 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
4949 : }
4950 :
4951 : compiler::TNode<BoolT> tmp36;
4952 : compiler::TNode<BoolT> tmp37;
4953 : compiler::TNode<BoolT> tmp38;
4954 : compiler::TNode<BoolT> tmp39;
4955 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
4956 80 : return compiler::TNode<BoolT>{tmp39};
4957 : }
4958 :
4959 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestAndOr2(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
4960 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4961 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4962 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4963 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4964 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4965 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4966 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4967 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4968 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4969 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4970 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4971 : ca_.Goto(&block0, p_x, p_y, p_z);
4972 :
4973 40 : if (block0.is_used()) {
4974 : compiler::TNode<BoolT> tmp0;
4975 : compiler::TNode<BoolT> tmp1;
4976 : compiler::TNode<BoolT> tmp2;
4977 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4978 40 : ca_.Branch(tmp0, &block7, &block6, tmp0, tmp1, tmp2);
4979 : }
4980 :
4981 40 : if (block7.is_used()) {
4982 : compiler::TNode<BoolT> tmp3;
4983 : compiler::TNode<BoolT> tmp4;
4984 : compiler::TNode<BoolT> tmp5;
4985 : ca_.Bind(&block7, &tmp3, &tmp4, &tmp5);
4986 : compiler::CodeAssemblerLabel label0(&ca_);
4987 40 : compiler::CodeAssemblerLabel label1(&ca_);
4988 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp4}, &label0, &label1);
4989 40 : if (label0.is_used()) {
4990 40 : ca_.Bind(&label0);
4991 : ca_.Goto(&block8, tmp3, tmp4, tmp5, tmp4);
4992 : }
4993 40 : if (label1.is_used()) {
4994 40 : ca_.Bind(&label1);
4995 : ca_.Goto(&block9, tmp3, tmp4, tmp5, tmp4);
4996 40 : }
4997 : }
4998 :
4999 40 : if (block8.is_used()) {
5000 : compiler::TNode<BoolT> tmp6;
5001 : compiler::TNode<BoolT> tmp7;
5002 : compiler::TNode<BoolT> tmp8;
5003 : compiler::TNode<BoolT> tmp9;
5004 : ca_.Bind(&block8, &tmp6, &tmp7, &tmp8, &tmp9);
5005 : ca_.Goto(&block2, tmp6, tmp7, tmp8);
5006 : }
5007 :
5008 40 : if (block9.is_used()) {
5009 : compiler::TNode<BoolT> tmp10;
5010 : compiler::TNode<BoolT> tmp11;
5011 : compiler::TNode<BoolT> tmp12;
5012 : compiler::TNode<BoolT> tmp13;
5013 : ca_.Bind(&block9, &tmp10, &tmp11, &tmp12, &tmp13);
5014 : ca_.Goto(&block6, tmp10, tmp11, tmp12);
5015 : }
5016 :
5017 40 : if (block6.is_used()) {
5018 : compiler::TNode<BoolT> tmp14;
5019 : compiler::TNode<BoolT> tmp15;
5020 : compiler::TNode<BoolT> tmp16;
5021 : ca_.Bind(&block6, &tmp14, &tmp15, &tmp16);
5022 40 : ca_.Branch(tmp16, &block2, &block3, tmp14, tmp15, tmp16);
5023 : }
5024 :
5025 40 : if (block2.is_used()) {
5026 : compiler::TNode<BoolT> tmp17;
5027 : compiler::TNode<BoolT> tmp18;
5028 : compiler::TNode<BoolT> tmp19;
5029 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
5030 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
5031 : }
5032 :
5033 40 : if (block3.is_used()) {
5034 : compiler::TNode<BoolT> tmp20;
5035 : compiler::TNode<BoolT> tmp21;
5036 : compiler::TNode<BoolT> tmp22;
5037 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
5038 : compiler::TNode<BoolT> tmp23;
5039 : USE(tmp23);
5040 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5041 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
5042 : }
5043 :
5044 40 : if (block5.is_used()) {
5045 : compiler::TNode<BoolT> tmp24;
5046 : compiler::TNode<BoolT> tmp25;
5047 : compiler::TNode<BoolT> tmp26;
5048 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
5049 : compiler::TNode<BoolT> tmp27;
5050 : USE(tmp27);
5051 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5052 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
5053 : }
5054 :
5055 40 : if (block4.is_used()) {
5056 : compiler::TNode<BoolT> tmp28;
5057 : compiler::TNode<BoolT> tmp29;
5058 : compiler::TNode<BoolT> tmp30;
5059 : compiler::TNode<BoolT> tmp31;
5060 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
5061 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
5062 : }
5063 :
5064 40 : if (block1.is_used()) {
5065 : compiler::TNode<BoolT> tmp32;
5066 : compiler::TNode<BoolT> tmp33;
5067 : compiler::TNode<BoolT> tmp34;
5068 : compiler::TNode<BoolT> tmp35;
5069 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
5070 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
5071 : }
5072 :
5073 : compiler::TNode<BoolT> tmp36;
5074 : compiler::TNode<BoolT> tmp37;
5075 : compiler::TNode<BoolT> tmp38;
5076 : compiler::TNode<BoolT> tmp39;
5077 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
5078 80 : return compiler::TNode<BoolT>{tmp39};
5079 : }
5080 :
5081 40 : compiler::TNode<BoolT> TestBuiltinsFromDSLAssembler::TestAndOr3(compiler::TNode<BoolT> p_x, compiler::TNode<BoolT> p_y, compiler::TNode<BoolT> p_z) {
5082 40 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5083 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5084 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5085 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5086 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5087 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5088 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5089 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5090 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5091 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5092 : compiler::CodeAssemblerParameterizedLabel<BoolT, BoolT, BoolT, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5093 : ca_.Goto(&block0, p_x, p_y, p_z);
5094 :
5095 40 : if (block0.is_used()) {
5096 : compiler::TNode<BoolT> tmp0;
5097 : compiler::TNode<BoolT> tmp1;
5098 : compiler::TNode<BoolT> tmp2;
5099 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5100 40 : ca_.Branch(tmp0, &block7, &block6, tmp0, tmp1, tmp2);
5101 : }
5102 :
5103 40 : if (block7.is_used()) {
5104 : compiler::TNode<BoolT> tmp3;
5105 : compiler::TNode<BoolT> tmp4;
5106 : compiler::TNode<BoolT> tmp5;
5107 : ca_.Bind(&block7, &tmp3, &tmp4, &tmp5);
5108 40 : ca_.Branch(tmp4, &block2, &block6, tmp3, tmp4, tmp5);
5109 : }
5110 :
5111 40 : if (block6.is_used()) {
5112 : compiler::TNode<BoolT> tmp6;
5113 : compiler::TNode<BoolT> tmp7;
5114 : compiler::TNode<BoolT> tmp8;
5115 : ca_.Bind(&block6, &tmp6, &tmp7, &tmp8);
5116 : compiler::CodeAssemblerLabel label0(&ca_);
5117 40 : compiler::CodeAssemblerLabel label1(&ca_);
5118 120 : TestBuiltinsFromDSLAssembler(state_).BoolToBranch(compiler::TNode<BoolT>{tmp8}, &label0, &label1);
5119 40 : if (label0.is_used()) {
5120 40 : ca_.Bind(&label0);
5121 : ca_.Goto(&block8, tmp6, tmp7, tmp8, tmp8);
5122 : }
5123 40 : if (label1.is_used()) {
5124 40 : ca_.Bind(&label1);
5125 : ca_.Goto(&block9, tmp6, tmp7, tmp8, tmp8);
5126 40 : }
5127 : }
5128 :
5129 40 : if (block8.is_used()) {
5130 : compiler::TNode<BoolT> tmp9;
5131 : compiler::TNode<BoolT> tmp10;
5132 : compiler::TNode<BoolT> tmp11;
5133 : compiler::TNode<BoolT> tmp12;
5134 : ca_.Bind(&block8, &tmp9, &tmp10, &tmp11, &tmp12);
5135 : ca_.Goto(&block2, tmp9, tmp10, tmp11);
5136 : }
5137 :
5138 40 : if (block9.is_used()) {
5139 : compiler::TNode<BoolT> tmp13;
5140 : compiler::TNode<BoolT> tmp14;
5141 : compiler::TNode<BoolT> tmp15;
5142 : compiler::TNode<BoolT> tmp16;
5143 : ca_.Bind(&block9, &tmp13, &tmp14, &tmp15, &tmp16);
5144 : ca_.Goto(&block3, tmp13, tmp14, tmp15);
5145 : }
5146 :
5147 40 : if (block2.is_used()) {
5148 : compiler::TNode<BoolT> tmp17;
5149 : compiler::TNode<BoolT> tmp18;
5150 : compiler::TNode<BoolT> tmp19;
5151 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19);
5152 : ca_.Goto(&block5, tmp17, tmp18, tmp19);
5153 : }
5154 :
5155 40 : if (block3.is_used()) {
5156 : compiler::TNode<BoolT> tmp20;
5157 : compiler::TNode<BoolT> tmp21;
5158 : compiler::TNode<BoolT> tmp22;
5159 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22);
5160 : compiler::TNode<BoolT> tmp23;
5161 : USE(tmp23);
5162 120 : tmp23 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5163 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23);
5164 : }
5165 :
5166 40 : if (block5.is_used()) {
5167 : compiler::TNode<BoolT> tmp24;
5168 : compiler::TNode<BoolT> tmp25;
5169 : compiler::TNode<BoolT> tmp26;
5170 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26);
5171 : compiler::TNode<BoolT> tmp27;
5172 : USE(tmp27);
5173 120 : tmp27 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5174 : ca_.Goto(&block4, tmp24, tmp25, tmp26, tmp27);
5175 : }
5176 :
5177 40 : if (block4.is_used()) {
5178 : compiler::TNode<BoolT> tmp28;
5179 : compiler::TNode<BoolT> tmp29;
5180 : compiler::TNode<BoolT> tmp30;
5181 : compiler::TNode<BoolT> tmp31;
5182 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31);
5183 : ca_.Goto(&block1, tmp28, tmp29, tmp30, tmp31);
5184 : }
5185 :
5186 40 : if (block1.is_used()) {
5187 : compiler::TNode<BoolT> tmp32;
5188 : compiler::TNode<BoolT> tmp33;
5189 : compiler::TNode<BoolT> tmp34;
5190 : compiler::TNode<BoolT> tmp35;
5191 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35);
5192 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35);
5193 : }
5194 :
5195 : compiler::TNode<BoolT> tmp36;
5196 : compiler::TNode<BoolT> tmp37;
5197 : compiler::TNode<BoolT> tmp38;
5198 : compiler::TNode<BoolT> tmp39;
5199 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39);
5200 80 : return compiler::TNode<BoolT>{tmp39};
5201 : }
5202 :
5203 5 : void TestBuiltinsFromDSLAssembler::TestLogicalOperators() {
5204 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5205 : compiler::CodeAssemblerParameterizedLabel<> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5206 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5207 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5208 : compiler::CodeAssemblerParameterizedLabel<> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5209 : compiler::CodeAssemblerParameterizedLabel<> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5210 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5211 : compiler::CodeAssemblerParameterizedLabel<> block9(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5212 : compiler::CodeAssemblerParameterizedLabel<> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5213 : compiler::CodeAssemblerParameterizedLabel<> block11(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5214 : compiler::CodeAssemblerParameterizedLabel<> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5215 : compiler::CodeAssemblerParameterizedLabel<> block13(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5216 : compiler::CodeAssemblerParameterizedLabel<> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5217 : compiler::CodeAssemblerParameterizedLabel<> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5218 : compiler::CodeAssemblerParameterizedLabel<> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5219 : compiler::CodeAssemblerParameterizedLabel<> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5220 : compiler::CodeAssemblerParameterizedLabel<> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5221 : compiler::CodeAssemblerParameterizedLabel<> block19(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5222 : compiler::CodeAssemblerParameterizedLabel<> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5223 : compiler::CodeAssemblerParameterizedLabel<> block21(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5224 : compiler::CodeAssemblerParameterizedLabel<> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5225 : compiler::CodeAssemblerParameterizedLabel<> block23(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5226 : compiler::CodeAssemblerParameterizedLabel<> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5227 : compiler::CodeAssemblerParameterizedLabel<> block25(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5228 : compiler::CodeAssemblerParameterizedLabel<> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5229 : compiler::CodeAssemblerParameterizedLabel<> block27(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5230 : compiler::CodeAssemblerParameterizedLabel<> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5231 : compiler::CodeAssemblerParameterizedLabel<> block29(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5232 : compiler::CodeAssemblerParameterizedLabel<> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5233 : compiler::CodeAssemblerParameterizedLabel<> block31(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5234 : compiler::CodeAssemblerParameterizedLabel<> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5235 : compiler::CodeAssemblerParameterizedLabel<> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5236 : compiler::CodeAssemblerParameterizedLabel<> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5237 : compiler::CodeAssemblerParameterizedLabel<> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5238 : compiler::CodeAssemblerParameterizedLabel<> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5239 : compiler::CodeAssemblerParameterizedLabel<> block37(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5240 : compiler::CodeAssemblerParameterizedLabel<> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5241 : compiler::CodeAssemblerParameterizedLabel<> block39(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5242 : compiler::CodeAssemblerParameterizedLabel<> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5243 : compiler::CodeAssemblerParameterizedLabel<> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5244 : compiler::CodeAssemblerParameterizedLabel<> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5245 : compiler::CodeAssemblerParameterizedLabel<> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5246 : compiler::CodeAssemblerParameterizedLabel<> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5247 : compiler::CodeAssemblerParameterizedLabel<> block45(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5248 : compiler::CodeAssemblerParameterizedLabel<> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5249 : compiler::CodeAssemblerParameterizedLabel<> block47(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5250 : compiler::CodeAssemblerParameterizedLabel<> block46(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5251 : compiler::CodeAssemblerParameterizedLabel<> block49(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5252 : compiler::CodeAssemblerParameterizedLabel<> block48(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5253 : compiler::CodeAssemblerParameterizedLabel<> block51(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5254 : compiler::CodeAssemblerParameterizedLabel<> block50(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5255 : compiler::CodeAssemblerParameterizedLabel<> block53(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5256 : compiler::CodeAssemblerParameterizedLabel<> block52(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5257 : compiler::CodeAssemblerParameterizedLabel<> block55(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5258 : compiler::CodeAssemblerParameterizedLabel<> block54(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5259 : compiler::CodeAssemblerParameterizedLabel<> block57(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5260 : compiler::CodeAssemblerParameterizedLabel<> block56(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5261 : compiler::CodeAssemblerParameterizedLabel<> block59(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5262 : compiler::CodeAssemblerParameterizedLabel<> block58(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5263 : compiler::CodeAssemblerParameterizedLabel<> block61(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5264 : compiler::CodeAssemblerParameterizedLabel<> block60(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5265 : compiler::CodeAssemblerParameterizedLabel<> block63(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5266 : compiler::CodeAssemblerParameterizedLabel<> block62(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5267 : compiler::CodeAssemblerParameterizedLabel<> block65(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5268 : compiler::CodeAssemblerParameterizedLabel<> block64(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5269 : compiler::CodeAssemblerParameterizedLabel<> block67(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5270 : compiler::CodeAssemblerParameterizedLabel<> block66(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5271 : compiler::CodeAssemblerParameterizedLabel<> block69(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5272 : compiler::CodeAssemblerParameterizedLabel<> block68(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5273 : compiler::CodeAssemblerParameterizedLabel<> block71(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5274 : compiler::CodeAssemblerParameterizedLabel<> block70(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5275 : compiler::CodeAssemblerParameterizedLabel<> block73(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5276 : compiler::CodeAssemblerParameterizedLabel<> block72(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5277 : compiler::CodeAssemblerParameterizedLabel<> block75(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5278 : compiler::CodeAssemblerParameterizedLabel<> block74(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5279 : compiler::CodeAssemblerParameterizedLabel<> block77(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5280 : compiler::CodeAssemblerParameterizedLabel<> block76(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5281 : compiler::CodeAssemblerParameterizedLabel<> block79(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5282 : compiler::CodeAssemblerParameterizedLabel<> block78(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5283 : compiler::CodeAssemblerParameterizedLabel<> block81(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5284 : compiler::CodeAssemblerParameterizedLabel<> block80(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5285 : compiler::CodeAssemblerParameterizedLabel<> block83(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5286 : compiler::CodeAssemblerParameterizedLabel<> block82(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5287 : compiler::CodeAssemblerParameterizedLabel<> block85(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5288 : compiler::CodeAssemblerParameterizedLabel<> block84(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5289 : compiler::CodeAssemblerParameterizedLabel<> block87(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5290 : compiler::CodeAssemblerParameterizedLabel<> block86(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5291 : compiler::CodeAssemblerParameterizedLabel<> block89(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5292 : compiler::CodeAssemblerParameterizedLabel<> block88(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5293 : compiler::CodeAssemblerParameterizedLabel<> block91(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5294 : compiler::CodeAssemblerParameterizedLabel<> block90(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5295 : compiler::CodeAssemblerParameterizedLabel<> block93(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5296 : compiler::CodeAssemblerParameterizedLabel<> block92(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5297 : compiler::CodeAssemblerParameterizedLabel<> block95(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5298 : compiler::CodeAssemblerParameterizedLabel<> block94(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5299 : compiler::CodeAssemblerParameterizedLabel<> block97(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5300 : compiler::CodeAssemblerParameterizedLabel<> block96(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5301 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5302 : compiler::CodeAssemblerParameterizedLabel<> block98(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5303 : ca_.Goto(&block0);
5304 :
5305 5 : if (block0.is_used()) {
5306 : ca_.Bind(&block0);
5307 : compiler::TNode<BoolT> tmp0;
5308 : USE(tmp0);
5309 15 : tmp0 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5310 : compiler::TNode<BoolT> tmp1;
5311 : USE(tmp1);
5312 15 : tmp1 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5313 : compiler::TNode<BoolT> tmp2;
5314 : USE(tmp2);
5315 15 : tmp2 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5316 : compiler::TNode<BoolT> tmp3;
5317 : USE(tmp3);
5318 15 : tmp3 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp0}, compiler::TNode<BoolT>{tmp1}, compiler::TNode<BoolT>{tmp2}));
5319 5 : ca_.Branch(tmp3, &block2, &block3);
5320 : }
5321 :
5322 5 : if (block3.is_used()) {
5323 : ca_.Bind(&block3);
5324 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr1(true, true, true)\' failed", "../../test/torque/test-torque.tq", 531);
5325 : }
5326 :
5327 5 : if (block2.is_used()) {
5328 : ca_.Bind(&block2);
5329 : compiler::TNode<BoolT> tmp4;
5330 : USE(tmp4);
5331 15 : tmp4 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5332 : compiler::TNode<BoolT> tmp5;
5333 : USE(tmp5);
5334 15 : tmp5 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5335 : compiler::TNode<BoolT> tmp6;
5336 : USE(tmp6);
5337 15 : tmp6 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5338 : compiler::TNode<BoolT> tmp7;
5339 : USE(tmp7);
5340 15 : tmp7 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp4}, compiler::TNode<BoolT>{tmp5}, compiler::TNode<BoolT>{tmp6}));
5341 5 : ca_.Branch(tmp7, &block4, &block5);
5342 : }
5343 :
5344 5 : if (block5.is_used()) {
5345 : ca_.Bind(&block5);
5346 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr2(true, true, true)\' failed", "../../test/torque/test-torque.tq", 532);
5347 : }
5348 :
5349 5 : if (block4.is_used()) {
5350 : ca_.Bind(&block4);
5351 : compiler::TNode<BoolT> tmp8;
5352 : USE(tmp8);
5353 15 : tmp8 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5354 : compiler::TNode<BoolT> tmp9;
5355 : USE(tmp9);
5356 15 : tmp9 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5357 : compiler::TNode<BoolT> tmp10;
5358 : USE(tmp10);
5359 15 : tmp10 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5360 : compiler::TNode<BoolT> tmp11;
5361 : USE(tmp11);
5362 15 : tmp11 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp8}, compiler::TNode<BoolT>{tmp9}, compiler::TNode<BoolT>{tmp10}));
5363 5 : ca_.Branch(tmp11, &block6, &block7);
5364 : }
5365 :
5366 5 : if (block7.is_used()) {
5367 : ca_.Bind(&block7);
5368 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr3(true, true, true)\' failed", "../../test/torque/test-torque.tq", 533);
5369 : }
5370 :
5371 5 : if (block6.is_used()) {
5372 : ca_.Bind(&block6);
5373 : compiler::TNode<BoolT> tmp12;
5374 : USE(tmp12);
5375 15 : tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5376 : compiler::TNode<BoolT> tmp13;
5377 : USE(tmp13);
5378 15 : tmp13 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5379 : compiler::TNode<BoolT> tmp14;
5380 : USE(tmp14);
5381 15 : tmp14 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5382 : compiler::TNode<BoolT> tmp15;
5383 : USE(tmp15);
5384 15 : tmp15 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp12}, compiler::TNode<BoolT>{tmp13}, compiler::TNode<BoolT>{tmp14}));
5385 5 : ca_.Branch(tmp15, &block8, &block9);
5386 : }
5387 :
5388 5 : if (block9.is_used()) {
5389 : ca_.Bind(&block9);
5390 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr1(true, true, false)\' failed", "../../test/torque/test-torque.tq", 534);
5391 : }
5392 :
5393 5 : if (block8.is_used()) {
5394 : ca_.Bind(&block8);
5395 : compiler::TNode<BoolT> tmp16;
5396 : USE(tmp16);
5397 15 : tmp16 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5398 : compiler::TNode<BoolT> tmp17;
5399 : USE(tmp17);
5400 15 : tmp17 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5401 : compiler::TNode<BoolT> tmp18;
5402 : USE(tmp18);
5403 15 : tmp18 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5404 : compiler::TNode<BoolT> tmp19;
5405 : USE(tmp19);
5406 15 : tmp19 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp16}, compiler::TNode<BoolT>{tmp17}, compiler::TNode<BoolT>{tmp18}));
5407 5 : ca_.Branch(tmp19, &block10, &block11);
5408 : }
5409 :
5410 5 : if (block11.is_used()) {
5411 : ca_.Bind(&block11);
5412 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr2(true, true, false)\' failed", "../../test/torque/test-torque.tq", 535);
5413 : }
5414 :
5415 5 : if (block10.is_used()) {
5416 : ca_.Bind(&block10);
5417 : compiler::TNode<BoolT> tmp20;
5418 : USE(tmp20);
5419 15 : tmp20 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5420 : compiler::TNode<BoolT> tmp21;
5421 : USE(tmp21);
5422 15 : tmp21 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5423 : compiler::TNode<BoolT> tmp22;
5424 : USE(tmp22);
5425 15 : tmp22 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5426 : compiler::TNode<BoolT> tmp23;
5427 : USE(tmp23);
5428 15 : tmp23 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp20}, compiler::TNode<BoolT>{tmp21}, compiler::TNode<BoolT>{tmp22}));
5429 5 : ca_.Branch(tmp23, &block12, &block13);
5430 : }
5431 :
5432 5 : if (block13.is_used()) {
5433 : ca_.Bind(&block13);
5434 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr3(true, true, false)\' failed", "../../test/torque/test-torque.tq", 536);
5435 : }
5436 :
5437 5 : if (block12.is_used()) {
5438 : ca_.Bind(&block12);
5439 : compiler::TNode<BoolT> tmp24;
5440 : USE(tmp24);
5441 15 : tmp24 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5442 : compiler::TNode<BoolT> tmp25;
5443 : USE(tmp25);
5444 15 : tmp25 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5445 : compiler::TNode<BoolT> tmp26;
5446 : USE(tmp26);
5447 15 : tmp26 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5448 : compiler::TNode<BoolT> tmp27;
5449 : USE(tmp27);
5450 15 : tmp27 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp24}, compiler::TNode<BoolT>{tmp25}, compiler::TNode<BoolT>{tmp26}));
5451 5 : ca_.Branch(tmp27, &block14, &block15);
5452 : }
5453 :
5454 5 : if (block15.is_used()) {
5455 : ca_.Bind(&block15);
5456 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr1(true, false, true)\' failed", "../../test/torque/test-torque.tq", 537);
5457 : }
5458 :
5459 5 : if (block14.is_used()) {
5460 : ca_.Bind(&block14);
5461 : compiler::TNode<BoolT> tmp28;
5462 : USE(tmp28);
5463 15 : tmp28 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5464 : compiler::TNode<BoolT> tmp29;
5465 : USE(tmp29);
5466 15 : tmp29 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5467 : compiler::TNode<BoolT> tmp30;
5468 : USE(tmp30);
5469 15 : tmp30 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5470 : compiler::TNode<BoolT> tmp31;
5471 : USE(tmp31);
5472 15 : tmp31 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp28}, compiler::TNode<BoolT>{tmp29}, compiler::TNode<BoolT>{tmp30}));
5473 5 : ca_.Branch(tmp31, &block16, &block17);
5474 : }
5475 :
5476 5 : if (block17.is_used()) {
5477 : ca_.Bind(&block17);
5478 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr2(true, false, true)\' failed", "../../test/torque/test-torque.tq", 538);
5479 : }
5480 :
5481 5 : if (block16.is_used()) {
5482 : ca_.Bind(&block16);
5483 : compiler::TNode<BoolT> tmp32;
5484 : USE(tmp32);
5485 15 : tmp32 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5486 : compiler::TNode<BoolT> tmp33;
5487 : USE(tmp33);
5488 15 : tmp33 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5489 : compiler::TNode<BoolT> tmp34;
5490 : USE(tmp34);
5491 15 : tmp34 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5492 : compiler::TNode<BoolT> tmp35;
5493 : USE(tmp35);
5494 15 : tmp35 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp32}, compiler::TNode<BoolT>{tmp33}, compiler::TNode<BoolT>{tmp34}));
5495 5 : ca_.Branch(tmp35, &block18, &block19);
5496 : }
5497 :
5498 5 : if (block19.is_used()) {
5499 : ca_.Bind(&block19);
5500 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr3(true, false, true)\' failed", "../../test/torque/test-torque.tq", 539);
5501 : }
5502 :
5503 5 : if (block18.is_used()) {
5504 : ca_.Bind(&block18);
5505 : compiler::TNode<BoolT> tmp36;
5506 : USE(tmp36);
5507 15 : tmp36 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5508 : compiler::TNode<BoolT> tmp37;
5509 : USE(tmp37);
5510 15 : tmp37 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5511 : compiler::TNode<BoolT> tmp38;
5512 : USE(tmp38);
5513 15 : tmp38 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5514 : compiler::TNode<BoolT> tmp39;
5515 : USE(tmp39);
5516 15 : tmp39 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp36}, compiler::TNode<BoolT>{tmp37}, compiler::TNode<BoolT>{tmp38}));
5517 : compiler::TNode<BoolT> tmp40;
5518 : USE(tmp40);
5519 10 : tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp39}));
5520 5 : ca_.Branch(tmp40, &block20, &block21);
5521 : }
5522 :
5523 5 : if (block21.is_used()) {
5524 : ca_.Bind(&block21);
5525 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr1(true, false, false)\' failed", "../../test/torque/test-torque.tq", 540);
5526 : }
5527 :
5528 5 : if (block20.is_used()) {
5529 : ca_.Bind(&block20);
5530 : compiler::TNode<BoolT> tmp41;
5531 : USE(tmp41);
5532 15 : tmp41 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5533 : compiler::TNode<BoolT> tmp42;
5534 : USE(tmp42);
5535 15 : tmp42 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5536 : compiler::TNode<BoolT> tmp43;
5537 : USE(tmp43);
5538 15 : tmp43 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5539 : compiler::TNode<BoolT> tmp44;
5540 : USE(tmp44);
5541 15 : tmp44 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp41}, compiler::TNode<BoolT>{tmp42}, compiler::TNode<BoolT>{tmp43}));
5542 : compiler::TNode<BoolT> tmp45;
5543 : USE(tmp45);
5544 10 : tmp45 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp44}));
5545 5 : ca_.Branch(tmp45, &block22, &block23);
5546 : }
5547 :
5548 5 : if (block23.is_used()) {
5549 : ca_.Bind(&block23);
5550 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr2(true, false, false)\' failed", "../../test/torque/test-torque.tq", 541);
5551 : }
5552 :
5553 5 : if (block22.is_used()) {
5554 : ca_.Bind(&block22);
5555 : compiler::TNode<BoolT> tmp46;
5556 : USE(tmp46);
5557 15 : tmp46 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5558 : compiler::TNode<BoolT> tmp47;
5559 : USE(tmp47);
5560 15 : tmp47 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5561 : compiler::TNode<BoolT> tmp48;
5562 : USE(tmp48);
5563 15 : tmp48 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5564 : compiler::TNode<BoolT> tmp49;
5565 : USE(tmp49);
5566 15 : tmp49 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp46}, compiler::TNode<BoolT>{tmp47}, compiler::TNode<BoolT>{tmp48}));
5567 : compiler::TNode<BoolT> tmp50;
5568 : USE(tmp50);
5569 10 : tmp50 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp49}));
5570 5 : ca_.Branch(tmp50, &block24, &block25);
5571 : }
5572 :
5573 5 : if (block25.is_used()) {
5574 : ca_.Bind(&block25);
5575 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr3(true, false, false)\' failed", "../../test/torque/test-torque.tq", 542);
5576 : }
5577 :
5578 5 : if (block24.is_used()) {
5579 : ca_.Bind(&block24);
5580 : compiler::TNode<BoolT> tmp51;
5581 : USE(tmp51);
5582 15 : tmp51 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5583 : compiler::TNode<BoolT> tmp52;
5584 : USE(tmp52);
5585 15 : tmp52 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5586 : compiler::TNode<BoolT> tmp53;
5587 : USE(tmp53);
5588 15 : tmp53 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5589 : compiler::TNode<BoolT> tmp54;
5590 : USE(tmp54);
5591 15 : tmp54 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp51}, compiler::TNode<BoolT>{tmp52}, compiler::TNode<BoolT>{tmp53}));
5592 5 : ca_.Branch(tmp54, &block26, &block27);
5593 : }
5594 :
5595 5 : if (block27.is_used()) {
5596 : ca_.Bind(&block27);
5597 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr1(false, true, true)\' failed", "../../test/torque/test-torque.tq", 543);
5598 : }
5599 :
5600 5 : if (block26.is_used()) {
5601 : ca_.Bind(&block26);
5602 : compiler::TNode<BoolT> tmp55;
5603 : USE(tmp55);
5604 15 : tmp55 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5605 : compiler::TNode<BoolT> tmp56;
5606 : USE(tmp56);
5607 15 : tmp56 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5608 : compiler::TNode<BoolT> tmp57;
5609 : USE(tmp57);
5610 15 : tmp57 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5611 : compiler::TNode<BoolT> tmp58;
5612 : USE(tmp58);
5613 15 : tmp58 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp55}, compiler::TNode<BoolT>{tmp56}, compiler::TNode<BoolT>{tmp57}));
5614 5 : ca_.Branch(tmp58, &block28, &block29);
5615 : }
5616 :
5617 5 : if (block29.is_used()) {
5618 : ca_.Bind(&block29);
5619 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr2(false, true, true)\' failed", "../../test/torque/test-torque.tq", 544);
5620 : }
5621 :
5622 5 : if (block28.is_used()) {
5623 : ca_.Bind(&block28);
5624 : compiler::TNode<BoolT> tmp59;
5625 : USE(tmp59);
5626 15 : tmp59 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5627 : compiler::TNode<BoolT> tmp60;
5628 : USE(tmp60);
5629 15 : tmp60 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5630 : compiler::TNode<BoolT> tmp61;
5631 : USE(tmp61);
5632 15 : tmp61 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5633 : compiler::TNode<BoolT> tmp62;
5634 : USE(tmp62);
5635 15 : tmp62 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp59}, compiler::TNode<BoolT>{tmp60}, compiler::TNode<BoolT>{tmp61}));
5636 5 : ca_.Branch(tmp62, &block30, &block31);
5637 : }
5638 :
5639 5 : if (block31.is_used()) {
5640 : ca_.Bind(&block31);
5641 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr3(false, true, true)\' failed", "../../test/torque/test-torque.tq", 545);
5642 : }
5643 :
5644 5 : if (block30.is_used()) {
5645 : ca_.Bind(&block30);
5646 : compiler::TNode<BoolT> tmp63;
5647 : USE(tmp63);
5648 15 : tmp63 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5649 : compiler::TNode<BoolT> tmp64;
5650 : USE(tmp64);
5651 15 : tmp64 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5652 : compiler::TNode<BoolT> tmp65;
5653 : USE(tmp65);
5654 15 : tmp65 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5655 : compiler::TNode<BoolT> tmp66;
5656 : USE(tmp66);
5657 15 : tmp66 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp63}, compiler::TNode<BoolT>{tmp64}, compiler::TNode<BoolT>{tmp65}));
5658 : compiler::TNode<BoolT> tmp67;
5659 : USE(tmp67);
5660 10 : tmp67 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp66}));
5661 5 : ca_.Branch(tmp67, &block32, &block33);
5662 : }
5663 :
5664 5 : if (block33.is_used()) {
5665 : ca_.Bind(&block33);
5666 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr1(false, true, false)\' failed", "../../test/torque/test-torque.tq", 546);
5667 : }
5668 :
5669 5 : if (block32.is_used()) {
5670 : ca_.Bind(&block32);
5671 : compiler::TNode<BoolT> tmp68;
5672 : USE(tmp68);
5673 15 : tmp68 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5674 : compiler::TNode<BoolT> tmp69;
5675 : USE(tmp69);
5676 15 : tmp69 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5677 : compiler::TNode<BoolT> tmp70;
5678 : USE(tmp70);
5679 15 : tmp70 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5680 : compiler::TNode<BoolT> tmp71;
5681 : USE(tmp71);
5682 15 : tmp71 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp68}, compiler::TNode<BoolT>{tmp69}, compiler::TNode<BoolT>{tmp70}));
5683 : compiler::TNode<BoolT> tmp72;
5684 : USE(tmp72);
5685 10 : tmp72 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp71}));
5686 5 : ca_.Branch(tmp72, &block34, &block35);
5687 : }
5688 :
5689 5 : if (block35.is_used()) {
5690 : ca_.Bind(&block35);
5691 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr2(false, true, false)\' failed", "../../test/torque/test-torque.tq", 547);
5692 : }
5693 :
5694 5 : if (block34.is_used()) {
5695 : ca_.Bind(&block34);
5696 : compiler::TNode<BoolT> tmp73;
5697 : USE(tmp73);
5698 15 : tmp73 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5699 : compiler::TNode<BoolT> tmp74;
5700 : USE(tmp74);
5701 15 : tmp74 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5702 : compiler::TNode<BoolT> tmp75;
5703 : USE(tmp75);
5704 15 : tmp75 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5705 : compiler::TNode<BoolT> tmp76;
5706 : USE(tmp76);
5707 15 : tmp76 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp73}, compiler::TNode<BoolT>{tmp74}, compiler::TNode<BoolT>{tmp75}));
5708 : compiler::TNode<BoolT> tmp77;
5709 : USE(tmp77);
5710 10 : tmp77 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp76}));
5711 5 : ca_.Branch(tmp77, &block36, &block37);
5712 : }
5713 :
5714 5 : if (block37.is_used()) {
5715 : ca_.Bind(&block37);
5716 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr3(false, true, false)\' failed", "../../test/torque/test-torque.tq", 548);
5717 : }
5718 :
5719 5 : if (block36.is_used()) {
5720 : ca_.Bind(&block36);
5721 : compiler::TNode<BoolT> tmp78;
5722 : USE(tmp78);
5723 15 : tmp78 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5724 : compiler::TNode<BoolT> tmp79;
5725 : USE(tmp79);
5726 15 : tmp79 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5727 : compiler::TNode<BoolT> tmp80;
5728 : USE(tmp80);
5729 15 : tmp80 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5730 : compiler::TNode<BoolT> tmp81;
5731 : USE(tmp81);
5732 15 : tmp81 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp78}, compiler::TNode<BoolT>{tmp79}, compiler::TNode<BoolT>{tmp80}));
5733 5 : ca_.Branch(tmp81, &block38, &block39);
5734 : }
5735 :
5736 5 : if (block39.is_used()) {
5737 : ca_.Bind(&block39);
5738 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr1(false, false, true)\' failed", "../../test/torque/test-torque.tq", 549);
5739 : }
5740 :
5741 5 : if (block38.is_used()) {
5742 : ca_.Bind(&block38);
5743 : compiler::TNode<BoolT> tmp82;
5744 : USE(tmp82);
5745 15 : tmp82 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5746 : compiler::TNode<BoolT> tmp83;
5747 : USE(tmp83);
5748 15 : tmp83 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5749 : compiler::TNode<BoolT> tmp84;
5750 : USE(tmp84);
5751 15 : tmp84 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5752 : compiler::TNode<BoolT> tmp85;
5753 : USE(tmp85);
5754 15 : tmp85 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp82}, compiler::TNode<BoolT>{tmp83}, compiler::TNode<BoolT>{tmp84}));
5755 5 : ca_.Branch(tmp85, &block40, &block41);
5756 : }
5757 :
5758 5 : if (block41.is_used()) {
5759 : ca_.Bind(&block41);
5760 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr2(false, false, true)\' failed", "../../test/torque/test-torque.tq", 550);
5761 : }
5762 :
5763 5 : if (block40.is_used()) {
5764 : ca_.Bind(&block40);
5765 : compiler::TNode<BoolT> tmp86;
5766 : USE(tmp86);
5767 15 : tmp86 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5768 : compiler::TNode<BoolT> tmp87;
5769 : USE(tmp87);
5770 15 : tmp87 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5771 : compiler::TNode<BoolT> tmp88;
5772 : USE(tmp88);
5773 15 : tmp88 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5774 : compiler::TNode<BoolT> tmp89;
5775 : USE(tmp89);
5776 15 : tmp89 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp86}, compiler::TNode<BoolT>{tmp87}, compiler::TNode<BoolT>{tmp88}));
5777 5 : ca_.Branch(tmp89, &block42, &block43);
5778 : }
5779 :
5780 5 : if (block43.is_used()) {
5781 : ca_.Bind(&block43);
5782 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestAndOr3(false, false, true)\' failed", "../../test/torque/test-torque.tq", 551);
5783 : }
5784 :
5785 5 : if (block42.is_used()) {
5786 : ca_.Bind(&block42);
5787 : compiler::TNode<BoolT> tmp90;
5788 : USE(tmp90);
5789 15 : tmp90 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5790 : compiler::TNode<BoolT> tmp91;
5791 : USE(tmp91);
5792 15 : tmp91 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5793 : compiler::TNode<BoolT> tmp92;
5794 : USE(tmp92);
5795 15 : tmp92 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5796 : compiler::TNode<BoolT> tmp93;
5797 : USE(tmp93);
5798 15 : tmp93 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr1(compiler::TNode<BoolT>{tmp90}, compiler::TNode<BoolT>{tmp91}, compiler::TNode<BoolT>{tmp92}));
5799 : compiler::TNode<BoolT> tmp94;
5800 : USE(tmp94);
5801 10 : tmp94 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp93}));
5802 5 : ca_.Branch(tmp94, &block44, &block45);
5803 : }
5804 :
5805 5 : if (block45.is_used()) {
5806 : ca_.Bind(&block45);
5807 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr1(false, false, false)\' failed", "../../test/torque/test-torque.tq", 552);
5808 : }
5809 :
5810 5 : if (block44.is_used()) {
5811 : ca_.Bind(&block44);
5812 : compiler::TNode<BoolT> tmp95;
5813 : USE(tmp95);
5814 15 : tmp95 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5815 : compiler::TNode<BoolT> tmp96;
5816 : USE(tmp96);
5817 15 : tmp96 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5818 : compiler::TNode<BoolT> tmp97;
5819 : USE(tmp97);
5820 15 : tmp97 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5821 : compiler::TNode<BoolT> tmp98;
5822 : USE(tmp98);
5823 15 : tmp98 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr2(compiler::TNode<BoolT>{tmp95}, compiler::TNode<BoolT>{tmp96}, compiler::TNode<BoolT>{tmp97}));
5824 : compiler::TNode<BoolT> tmp99;
5825 : USE(tmp99);
5826 10 : tmp99 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp98}));
5827 5 : ca_.Branch(tmp99, &block46, &block47);
5828 : }
5829 :
5830 5 : if (block47.is_used()) {
5831 : ca_.Bind(&block47);
5832 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr2(false, false, false)\' failed", "../../test/torque/test-torque.tq", 553);
5833 : }
5834 :
5835 5 : if (block46.is_used()) {
5836 : ca_.Bind(&block46);
5837 : compiler::TNode<BoolT> tmp100;
5838 : USE(tmp100);
5839 15 : tmp100 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5840 : compiler::TNode<BoolT> tmp101;
5841 : USE(tmp101);
5842 15 : tmp101 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5843 : compiler::TNode<BoolT> tmp102;
5844 : USE(tmp102);
5845 15 : tmp102 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5846 : compiler::TNode<BoolT> tmp103;
5847 : USE(tmp103);
5848 15 : tmp103 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestAndOr3(compiler::TNode<BoolT>{tmp100}, compiler::TNode<BoolT>{tmp101}, compiler::TNode<BoolT>{tmp102}));
5849 : compiler::TNode<BoolT> tmp104;
5850 : USE(tmp104);
5851 10 : tmp104 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp103}));
5852 5 : ca_.Branch(tmp104, &block48, &block49);
5853 : }
5854 :
5855 5 : if (block49.is_used()) {
5856 : ca_.Bind(&block49);
5857 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestAndOr3(false, false, false)\' failed", "../../test/torque/test-torque.tq", 554);
5858 : }
5859 :
5860 5 : if (block48.is_used()) {
5861 : ca_.Bind(&block48);
5862 : compiler::TNode<BoolT> tmp105;
5863 : USE(tmp105);
5864 15 : tmp105 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5865 : compiler::TNode<BoolT> tmp106;
5866 : USE(tmp106);
5867 15 : tmp106 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5868 : compiler::TNode<BoolT> tmp107;
5869 : USE(tmp107);
5870 15 : tmp107 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5871 : compiler::TNode<BoolT> tmp108;
5872 : USE(tmp108);
5873 15 : tmp108 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp105}, compiler::TNode<BoolT>{tmp106}, compiler::TNode<BoolT>{tmp107}));
5874 5 : ca_.Branch(tmp108, &block50, &block51);
5875 : }
5876 :
5877 5 : if (block51.is_used()) {
5878 : ca_.Bind(&block51);
5879 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd1(true, true, true)\' failed", "../../test/torque/test-torque.tq", 555);
5880 : }
5881 :
5882 5 : if (block50.is_used()) {
5883 : ca_.Bind(&block50);
5884 : compiler::TNode<BoolT> tmp109;
5885 : USE(tmp109);
5886 15 : tmp109 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5887 : compiler::TNode<BoolT> tmp110;
5888 : USE(tmp110);
5889 15 : tmp110 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5890 : compiler::TNode<BoolT> tmp111;
5891 : USE(tmp111);
5892 15 : tmp111 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5893 : compiler::TNode<BoolT> tmp112;
5894 : USE(tmp112);
5895 15 : tmp112 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp109}, compiler::TNode<BoolT>{tmp110}, compiler::TNode<BoolT>{tmp111}));
5896 5 : ca_.Branch(tmp112, &block52, &block53);
5897 : }
5898 :
5899 5 : if (block53.is_used()) {
5900 : ca_.Bind(&block53);
5901 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd2(true, true, true)\' failed", "../../test/torque/test-torque.tq", 556);
5902 : }
5903 :
5904 5 : if (block52.is_used()) {
5905 : ca_.Bind(&block52);
5906 : compiler::TNode<BoolT> tmp113;
5907 : USE(tmp113);
5908 15 : tmp113 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5909 : compiler::TNode<BoolT> tmp114;
5910 : USE(tmp114);
5911 15 : tmp114 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5912 : compiler::TNode<BoolT> tmp115;
5913 : USE(tmp115);
5914 15 : tmp115 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5915 : compiler::TNode<BoolT> tmp116;
5916 : USE(tmp116);
5917 15 : tmp116 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp113}, compiler::TNode<BoolT>{tmp114}, compiler::TNode<BoolT>{tmp115}));
5918 5 : ca_.Branch(tmp116, &block54, &block55);
5919 : }
5920 :
5921 5 : if (block55.is_used()) {
5922 : ca_.Bind(&block55);
5923 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd3(true, true, true)\' failed", "../../test/torque/test-torque.tq", 557);
5924 : }
5925 :
5926 5 : if (block54.is_used()) {
5927 : ca_.Bind(&block54);
5928 : compiler::TNode<BoolT> tmp117;
5929 : USE(tmp117);
5930 15 : tmp117 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5931 : compiler::TNode<BoolT> tmp118;
5932 : USE(tmp118);
5933 15 : tmp118 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5934 : compiler::TNode<BoolT> tmp119;
5935 : USE(tmp119);
5936 15 : tmp119 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5937 : compiler::TNode<BoolT> tmp120;
5938 : USE(tmp120);
5939 15 : tmp120 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp117}, compiler::TNode<BoolT>{tmp118}, compiler::TNode<BoolT>{tmp119}));
5940 5 : ca_.Branch(tmp120, &block56, &block57);
5941 : }
5942 :
5943 5 : if (block57.is_used()) {
5944 : ca_.Bind(&block57);
5945 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd1(true, true, false)\' failed", "../../test/torque/test-torque.tq", 558);
5946 : }
5947 :
5948 5 : if (block56.is_used()) {
5949 : ca_.Bind(&block56);
5950 : compiler::TNode<BoolT> tmp121;
5951 : USE(tmp121);
5952 15 : tmp121 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5953 : compiler::TNode<BoolT> tmp122;
5954 : USE(tmp122);
5955 15 : tmp122 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5956 : compiler::TNode<BoolT> tmp123;
5957 : USE(tmp123);
5958 15 : tmp123 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5959 : compiler::TNode<BoolT> tmp124;
5960 : USE(tmp124);
5961 15 : tmp124 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp121}, compiler::TNode<BoolT>{tmp122}, compiler::TNode<BoolT>{tmp123}));
5962 5 : ca_.Branch(tmp124, &block58, &block59);
5963 : }
5964 :
5965 5 : if (block59.is_used()) {
5966 : ca_.Bind(&block59);
5967 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd2(true, true, false)\' failed", "../../test/torque/test-torque.tq", 559);
5968 : }
5969 :
5970 5 : if (block58.is_used()) {
5971 : ca_.Bind(&block58);
5972 : compiler::TNode<BoolT> tmp125;
5973 : USE(tmp125);
5974 15 : tmp125 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5975 : compiler::TNode<BoolT> tmp126;
5976 : USE(tmp126);
5977 15 : tmp126 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5978 : compiler::TNode<BoolT> tmp127;
5979 : USE(tmp127);
5980 15 : tmp127 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5981 : compiler::TNode<BoolT> tmp128;
5982 : USE(tmp128);
5983 15 : tmp128 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp125}, compiler::TNode<BoolT>{tmp126}, compiler::TNode<BoolT>{tmp127}));
5984 5 : ca_.Branch(tmp128, &block60, &block61);
5985 : }
5986 :
5987 5 : if (block61.is_used()) {
5988 : ca_.Bind(&block61);
5989 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd3(true, true, false)\' failed", "../../test/torque/test-torque.tq", 560);
5990 : }
5991 :
5992 5 : if (block60.is_used()) {
5993 : ca_.Bind(&block60);
5994 : compiler::TNode<BoolT> tmp129;
5995 : USE(tmp129);
5996 15 : tmp129 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5997 : compiler::TNode<BoolT> tmp130;
5998 : USE(tmp130);
5999 15 : tmp130 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6000 : compiler::TNode<BoolT> tmp131;
6001 : USE(tmp131);
6002 15 : tmp131 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6003 : compiler::TNode<BoolT> tmp132;
6004 : USE(tmp132);
6005 15 : tmp132 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp129}, compiler::TNode<BoolT>{tmp130}, compiler::TNode<BoolT>{tmp131}));
6006 5 : ca_.Branch(tmp132, &block62, &block63);
6007 : }
6008 :
6009 5 : if (block63.is_used()) {
6010 : ca_.Bind(&block63);
6011 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd1(true, false, true)\' failed", "../../test/torque/test-torque.tq", 561);
6012 : }
6013 :
6014 5 : if (block62.is_used()) {
6015 : ca_.Bind(&block62);
6016 : compiler::TNode<BoolT> tmp133;
6017 : USE(tmp133);
6018 15 : tmp133 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6019 : compiler::TNode<BoolT> tmp134;
6020 : USE(tmp134);
6021 15 : tmp134 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6022 : compiler::TNode<BoolT> tmp135;
6023 : USE(tmp135);
6024 15 : tmp135 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6025 : compiler::TNode<BoolT> tmp136;
6026 : USE(tmp136);
6027 15 : tmp136 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp133}, compiler::TNode<BoolT>{tmp134}, compiler::TNode<BoolT>{tmp135}));
6028 5 : ca_.Branch(tmp136, &block64, &block65);
6029 : }
6030 :
6031 5 : if (block65.is_used()) {
6032 : ca_.Bind(&block65);
6033 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd2(true, false, true)\' failed", "../../test/torque/test-torque.tq", 562);
6034 : }
6035 :
6036 5 : if (block64.is_used()) {
6037 : ca_.Bind(&block64);
6038 : compiler::TNode<BoolT> tmp137;
6039 : USE(tmp137);
6040 15 : tmp137 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6041 : compiler::TNode<BoolT> tmp138;
6042 : USE(tmp138);
6043 15 : tmp138 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6044 : compiler::TNode<BoolT> tmp139;
6045 : USE(tmp139);
6046 15 : tmp139 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6047 : compiler::TNode<BoolT> tmp140;
6048 : USE(tmp140);
6049 15 : tmp140 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp137}, compiler::TNode<BoolT>{tmp138}, compiler::TNode<BoolT>{tmp139}));
6050 5 : ca_.Branch(tmp140, &block66, &block67);
6051 : }
6052 :
6053 5 : if (block67.is_used()) {
6054 : ca_.Bind(&block67);
6055 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd3(true, false, true)\' failed", "../../test/torque/test-torque.tq", 563);
6056 : }
6057 :
6058 5 : if (block66.is_used()) {
6059 : ca_.Bind(&block66);
6060 : compiler::TNode<BoolT> tmp141;
6061 : USE(tmp141);
6062 15 : tmp141 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6063 : compiler::TNode<BoolT> tmp142;
6064 : USE(tmp142);
6065 15 : tmp142 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6066 : compiler::TNode<BoolT> tmp143;
6067 : USE(tmp143);
6068 15 : tmp143 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6069 : compiler::TNode<BoolT> tmp144;
6070 : USE(tmp144);
6071 15 : tmp144 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp141}, compiler::TNode<BoolT>{tmp142}, compiler::TNode<BoolT>{tmp143}));
6072 5 : ca_.Branch(tmp144, &block68, &block69);
6073 : }
6074 :
6075 5 : if (block69.is_used()) {
6076 : ca_.Bind(&block69);
6077 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd1(true, false, false)\' failed", "../../test/torque/test-torque.tq", 564);
6078 : }
6079 :
6080 5 : if (block68.is_used()) {
6081 : ca_.Bind(&block68);
6082 : compiler::TNode<BoolT> tmp145;
6083 : USE(tmp145);
6084 15 : tmp145 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6085 : compiler::TNode<BoolT> tmp146;
6086 : USE(tmp146);
6087 15 : tmp146 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6088 : compiler::TNode<BoolT> tmp147;
6089 : USE(tmp147);
6090 15 : tmp147 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6091 : compiler::TNode<BoolT> tmp148;
6092 : USE(tmp148);
6093 15 : tmp148 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp145}, compiler::TNode<BoolT>{tmp146}, compiler::TNode<BoolT>{tmp147}));
6094 5 : ca_.Branch(tmp148, &block70, &block71);
6095 : }
6096 :
6097 5 : if (block71.is_used()) {
6098 : ca_.Bind(&block71);
6099 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd2(true, false, false)\' failed", "../../test/torque/test-torque.tq", 565);
6100 : }
6101 :
6102 5 : if (block70.is_used()) {
6103 : ca_.Bind(&block70);
6104 : compiler::TNode<BoolT> tmp149;
6105 : USE(tmp149);
6106 15 : tmp149 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6107 : compiler::TNode<BoolT> tmp150;
6108 : USE(tmp150);
6109 15 : tmp150 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6110 : compiler::TNode<BoolT> tmp151;
6111 : USE(tmp151);
6112 15 : tmp151 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6113 : compiler::TNode<BoolT> tmp152;
6114 : USE(tmp152);
6115 15 : tmp152 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp149}, compiler::TNode<BoolT>{tmp150}, compiler::TNode<BoolT>{tmp151}));
6116 5 : ca_.Branch(tmp152, &block72, &block73);
6117 : }
6118 :
6119 5 : if (block73.is_used()) {
6120 : ca_.Bind(&block73);
6121 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd3(true, false, false)\' failed", "../../test/torque/test-torque.tq", 566);
6122 : }
6123 :
6124 5 : if (block72.is_used()) {
6125 : ca_.Bind(&block72);
6126 : compiler::TNode<BoolT> tmp153;
6127 : USE(tmp153);
6128 15 : tmp153 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6129 : compiler::TNode<BoolT> tmp154;
6130 : USE(tmp154);
6131 15 : tmp154 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6132 : compiler::TNode<BoolT> tmp155;
6133 : USE(tmp155);
6134 15 : tmp155 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6135 : compiler::TNode<BoolT> tmp156;
6136 : USE(tmp156);
6137 15 : tmp156 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp153}, compiler::TNode<BoolT>{tmp154}, compiler::TNode<BoolT>{tmp155}));
6138 5 : ca_.Branch(tmp156, &block74, &block75);
6139 : }
6140 :
6141 5 : if (block75.is_used()) {
6142 : ca_.Bind(&block75);
6143 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd1(false, true, true)\' failed", "../../test/torque/test-torque.tq", 567);
6144 : }
6145 :
6146 5 : if (block74.is_used()) {
6147 : ca_.Bind(&block74);
6148 : compiler::TNode<BoolT> tmp157;
6149 : USE(tmp157);
6150 15 : tmp157 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6151 : compiler::TNode<BoolT> tmp158;
6152 : USE(tmp158);
6153 15 : tmp158 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6154 : compiler::TNode<BoolT> tmp159;
6155 : USE(tmp159);
6156 15 : tmp159 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6157 : compiler::TNode<BoolT> tmp160;
6158 : USE(tmp160);
6159 15 : tmp160 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp157}, compiler::TNode<BoolT>{tmp158}, compiler::TNode<BoolT>{tmp159}));
6160 5 : ca_.Branch(tmp160, &block76, &block77);
6161 : }
6162 :
6163 5 : if (block77.is_used()) {
6164 : ca_.Bind(&block77);
6165 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd2(false, true, true)\' failed", "../../test/torque/test-torque.tq", 568);
6166 : }
6167 :
6168 5 : if (block76.is_used()) {
6169 : ca_.Bind(&block76);
6170 : compiler::TNode<BoolT> tmp161;
6171 : USE(tmp161);
6172 15 : tmp161 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6173 : compiler::TNode<BoolT> tmp162;
6174 : USE(tmp162);
6175 15 : tmp162 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6176 : compiler::TNode<BoolT> tmp163;
6177 : USE(tmp163);
6178 15 : tmp163 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6179 : compiler::TNode<BoolT> tmp164;
6180 : USE(tmp164);
6181 15 : tmp164 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp161}, compiler::TNode<BoolT>{tmp162}, compiler::TNode<BoolT>{tmp163}));
6182 5 : ca_.Branch(tmp164, &block78, &block79);
6183 : }
6184 :
6185 5 : if (block79.is_used()) {
6186 : ca_.Bind(&block79);
6187 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'TestOrAnd3(false, true, true)\' failed", "../../test/torque/test-torque.tq", 569);
6188 : }
6189 :
6190 5 : if (block78.is_used()) {
6191 : ca_.Bind(&block78);
6192 : compiler::TNode<BoolT> tmp165;
6193 : USE(tmp165);
6194 15 : tmp165 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6195 : compiler::TNode<BoolT> tmp166;
6196 : USE(tmp166);
6197 15 : tmp166 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6198 : compiler::TNode<BoolT> tmp167;
6199 : USE(tmp167);
6200 15 : tmp167 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6201 : compiler::TNode<BoolT> tmp168;
6202 : USE(tmp168);
6203 15 : tmp168 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp165}, compiler::TNode<BoolT>{tmp166}, compiler::TNode<BoolT>{tmp167}));
6204 : compiler::TNode<BoolT> tmp169;
6205 : USE(tmp169);
6206 10 : tmp169 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp168}));
6207 5 : ca_.Branch(tmp169, &block80, &block81);
6208 : }
6209 :
6210 5 : if (block81.is_used()) {
6211 : ca_.Bind(&block81);
6212 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd1(false, true, false)\' failed", "../../test/torque/test-torque.tq", 570);
6213 : }
6214 :
6215 5 : if (block80.is_used()) {
6216 : ca_.Bind(&block80);
6217 : compiler::TNode<BoolT> tmp170;
6218 : USE(tmp170);
6219 15 : tmp170 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6220 : compiler::TNode<BoolT> tmp171;
6221 : USE(tmp171);
6222 15 : tmp171 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6223 : compiler::TNode<BoolT> tmp172;
6224 : USE(tmp172);
6225 15 : tmp172 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6226 : compiler::TNode<BoolT> tmp173;
6227 : USE(tmp173);
6228 15 : tmp173 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp170}, compiler::TNode<BoolT>{tmp171}, compiler::TNode<BoolT>{tmp172}));
6229 : compiler::TNode<BoolT> tmp174;
6230 : USE(tmp174);
6231 10 : tmp174 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp173}));
6232 5 : ca_.Branch(tmp174, &block82, &block83);
6233 : }
6234 :
6235 5 : if (block83.is_used()) {
6236 : ca_.Bind(&block83);
6237 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd2(false, true, false)\' failed", "../../test/torque/test-torque.tq", 571);
6238 : }
6239 :
6240 5 : if (block82.is_used()) {
6241 : ca_.Bind(&block82);
6242 : compiler::TNode<BoolT> tmp175;
6243 : USE(tmp175);
6244 15 : tmp175 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6245 : compiler::TNode<BoolT> tmp176;
6246 : USE(tmp176);
6247 15 : tmp176 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6248 : compiler::TNode<BoolT> tmp177;
6249 : USE(tmp177);
6250 15 : tmp177 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6251 : compiler::TNode<BoolT> tmp178;
6252 : USE(tmp178);
6253 15 : tmp178 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp175}, compiler::TNode<BoolT>{tmp176}, compiler::TNode<BoolT>{tmp177}));
6254 : compiler::TNode<BoolT> tmp179;
6255 : USE(tmp179);
6256 10 : tmp179 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp178}));
6257 5 : ca_.Branch(tmp179, &block84, &block85);
6258 : }
6259 :
6260 5 : if (block85.is_used()) {
6261 : ca_.Bind(&block85);
6262 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd3(false, true, false)\' failed", "../../test/torque/test-torque.tq", 572);
6263 : }
6264 :
6265 5 : if (block84.is_used()) {
6266 : ca_.Bind(&block84);
6267 : compiler::TNode<BoolT> tmp180;
6268 : USE(tmp180);
6269 15 : tmp180 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6270 : compiler::TNode<BoolT> tmp181;
6271 : USE(tmp181);
6272 15 : tmp181 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6273 : compiler::TNode<BoolT> tmp182;
6274 : USE(tmp182);
6275 15 : tmp182 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6276 : compiler::TNode<BoolT> tmp183;
6277 : USE(tmp183);
6278 15 : tmp183 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp180}, compiler::TNode<BoolT>{tmp181}, compiler::TNode<BoolT>{tmp182}));
6279 : compiler::TNode<BoolT> tmp184;
6280 : USE(tmp184);
6281 10 : tmp184 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp183}));
6282 5 : ca_.Branch(tmp184, &block86, &block87);
6283 : }
6284 :
6285 5 : if (block87.is_used()) {
6286 : ca_.Bind(&block87);
6287 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd1(false, false, true)\' failed", "../../test/torque/test-torque.tq", 573);
6288 : }
6289 :
6290 5 : if (block86.is_used()) {
6291 : ca_.Bind(&block86);
6292 : compiler::TNode<BoolT> tmp185;
6293 : USE(tmp185);
6294 15 : tmp185 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6295 : compiler::TNode<BoolT> tmp186;
6296 : USE(tmp186);
6297 15 : tmp186 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6298 : compiler::TNode<BoolT> tmp187;
6299 : USE(tmp187);
6300 15 : tmp187 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6301 : compiler::TNode<BoolT> tmp188;
6302 : USE(tmp188);
6303 15 : tmp188 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp185}, compiler::TNode<BoolT>{tmp186}, compiler::TNode<BoolT>{tmp187}));
6304 : compiler::TNode<BoolT> tmp189;
6305 : USE(tmp189);
6306 10 : tmp189 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp188}));
6307 5 : ca_.Branch(tmp189, &block88, &block89);
6308 : }
6309 :
6310 5 : if (block89.is_used()) {
6311 : ca_.Bind(&block89);
6312 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd2(false, false, true)\' failed", "../../test/torque/test-torque.tq", 574);
6313 : }
6314 :
6315 5 : if (block88.is_used()) {
6316 : ca_.Bind(&block88);
6317 : compiler::TNode<BoolT> tmp190;
6318 : USE(tmp190);
6319 15 : tmp190 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6320 : compiler::TNode<BoolT> tmp191;
6321 : USE(tmp191);
6322 15 : tmp191 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6323 : compiler::TNode<BoolT> tmp192;
6324 : USE(tmp192);
6325 15 : tmp192 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
6326 : compiler::TNode<BoolT> tmp193;
6327 : USE(tmp193);
6328 15 : tmp193 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp190}, compiler::TNode<BoolT>{tmp191}, compiler::TNode<BoolT>{tmp192}));
6329 : compiler::TNode<BoolT> tmp194;
6330 : USE(tmp194);
6331 10 : tmp194 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp193}));
6332 5 : ca_.Branch(tmp194, &block90, &block91);
6333 : }
6334 :
6335 5 : if (block91.is_used()) {
6336 : ca_.Bind(&block91);
6337 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd3(false, false, true)\' failed", "../../test/torque/test-torque.tq", 575);
6338 : }
6339 :
6340 5 : if (block90.is_used()) {
6341 : ca_.Bind(&block90);
6342 : compiler::TNode<BoolT> tmp195;
6343 : USE(tmp195);
6344 15 : tmp195 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6345 : compiler::TNode<BoolT> tmp196;
6346 : USE(tmp196);
6347 15 : tmp196 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6348 : compiler::TNode<BoolT> tmp197;
6349 : USE(tmp197);
6350 15 : tmp197 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6351 : compiler::TNode<BoolT> tmp198;
6352 : USE(tmp198);
6353 15 : tmp198 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd1(compiler::TNode<BoolT>{tmp195}, compiler::TNode<BoolT>{tmp196}, compiler::TNode<BoolT>{tmp197}));
6354 : compiler::TNode<BoolT> tmp199;
6355 : USE(tmp199);
6356 10 : tmp199 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp198}));
6357 5 : ca_.Branch(tmp199, &block92, &block93);
6358 : }
6359 :
6360 5 : if (block93.is_used()) {
6361 : ca_.Bind(&block93);
6362 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd1(false, false, false)\' failed", "../../test/torque/test-torque.tq", 576);
6363 : }
6364 :
6365 5 : if (block92.is_used()) {
6366 : ca_.Bind(&block92);
6367 : compiler::TNode<BoolT> tmp200;
6368 : USE(tmp200);
6369 15 : tmp200 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6370 : compiler::TNode<BoolT> tmp201;
6371 : USE(tmp201);
6372 15 : tmp201 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6373 : compiler::TNode<BoolT> tmp202;
6374 : USE(tmp202);
6375 15 : tmp202 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6376 : compiler::TNode<BoolT> tmp203;
6377 : USE(tmp203);
6378 15 : tmp203 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd2(compiler::TNode<BoolT>{tmp200}, compiler::TNode<BoolT>{tmp201}, compiler::TNode<BoolT>{tmp202}));
6379 : compiler::TNode<BoolT> tmp204;
6380 : USE(tmp204);
6381 10 : tmp204 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp203}));
6382 5 : ca_.Branch(tmp204, &block94, &block95);
6383 : }
6384 :
6385 5 : if (block95.is_used()) {
6386 : ca_.Bind(&block95);
6387 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd2(false, false, false)\' failed", "../../test/torque/test-torque.tq", 577);
6388 : }
6389 :
6390 5 : if (block94.is_used()) {
6391 : ca_.Bind(&block94);
6392 : compiler::TNode<BoolT> tmp205;
6393 : USE(tmp205);
6394 15 : tmp205 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6395 : compiler::TNode<BoolT> tmp206;
6396 : USE(tmp206);
6397 15 : tmp206 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6398 : compiler::TNode<BoolT> tmp207;
6399 : USE(tmp207);
6400 15 : tmp207 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
6401 : compiler::TNode<BoolT> tmp208;
6402 : USE(tmp208);
6403 15 : tmp208 = ca_.UncheckedCast<BoolT>(TestBuiltinsFromDSLAssembler(state_).TestOrAnd3(compiler::TNode<BoolT>{tmp205}, compiler::TNode<BoolT>{tmp206}, compiler::TNode<BoolT>{tmp207}));
6404 : compiler::TNode<BoolT> tmp209;
6405 : USE(tmp209);
6406 10 : tmp209 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp208}));
6407 5 : ca_.Branch(tmp209, &block96, &block97);
6408 : }
6409 :
6410 5 : if (block97.is_used()) {
6411 : ca_.Bind(&block97);
6412 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!TestOrAnd3(false, false, false)\' failed", "../../test/torque/test-torque.tq", 578);
6413 : }
6414 :
6415 5 : if (block96.is_used()) {
6416 : ca_.Bind(&block96);
6417 : ca_.Goto(&block1);
6418 : }
6419 :
6420 5 : if (block1.is_used()) {
6421 : ca_.Bind(&block1);
6422 : ca_.Goto(&block98);
6423 : }
6424 :
6425 : ca_.Bind(&block98);
6426 5 : }
6427 :
6428 15 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestCall(compiler::TNode<Smi> p_i, compiler::CodeAssemblerLabel* label_A) {
6429 15 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6430 : compiler::CodeAssemblerParameterizedLabel<Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6431 : compiler::CodeAssemblerParameterizedLabel<Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6432 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6433 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6434 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6435 : ca_.Goto(&block0, p_i);
6436 :
6437 15 : if (block0.is_used()) {
6438 : compiler::TNode<Smi> tmp0;
6439 : ca_.Bind(&block0, &tmp0);
6440 : compiler::TNode<Smi> tmp1;
6441 : USE(tmp1);
6442 45 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
6443 : compiler::TNode<BoolT> tmp2;
6444 : USE(tmp2);
6445 30 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp0}, compiler::TNode<Smi>{tmp1}));
6446 15 : ca_.Branch(tmp2, &block3, &block4, tmp0);
6447 : }
6448 :
6449 15 : if (block3.is_used()) {
6450 : compiler::TNode<Smi> tmp3;
6451 : ca_.Bind(&block3, &tmp3);
6452 : ca_.Goto(&block2, tmp3, tmp3);
6453 : }
6454 :
6455 15 : if (block4.is_used()) {
6456 : compiler::TNode<Smi> tmp4;
6457 : ca_.Bind(&block4, &tmp4);
6458 : ca_.Goto(&block1);
6459 : }
6460 :
6461 15 : if (block2.is_used()) {
6462 : compiler::TNode<Smi> tmp5;
6463 : compiler::TNode<Smi> tmp6;
6464 : ca_.Bind(&block2, &tmp5, &tmp6);
6465 : ca_.Goto(&block5, tmp5, tmp6);
6466 : }
6467 :
6468 15 : if (block1.is_used()) {
6469 : ca_.Bind(&block1);
6470 15 : ca_.Goto(label_A);
6471 : }
6472 :
6473 : compiler::TNode<Smi> tmp7;
6474 : compiler::TNode<Smi> tmp8;
6475 : ca_.Bind(&block5, &tmp7, &tmp8);
6476 30 : return compiler::TNode<Smi>{tmp8};
6477 : }
6478 :
6479 5 : void TestBuiltinsFromDSLAssembler::TestOtherwiseWithCode1() {
6480 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6481 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6482 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6483 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6484 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6485 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6486 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6487 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6488 : compiler::CodeAssemblerParameterizedLabel<> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6489 : ca_.Goto(&block0);
6490 :
6491 5 : if (block0.is_used()) {
6492 : ca_.Bind(&block0);
6493 : compiler::TNode<Smi> tmp0;
6494 : USE(tmp0);
6495 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6496 : compiler::TNode<Smi> tmp1;
6497 : USE(tmp1);
6498 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6499 : compiler::TNode<Smi> tmp2;
6500 : USE(tmp2);
6501 15 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
6502 : compiler::TNode<Smi> tmp3;
6503 : USE(tmp3);
6504 : compiler::CodeAssemblerLabel label0(&ca_);
6505 15 : tmp3 = TestBuiltinsFromDSLAssembler(state_).TestCall(compiler::TNode<Smi>{tmp2}, &label0);
6506 : ca_.Goto(&block6, tmp0, tmp1, tmp3);
6507 5 : if (label0.is_used()) {
6508 5 : ca_.Bind(&label0);
6509 : ca_.Goto(&block7, tmp0, tmp1);
6510 5 : }
6511 : }
6512 :
6513 5 : if (block7.is_used()) {
6514 : compiler::TNode<Smi> tmp4;
6515 : compiler::TNode<Smi> tmp5;
6516 : ca_.Bind(&block7, &tmp4, &tmp5);
6517 : ca_.Goto(&block5, tmp4, tmp5);
6518 : }
6519 :
6520 5 : if (block6.is_used()) {
6521 : compiler::TNode<Smi> tmp6;
6522 : compiler::TNode<Smi> tmp7;
6523 : compiler::TNode<Smi> tmp8;
6524 : ca_.Bind(&block6, &tmp6, &tmp7, &tmp8);
6525 : ca_.Goto(&block4, tmp6, tmp7, tmp8);
6526 : }
6527 :
6528 5 : if (block5.is_used()) {
6529 : compiler::TNode<Smi> tmp9;
6530 : compiler::TNode<Smi> tmp10;
6531 : ca_.Bind(&block5, &tmp9, &tmp10);
6532 : compiler::TNode<Smi> tmp11;
6533 : USE(tmp11);
6534 15 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6535 : compiler::TNode<Smi> tmp12;
6536 : USE(tmp12);
6537 10 : tmp12 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp11}));
6538 : ca_.Goto(&block3, tmp9, tmp12, tmp12);
6539 : }
6540 :
6541 5 : if (block4.is_used()) {
6542 : compiler::TNode<Smi> tmp13;
6543 : compiler::TNode<Smi> tmp14;
6544 : compiler::TNode<Smi> tmp15;
6545 : ca_.Bind(&block4, &tmp13, &tmp14, &tmp15);
6546 : ca_.Goto(&block2, tmp13, tmp14);
6547 : }
6548 :
6549 5 : if (block3.is_used()) {
6550 : compiler::TNode<Smi> tmp16;
6551 : compiler::TNode<Smi> tmp17;
6552 : compiler::TNode<Smi> tmp18;
6553 : ca_.Bind(&block3, &tmp16, &tmp17, &tmp18);
6554 : ca_.Goto(&block2, tmp18, tmp17);
6555 : }
6556 :
6557 5 : if (block2.is_used()) {
6558 : compiler::TNode<Smi> tmp19;
6559 : compiler::TNode<Smi> tmp20;
6560 : ca_.Bind(&block2, &tmp19, &tmp20);
6561 : ca_.Goto(&block1);
6562 : }
6563 :
6564 5 : if (block1.is_used()) {
6565 : ca_.Bind(&block1);
6566 : ca_.Goto(&block8);
6567 : }
6568 :
6569 : ca_.Bind(&block8);
6570 5 : }
6571 :
6572 5 : void TestBuiltinsFromDSLAssembler::TestOtherwiseWithCode2() {
6573 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6574 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6575 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6576 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6577 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6578 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6579 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6580 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6581 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6582 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6583 : compiler::CodeAssemblerParameterizedLabel<> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6584 : ca_.Goto(&block0);
6585 :
6586 5 : if (block0.is_used()) {
6587 : ca_.Bind(&block0);
6588 : compiler::TNode<Smi> tmp0;
6589 : USE(tmp0);
6590 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6591 : compiler::TNode<Smi> tmp1;
6592 : USE(tmp1);
6593 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6594 : ca_.Goto(&block4, tmp0, tmp1);
6595 : }
6596 :
6597 5 : if (block4.is_used()) {
6598 : compiler::TNode<Smi> tmp2;
6599 : compiler::TNode<Smi> tmp3;
6600 : ca_.Bind(&block4, &tmp2, &tmp3);
6601 : compiler::TNode<Smi> tmp4;
6602 : USE(tmp4);
6603 15 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
6604 : compiler::TNode<BoolT> tmp5;
6605 : USE(tmp5);
6606 10 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp4}));
6607 5 : ca_.Branch(tmp5, &block2, &block3, tmp2, tmp3);
6608 : }
6609 :
6610 5 : if (block2.is_used()) {
6611 : compiler::TNode<Smi> tmp6;
6612 : compiler::TNode<Smi> tmp7;
6613 : ca_.Bind(&block2, &tmp6, &tmp7);
6614 : compiler::TNode<Smi> tmp8;
6615 : USE(tmp8);
6616 : compiler::CodeAssemblerLabel label0(&ca_);
6617 15 : tmp8 = TestBuiltinsFromDSLAssembler(state_).TestCall(compiler::TNode<Smi>{tmp7}, &label0);
6618 : ca_.Goto(&block8, tmp6, tmp7, tmp7, tmp8);
6619 5 : if (label0.is_used()) {
6620 5 : ca_.Bind(&label0);
6621 : ca_.Goto(&block9, tmp6, tmp7, tmp7);
6622 5 : }
6623 : }
6624 :
6625 5 : if (block9.is_used()) {
6626 : compiler::TNode<Smi> tmp9;
6627 : compiler::TNode<Smi> tmp10;
6628 : compiler::TNode<Smi> tmp11;
6629 : ca_.Bind(&block9, &tmp9, &tmp10, &tmp11);
6630 : ca_.Goto(&block7, tmp9, tmp10);
6631 : }
6632 :
6633 5 : if (block8.is_used()) {
6634 : compiler::TNode<Smi> tmp12;
6635 : compiler::TNode<Smi> tmp13;
6636 : compiler::TNode<Smi> tmp14;
6637 : compiler::TNode<Smi> tmp15;
6638 : ca_.Bind(&block8, &tmp12, &tmp13, &tmp14, &tmp15);
6639 : ca_.Goto(&block6, tmp12, tmp13, tmp15);
6640 : }
6641 :
6642 5 : if (block7.is_used()) {
6643 : compiler::TNode<Smi> tmp16;
6644 : compiler::TNode<Smi> tmp17;
6645 : ca_.Bind(&block7, &tmp16, &tmp17);
6646 : ca_.Goto(&block3, tmp16, tmp17);
6647 : }
6648 :
6649 5 : if (block6.is_used()) {
6650 : compiler::TNode<Smi> tmp18;
6651 : compiler::TNode<Smi> tmp19;
6652 : compiler::TNode<Smi> tmp20;
6653 : ca_.Bind(&block6, &tmp18, &tmp19, &tmp20);
6654 : compiler::TNode<Smi> tmp21;
6655 : USE(tmp21);
6656 15 : tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6657 : compiler::TNode<Smi> tmp22;
6658 : USE(tmp22);
6659 10 : tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp18}, compiler::TNode<Smi>{tmp21}));
6660 : ca_.Goto(&block5, tmp22, tmp19);
6661 : }
6662 :
6663 5 : if (block5.is_used()) {
6664 : compiler::TNode<Smi> tmp23;
6665 : compiler::TNode<Smi> tmp24;
6666 : ca_.Bind(&block5, &tmp23, &tmp24);
6667 : compiler::TNode<Smi> tmp25;
6668 : USE(tmp25);
6669 15 : tmp25 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6670 : compiler::TNode<Smi> tmp26;
6671 : USE(tmp26);
6672 10 : tmp26 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp24}, compiler::TNode<Smi>{tmp25}));
6673 : ca_.Goto(&block4, tmp23, tmp26);
6674 : }
6675 :
6676 5 : if (block3.is_used()) {
6677 : compiler::TNode<Smi> tmp27;
6678 : compiler::TNode<Smi> tmp28;
6679 : ca_.Bind(&block3, &tmp27, &tmp28);
6680 : ca_.Goto(&block1);
6681 : }
6682 :
6683 5 : if (block1.is_used()) {
6684 : ca_.Bind(&block1);
6685 : ca_.Goto(&block10);
6686 : }
6687 :
6688 : ca_.Bind(&block10);
6689 5 : }
6690 :
6691 5 : void TestBuiltinsFromDSLAssembler::TestOtherwiseWithCode3() {
6692 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6693 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6694 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6695 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6696 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6697 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6698 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6699 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6700 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6701 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6702 : compiler::CodeAssemblerParameterizedLabel<> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6703 : ca_.Goto(&block0);
6704 :
6705 5 : if (block0.is_used()) {
6706 : ca_.Bind(&block0);
6707 : compiler::TNode<Smi> tmp0;
6708 : USE(tmp0);
6709 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6710 : compiler::TNode<Smi> tmp1;
6711 : USE(tmp1);
6712 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6713 : ca_.Goto(&block4, tmp0, tmp1);
6714 : }
6715 :
6716 5 : if (block4.is_used()) {
6717 : compiler::TNode<Smi> tmp2;
6718 : compiler::TNode<Smi> tmp3;
6719 : ca_.Bind(&block4, &tmp2, &tmp3);
6720 : compiler::TNode<Smi> tmp4;
6721 : USE(tmp4);
6722 15 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(10));
6723 : compiler::TNode<BoolT> tmp5;
6724 : USE(tmp5);
6725 10 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp4}));
6726 5 : ca_.Branch(tmp5, &block2, &block3, tmp2, tmp3);
6727 : }
6728 :
6729 5 : if (block2.is_used()) {
6730 : compiler::TNode<Smi> tmp6;
6731 : compiler::TNode<Smi> tmp7;
6732 : ca_.Bind(&block2, &tmp6, &tmp7);
6733 : compiler::TNode<Smi> tmp8;
6734 : USE(tmp8);
6735 : compiler::CodeAssemblerLabel label0(&ca_);
6736 15 : tmp8 = TestBuiltinsFromDSLAssembler(state_).TestCall(compiler::TNode<Smi>{tmp7}, &label0);
6737 : ca_.Goto(&block8, tmp6, tmp7, tmp6, tmp7, tmp8);
6738 5 : if (label0.is_used()) {
6739 5 : ca_.Bind(&label0);
6740 : ca_.Goto(&block9, tmp6, tmp7, tmp6, tmp7);
6741 5 : }
6742 : }
6743 :
6744 5 : if (block9.is_used()) {
6745 : compiler::TNode<Smi> tmp9;
6746 : compiler::TNode<Smi> tmp10;
6747 : compiler::TNode<Smi> tmp11;
6748 : compiler::TNode<Smi> tmp12;
6749 : ca_.Bind(&block9, &tmp9, &tmp10, &tmp11, &tmp12);
6750 : ca_.Goto(&block7, tmp9, tmp10, tmp11);
6751 : }
6752 :
6753 5 : if (block8.is_used()) {
6754 : compiler::TNode<Smi> tmp13;
6755 : compiler::TNode<Smi> tmp14;
6756 : compiler::TNode<Smi> tmp15;
6757 : compiler::TNode<Smi> tmp16;
6758 : compiler::TNode<Smi> tmp17;
6759 : ca_.Bind(&block8, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
6760 : ca_.Goto(&block6, tmp13, tmp14, tmp15, tmp17);
6761 : }
6762 :
6763 5 : if (block7.is_used()) {
6764 : compiler::TNode<Smi> tmp18;
6765 : compiler::TNode<Smi> tmp19;
6766 : compiler::TNode<Smi> tmp20;
6767 : ca_.Bind(&block7, &tmp18, &tmp19, &tmp20);
6768 : ca_.Goto(&block3, tmp18, tmp19);
6769 : }
6770 :
6771 5 : if (block6.is_used()) {
6772 : compiler::TNode<Smi> tmp21;
6773 : compiler::TNode<Smi> tmp22;
6774 : compiler::TNode<Smi> tmp23;
6775 : compiler::TNode<Smi> tmp24;
6776 : ca_.Bind(&block6, &tmp21, &tmp22, &tmp23, &tmp24);
6777 : compiler::TNode<Smi> tmp25;
6778 : USE(tmp25);
6779 10 : tmp25 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp23}, compiler::TNode<Smi>{tmp24}));
6780 : ca_.Goto(&block5, tmp25, tmp22);
6781 : }
6782 :
6783 5 : if (block5.is_used()) {
6784 : compiler::TNode<Smi> tmp26;
6785 : compiler::TNode<Smi> tmp27;
6786 : ca_.Bind(&block5, &tmp26, &tmp27);
6787 : compiler::TNode<Smi> tmp28;
6788 : USE(tmp28);
6789 15 : tmp28 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6790 : compiler::TNode<Smi> tmp29;
6791 : USE(tmp29);
6792 10 : tmp29 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp27}, compiler::TNode<Smi>{tmp28}));
6793 : ca_.Goto(&block4, tmp26, tmp29);
6794 : }
6795 :
6796 5 : if (block3.is_used()) {
6797 : compiler::TNode<Smi> tmp30;
6798 : compiler::TNode<Smi> tmp31;
6799 : ca_.Bind(&block3, &tmp30, &tmp31);
6800 : ca_.Goto(&block1);
6801 : }
6802 :
6803 5 : if (block1.is_used()) {
6804 : ca_.Bind(&block1);
6805 : ca_.Goto(&block10);
6806 : }
6807 :
6808 : ca_.Bind(&block10);
6809 5 : }
6810 :
6811 5 : void TestBuiltinsFromDSLAssembler::TestForwardLabel() {
6812 5 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6813 : compiler::CodeAssemblerParameterizedLabel<> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6814 : compiler::CodeAssemblerParameterizedLabel<Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6815 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6816 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6817 : compiler::CodeAssemblerParameterizedLabel<> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6818 : ca_.Goto(&block0);
6819 :
6820 5 : if (block0.is_used()) {
6821 : ca_.Bind(&block0);
6822 : ca_.Goto(&block5);
6823 : }
6824 :
6825 5 : if (block5.is_used()) {
6826 : ca_.Bind(&block5);
6827 : compiler::TNode<Smi> tmp0;
6828 : USE(tmp0);
6829 15 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(5));
6830 : ca_.Goto(&block3, tmp0);
6831 : }
6832 :
6833 5 : if (block3.is_used()) {
6834 : compiler::TNode<Smi> tmp1;
6835 : ca_.Bind(&block3, &tmp1);
6836 : ca_.Goto(&block2, tmp1);
6837 : }
6838 :
6839 5 : if (block2.is_used()) {
6840 : compiler::TNode<Smi> tmp2;
6841 : ca_.Bind(&block2, &tmp2);
6842 : ca_.Goto(&block1);
6843 : }
6844 :
6845 5 : if (block1.is_used()) {
6846 : ca_.Bind(&block1);
6847 : ca_.Goto(&block6);
6848 : }
6849 :
6850 : ca_.Bind(&block6);
6851 5 : }
6852 :
6853 5 : void TestBuiltinsFromDSLAssembler::TestQualifiedAccess(compiler::TNode<Context> p_context) {
6854 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6855 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
6856 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6857 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6858 : compiler::CodeAssemblerParameterizedLabel<Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6859 : ca_.Goto(&block0, p_context);
6860 :
6861 5 : if (block0.is_used()) {
6862 : compiler::TNode<Context> tmp0;
6863 : ca_.Bind(&block0, &tmp0);
6864 : compiler::TNode<Smi> tmp1;
6865 : USE(tmp1);
6866 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6867 : compiler::TNode<BoolT> tmp2;
6868 : USE(tmp2);
6869 15 : tmp2 = ca_.UncheckedCast<BoolT>(ArrayBuiltinsFromDSLAssembler(state_).IsJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
6870 : compiler::TNode<BoolT> tmp3;
6871 : USE(tmp3);
6872 10 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp2}));
6873 5 : ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
6874 : }
6875 :
6876 5 : if (block3.is_used()) {
6877 : compiler::TNode<Context> tmp4;
6878 : compiler::TNode<Smi> tmp5;
6879 : ca_.Bind(&block3, &tmp4, &tmp5);
6880 10 : CodeStubAssembler(state_).FailAssert("Torque assert \'!array::IsJSArray(s)\' failed", "../../test/torque/test-torque.tq", 630);
6881 : }
6882 :
6883 5 : if (block2.is_used()) {
6884 : compiler::TNode<Context> tmp6;
6885 : compiler::TNode<Smi> tmp7;
6886 : ca_.Bind(&block2, &tmp6, &tmp7);
6887 : ca_.Goto(&block1, tmp6);
6888 : }
6889 :
6890 5 : if (block1.is_used()) {
6891 : compiler::TNode<Context> tmp8;
6892 : ca_.Bind(&block1, &tmp8);
6893 : ca_.Goto(&block4, tmp8);
6894 : }
6895 :
6896 : compiler::TNode<Context> tmp9;
6897 : ca_.Bind(&block4, &tmp9);
6898 5 : }
6899 :
6900 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestCatch1(compiler::TNode<Context> p_context) {
6901 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6902 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Context, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
6903 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6904 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6905 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6906 : ca_.Goto(&block0, p_context);
6907 :
6908 5 : if (block0.is_used()) {
6909 : compiler::TNode<Context> tmp0;
6910 : ca_.Bind(&block0, &tmp0);
6911 : compiler::TNode<Smi> tmp1;
6912 : USE(tmp1);
6913 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6914 : compiler::CodeAssemblerExceptionHandlerLabel catch2_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
6915 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch2_label);
6916 10 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp0}, MessageTemplate::kInvalidArrayLength);
6917 : }
6918 5 : if (catch2_label.is_used()) {
6919 : compiler::CodeAssemblerLabel catch2_skip(&ca_);
6920 : compiler::TNode<Object> catch2_exception_object;
6921 : ca_.Bind(&catch2_label, &catch2_exception_object);
6922 5 : ca_.Goto(&block4, tmp0, tmp1, tmp0, catch2_exception_object);
6923 : }
6924 : }
6925 :
6926 5 : if (block4.is_used()) {
6927 : compiler::TNode<Context> tmp3;
6928 : compiler::TNode<Smi> tmp4;
6929 : compiler::TNode<Context> tmp5;
6930 : compiler::TNode<Object> tmp6;
6931 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5, &tmp6);
6932 : ca_.Goto(&block3, tmp3, tmp4, tmp6);
6933 : }
6934 :
6935 5 : if (block3.is_used()) {
6936 : compiler::TNode<Context> tmp7;
6937 : compiler::TNode<Smi> tmp8;
6938 : compiler::TNode<Object> tmp9;
6939 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
6940 : compiler::TNode<Smi> tmp10;
6941 : USE(tmp10);
6942 15 : tmp10 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
6943 : ca_.Goto(&block1, tmp7, tmp10);
6944 : }
6945 :
6946 5 : if (block1.is_used()) {
6947 : compiler::TNode<Context> tmp11;
6948 : compiler::TNode<Smi> tmp12;
6949 : ca_.Bind(&block1, &tmp11, &tmp12);
6950 : ca_.Goto(&block5, tmp11, tmp12);
6951 : }
6952 :
6953 : compiler::TNode<Context> tmp13;
6954 : compiler::TNode<Smi> tmp14;
6955 : ca_.Bind(&block5, &tmp13, &tmp14);
6956 10 : return compiler::TNode<Smi>{tmp14};
6957 : }
6958 :
6959 5 : void TestBuiltinsFromDSLAssembler::TestCatch2Wrapper(compiler::TNode<Context> p_context) {
6960 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6961 : ca_.Goto(&block0, p_context);
6962 :
6963 5 : if (block0.is_used()) {
6964 : compiler::TNode<Context> tmp0;
6965 : ca_.Bind(&block0, &tmp0);
6966 10 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp0}, MessageTemplate::kInvalidArrayLength);
6967 : }
6968 5 : }
6969 :
6970 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestCatch2(compiler::TNode<Context> p_context) {
6971 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6972 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
6973 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6974 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6975 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6976 : ca_.Goto(&block0, p_context);
6977 :
6978 5 : if (block0.is_used()) {
6979 : compiler::TNode<Context> tmp0;
6980 : ca_.Bind(&block0, &tmp0);
6981 : compiler::TNode<Smi> tmp1;
6982 : USE(tmp1);
6983 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
6984 : compiler::CodeAssemblerExceptionHandlerLabel catch2_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
6985 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch2_label);
6986 15 : TestBuiltinsFromDSLAssembler(state_).TestCatch2Wrapper(compiler::TNode<Context>{tmp0});
6987 : }
6988 5 : if (catch2_label.is_used()) {
6989 : compiler::CodeAssemblerLabel catch2_skip(&ca_);
6990 : compiler::TNode<Object> catch2_exception_object;
6991 : ca_.Bind(&catch2_label, &catch2_exception_object);
6992 5 : ca_.Goto(&block4, tmp0, tmp1, catch2_exception_object);
6993 : }
6994 : }
6995 :
6996 5 : if (block4.is_used()) {
6997 : compiler::TNode<Context> tmp3;
6998 : compiler::TNode<Smi> tmp4;
6999 : compiler::TNode<Object> tmp5;
7000 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7001 : ca_.Goto(&block3, tmp3, tmp4, tmp5);
7002 : }
7003 :
7004 5 : if (block3.is_used()) {
7005 : compiler::TNode<Context> tmp6;
7006 : compiler::TNode<Smi> tmp7;
7007 : compiler::TNode<Object> tmp8;
7008 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8);
7009 : compiler::TNode<Smi> tmp9;
7010 : USE(tmp9);
7011 15 : tmp9 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(2));
7012 : ca_.Goto(&block1, tmp6, tmp9);
7013 : }
7014 :
7015 5 : if (block1.is_used()) {
7016 : compiler::TNode<Context> tmp10;
7017 : compiler::TNode<Smi> tmp11;
7018 : ca_.Bind(&block1, &tmp10, &tmp11);
7019 : ca_.Goto(&block5, tmp10, tmp11);
7020 : }
7021 :
7022 : compiler::TNode<Context> tmp12;
7023 : compiler::TNode<Smi> tmp13;
7024 : ca_.Bind(&block5, &tmp12, &tmp13);
7025 10 : return compiler::TNode<Smi>{tmp13};
7026 : }
7027 :
7028 5 : void TestBuiltinsFromDSLAssembler::TestCatch3WrapperWithLabel(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_Abort) {
7029 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7030 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7031 : ca_.Goto(&block0, p_context);
7032 :
7033 5 : if (block0.is_used()) {
7034 : compiler::TNode<Context> tmp0;
7035 : ca_.Bind(&block0, &tmp0);
7036 10 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp0}, MessageTemplate::kInvalidArrayLength);
7037 : }
7038 :
7039 5 : if (block1.is_used()) {
7040 : ca_.Bind(&block1);
7041 0 : ca_.Goto(label_Abort);
7042 : }
7043 5 : }
7044 :
7045 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::TestCatch3(compiler::TNode<Context> p_context) {
7046 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7047 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7048 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7049 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7050 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block8(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7051 : compiler::CodeAssemblerParameterizedLabel<Context, Smi, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7052 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7053 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7054 : ca_.Goto(&block0, p_context);
7055 :
7056 5 : if (block0.is_used()) {
7057 : compiler::TNode<Context> tmp0;
7058 : ca_.Bind(&block0, &tmp0);
7059 : compiler::TNode<Smi> tmp1;
7060 : USE(tmp1);
7061 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
7062 : compiler::CodeAssemblerLabel label0(&ca_);
7063 : compiler::CodeAssemblerExceptionHandlerLabel catch2_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7064 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch2_label);
7065 15 : TestBuiltinsFromDSLAssembler(state_).TestCatch3WrapperWithLabel(compiler::TNode<Context>{tmp0}, &label0);
7066 : }
7067 5 : if (catch2_label.is_used()) {
7068 : compiler::CodeAssemblerLabel catch2_skip(&ca_);
7069 : compiler::TNode<Object> catch2_exception_object;
7070 : ca_.Bind(&catch2_label, &catch2_exception_object);
7071 5 : ca_.Goto(&block7, tmp0, tmp1, catch2_exception_object);
7072 : }
7073 5 : if (label0.is_used()) {
7074 0 : ca_.Bind(&label0);
7075 : ca_.Goto(&block6, tmp0, tmp1);
7076 5 : }
7077 : }
7078 :
7079 5 : if (block7.is_used()) {
7080 : compiler::TNode<Context> tmp3;
7081 : compiler::TNode<Smi> tmp4;
7082 : compiler::TNode<Object> tmp5;
7083 : ca_.Bind(&block7, &tmp3, &tmp4, &tmp5);
7084 : ca_.Goto(&block3, tmp3, tmp4, tmp5);
7085 : }
7086 :
7087 5 : if (block6.is_used()) {
7088 : compiler::TNode<Context> tmp6;
7089 : compiler::TNode<Smi> tmp7;
7090 : ca_.Bind(&block6, &tmp6, &tmp7);
7091 : ca_.Goto(&block5, tmp6, tmp7);
7092 : }
7093 :
7094 5 : if (block5.is_used()) {
7095 : compiler::TNode<Context> tmp8;
7096 : compiler::TNode<Smi> tmp9;
7097 : ca_.Bind(&block5, &tmp8, &tmp9);
7098 : compiler::TNode<Smi> tmp10;
7099 : USE(tmp10);
7100 : compiler::CodeAssemblerExceptionHandlerLabel catch11_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7101 0 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch11_label);
7102 0 : tmp10 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(-1));
7103 : }
7104 0 : if (catch11_label.is_used()) {
7105 : compiler::CodeAssemblerLabel catch11_skip(&ca_);
7106 0 : ca_.Goto(&catch11_skip);
7107 : compiler::TNode<Object> catch11_exception_object;
7108 : ca_.Bind(&catch11_label, &catch11_exception_object);
7109 : ca_.Goto(&block8, tmp8, tmp9, catch11_exception_object);
7110 0 : ca_.Bind(&catch11_skip);
7111 : }
7112 : ca_.Goto(&block1, tmp8, tmp10);
7113 : }
7114 :
7115 5 : if (block8.is_used()) {
7116 : compiler::TNode<Context> tmp12;
7117 : compiler::TNode<Smi> tmp13;
7118 : compiler::TNode<Object> tmp14;
7119 : ca_.Bind(&block8, &tmp12, &tmp13, &tmp14);
7120 : ca_.Goto(&block3, tmp12, tmp13, tmp14);
7121 : }
7122 :
7123 5 : if (block3.is_used()) {
7124 : compiler::TNode<Context> tmp15;
7125 : compiler::TNode<Smi> tmp16;
7126 : compiler::TNode<Object> tmp17;
7127 : ca_.Bind(&block3, &tmp15, &tmp16, &tmp17);
7128 : compiler::TNode<Smi> tmp18;
7129 : USE(tmp18);
7130 15 : tmp18 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(2));
7131 : ca_.Goto(&block1, tmp15, tmp18);
7132 : }
7133 :
7134 5 : if (block1.is_used()) {
7135 : compiler::TNode<Context> tmp19;
7136 : compiler::TNode<Smi> tmp20;
7137 : ca_.Bind(&block1, &tmp19, &tmp20);
7138 : ca_.Goto(&block9, tmp19, tmp20);
7139 : }
7140 :
7141 : compiler::TNode<Context> tmp21;
7142 : compiler::TNode<Smi> tmp22;
7143 : ca_.Bind(&block9, &tmp21, &tmp22);
7144 10 : return compiler::TNode<Smi>{tmp22};
7145 : }
7146 :
7147 0 : void TestBuiltinsFromDSLAssembler::TestIterator(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::TNode<Map> p_map) {
7148 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7149 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map, Object, JSReceiver, Object, JSReceiver, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7150 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map, Object, JSReceiver, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7151 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map, Object, JSReceiver, Object, Object, JSReceiver, Object, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7152 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map, Object, JSReceiver, Object, Object, JSReceiver, Object, Map, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7153 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7154 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7155 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7156 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7157 : ca_.Goto(&block0, p_context, p_o, p_map);
7158 :
7159 0 : if (block0.is_used()) {
7160 : compiler::TNode<Context> tmp0;
7161 : compiler::TNode<Object> tmp1;
7162 : compiler::TNode<Map> tmp2;
7163 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
7164 : compiler::TNode<Object> tmp3;
7165 : USE(tmp3);
7166 0 : tmp3 = ca_.UncheckedCast<Object>(IteratorBuiltinsAssembler(state_).GetIteratorMethod(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
7167 : compiler::TNode<JSReceiver> tmp4;
7168 : USE(tmp4);
7169 : compiler::TNode<Object> tmp5;
7170 : USE(tmp5);
7171 0 : std::tie(tmp4, tmp5) = IteratorBuiltinsAssembler(state_).GetIterator(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}).Flatten();
7172 : compiler::TNode<Object> tmp6;
7173 : USE(tmp6);
7174 : compiler::CodeAssemblerLabel label0(&ca_);
7175 0 : tmp6 = IteratorBuiltinsAssembler(state_).IteratorStep(compiler::TNode<Context>{tmp0}, IteratorBuiltinsFromDSLAssembler::IteratorRecord{compiler::TNode<JSReceiver>{tmp4}, compiler::TNode<Object>{tmp5}}, &label0);
7176 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp4, tmp5, tmp6);
7177 0 : if (label0.is_used()) {
7178 0 : ca_.Bind(&label0);
7179 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp4, tmp5);
7180 0 : }
7181 : }
7182 :
7183 0 : if (block5.is_used()) {
7184 : compiler::TNode<Context> tmp7;
7185 : compiler::TNode<Object> tmp8;
7186 : compiler::TNode<Map> tmp9;
7187 : compiler::TNode<Object> tmp10;
7188 : compiler::TNode<JSReceiver> tmp11;
7189 : compiler::TNode<Object> tmp12;
7190 : compiler::TNode<JSReceiver> tmp13;
7191 : compiler::TNode<Object> tmp14;
7192 : ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
7193 : ca_.Goto(&block3, tmp7, tmp8, tmp9);
7194 : }
7195 :
7196 0 : if (block4.is_used()) {
7197 : compiler::TNode<Context> tmp15;
7198 : compiler::TNode<Object> tmp16;
7199 : compiler::TNode<Map> tmp17;
7200 : compiler::TNode<Object> tmp18;
7201 : compiler::TNode<JSReceiver> tmp19;
7202 : compiler::TNode<Object> tmp20;
7203 : compiler::TNode<JSReceiver> tmp21;
7204 : compiler::TNode<Object> tmp22;
7205 : compiler::TNode<Object> tmp23;
7206 : ca_.Bind(&block4, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
7207 : compiler::TNode<Object> tmp24;
7208 : USE(tmp24);
7209 : compiler::CodeAssemblerLabel label0(&ca_);
7210 0 : tmp24 = IteratorBuiltinsAssembler(state_).IteratorStep(compiler::TNode<Context>{tmp15}, IteratorBuiltinsFromDSLAssembler::IteratorRecord{compiler::TNode<JSReceiver>{tmp19}, compiler::TNode<Object>{tmp20}}, compiler::TNode<Map>{tmp17}, &label0);
7211 : ca_.Goto(&block6, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23, tmp19, tmp20, tmp17, tmp24);
7212 0 : if (label0.is_used()) {
7213 0 : ca_.Bind(&label0);
7214 : ca_.Goto(&block7, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23, tmp19, tmp20, tmp17);
7215 0 : }
7216 : }
7217 :
7218 0 : if (block7.is_used()) {
7219 : compiler::TNode<Context> tmp25;
7220 : compiler::TNode<Object> tmp26;
7221 : compiler::TNode<Map> tmp27;
7222 : compiler::TNode<Object> tmp28;
7223 : compiler::TNode<JSReceiver> tmp29;
7224 : compiler::TNode<Object> tmp30;
7225 : compiler::TNode<Object> tmp31;
7226 : compiler::TNode<JSReceiver> tmp32;
7227 : compiler::TNode<Object> tmp33;
7228 : compiler::TNode<Map> tmp34;
7229 : ca_.Bind(&block7, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7230 : ca_.Goto(&block3, tmp25, tmp26, tmp27);
7231 : }
7232 :
7233 0 : if (block6.is_used()) {
7234 : compiler::TNode<Context> tmp35;
7235 : compiler::TNode<Object> tmp36;
7236 : compiler::TNode<Map> tmp37;
7237 : compiler::TNode<Object> tmp38;
7238 : compiler::TNode<JSReceiver> tmp39;
7239 : compiler::TNode<Object> tmp40;
7240 : compiler::TNode<Object> tmp41;
7241 : compiler::TNode<JSReceiver> tmp42;
7242 : compiler::TNode<Object> tmp43;
7243 : compiler::TNode<Map> tmp44;
7244 : compiler::TNode<Object> tmp45;
7245 : ca_.Bind(&block6, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
7246 : compiler::TNode<Object> tmp46;
7247 : USE(tmp46);
7248 0 : tmp46 = ca_.UncheckedCast<Object>(IteratorBuiltinsAssembler(state_).IteratorValue(compiler::TNode<Context>{tmp35}, compiler::TNode<Object>{tmp45}));
7249 : compiler::TNode<Object> tmp47;
7250 : USE(tmp47);
7251 0 : tmp47 = ca_.UncheckedCast<Object>(IteratorBuiltinsAssembler(state_).IteratorValue(compiler::TNode<Context>{tmp35}, compiler::TNode<Object>{tmp45}, compiler::TNode<Map>{tmp37}));
7252 : compiler::TNode<JSArray> tmp48;
7253 : USE(tmp48);
7254 0 : tmp48 = ca_.UncheckedCast<JSArray>(IteratorBuiltinsAssembler(state_).IterableToList(compiler::TNode<Context>{tmp35}, compiler::TNode<Object>{tmp38}, compiler::TNode<Object>{tmp38}));
7255 0 : IteratorBuiltinsAssembler(state_).IteratorCloseOnException(compiler::TNode<Context>{tmp35}, IteratorBuiltinsFromDSLAssembler::IteratorRecord{compiler::TNode<JSReceiver>{tmp39}, compiler::TNode<Object>{tmp40}}, compiler::TNode<Object>{tmp46});
7256 : }
7257 :
7258 0 : if (block3.is_used()) {
7259 : compiler::TNode<Context> tmp49;
7260 : compiler::TNode<Object> tmp50;
7261 : compiler::TNode<Map> tmp51;
7262 : ca_.Bind(&block3, &tmp49, &tmp50, &tmp51);
7263 : ca_.Goto(&block2, tmp49, tmp50, tmp51);
7264 : }
7265 :
7266 0 : if (block2.is_used()) {
7267 : compiler::TNode<Context> tmp52;
7268 : compiler::TNode<Object> tmp53;
7269 : compiler::TNode<Map> tmp54;
7270 : ca_.Bind(&block2, &tmp52, &tmp53, &tmp54);
7271 : ca_.Goto(&block1, tmp52, tmp53, tmp54);
7272 : }
7273 :
7274 0 : if (block1.is_used()) {
7275 : compiler::TNode<Context> tmp55;
7276 : compiler::TNode<Object> tmp56;
7277 : compiler::TNode<Map> tmp57;
7278 : ca_.Bind(&block1, &tmp55, &tmp56, &tmp57);
7279 : ca_.Goto(&block8, tmp55, tmp56, tmp57);
7280 : }
7281 :
7282 : compiler::TNode<Context> tmp58;
7283 : compiler::TNode<Object> tmp59;
7284 : compiler::TNode<Map> tmp60;
7285 : ca_.Bind(&block8, &tmp58, &tmp59, &tmp60);
7286 0 : }
7287 :
7288 5 : void TestBuiltinsFromDSLAssembler::TestFrame1(compiler::TNode<Context> p_context) {
7289 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7290 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7291 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7292 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7293 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7294 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT, RawPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7295 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT, RawPtrT, RawPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7296 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7297 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT, RawPtrT> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7298 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT, RawPtrT, RawPtrT> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7299 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7300 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7301 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi, RawPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7302 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7303 : compiler::CodeAssemblerParameterizedLabel<Context> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7304 : ca_.Goto(&block0, p_context);
7305 :
7306 5 : if (block0.is_used()) {
7307 : compiler::TNode<Context> tmp0;
7308 : ca_.Bind(&block0, &tmp0);
7309 : compiler::TNode<RawPtrT> tmp1;
7310 : USE(tmp1);
7311 10 : tmp1 = ca_.UncheckedCast<RawPtrT>(CodeStubAssembler(state_).LoadFramePointer());
7312 : compiler::TNode<Object> tmp2;
7313 : USE(tmp2);
7314 15 : tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadContextOrFrameTypeFromFrame(compiler::TNode<Context>{tmp0}, compiler::TNode<RawPtrT>{tmp1}));
7315 : compiler::TNode<Smi> tmp3;
7316 : USE(tmp3);
7317 : compiler::CodeAssemblerLabel label0(&ca_);
7318 15 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast11ATFrameType(compiler::TNode<Object>{tmp2}, &label0);
7319 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3);
7320 5 : if (label0.is_used()) {
7321 5 : ca_.Bind(&label0);
7322 : ca_.Goto(&block5, tmp0, tmp1, tmp2);
7323 5 : }
7324 : }
7325 :
7326 5 : if (block5.is_used()) {
7327 : compiler::TNode<Context> tmp4;
7328 : compiler::TNode<RawPtrT> tmp5;
7329 : compiler::TNode<Object> tmp6;
7330 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6);
7331 : ca_.Goto(&block3, tmp4, tmp5);
7332 : }
7333 :
7334 5 : if (block4.is_used()) {
7335 : compiler::TNode<Context> tmp7;
7336 : compiler::TNode<RawPtrT> tmp8;
7337 : compiler::TNode<Object> tmp9;
7338 : compiler::TNode<Smi> tmp10;
7339 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10);
7340 : ca_.Goto(&block2, tmp7, tmp8, tmp10);
7341 : }
7342 :
7343 5 : if (block3.is_used()) {
7344 : compiler::TNode<Context> tmp11;
7345 : compiler::TNode<RawPtrT> tmp12;
7346 : ca_.Bind(&block3, &tmp11, &tmp12);
7347 10 : CodeStubAssembler(state_).Unreachable();
7348 : }
7349 :
7350 5 : if (block2.is_used()) {
7351 : compiler::TNode<Context> tmp13;
7352 : compiler::TNode<RawPtrT> tmp14;
7353 : compiler::TNode<Smi> tmp15;
7354 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15);
7355 : compiler::TNode<RawPtrT> tmp16;
7356 : USE(tmp16);
7357 : compiler::CodeAssemblerLabel label0(&ca_);
7358 15 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast15ATStandardFrame(compiler::TNode<Context>{tmp13}, compiler::TNode<RawPtrT>{tmp14}, &label0);
7359 : ca_.Goto(&block8, tmp13, tmp14, tmp15, tmp14, tmp14, tmp16);
7360 5 : if (label0.is_used()) {
7361 5 : ca_.Bind(&label0);
7362 : ca_.Goto(&block9, tmp13, tmp14, tmp15, tmp14, tmp14);
7363 5 : }
7364 : }
7365 :
7366 5 : if (block9.is_used()) {
7367 : compiler::TNode<Context> tmp17;
7368 : compiler::TNode<RawPtrT> tmp18;
7369 : compiler::TNode<Smi> tmp19;
7370 : compiler::TNode<RawPtrT> tmp20;
7371 : compiler::TNode<RawPtrT> tmp21;
7372 : ca_.Bind(&block9, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
7373 : ca_.Goto(&block7, tmp17, tmp18, tmp19, tmp20);
7374 : }
7375 :
7376 5 : if (block8.is_used()) {
7377 : compiler::TNode<Context> tmp22;
7378 : compiler::TNode<RawPtrT> tmp23;
7379 : compiler::TNode<Smi> tmp24;
7380 : compiler::TNode<RawPtrT> tmp25;
7381 : compiler::TNode<RawPtrT> tmp26;
7382 : compiler::TNode<RawPtrT> tmp27;
7383 : ca_.Bind(&block8, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
7384 10 : CodeStubAssembler(state_).Unreachable();
7385 : }
7386 :
7387 5 : if (block7.is_used()) {
7388 : compiler::TNode<Context> tmp28;
7389 : compiler::TNode<RawPtrT> tmp29;
7390 : compiler::TNode<Smi> tmp30;
7391 : compiler::TNode<RawPtrT> tmp31;
7392 : ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
7393 : compiler::TNode<RawPtrT> tmp32;
7394 : USE(tmp32);
7395 : compiler::CodeAssemblerLabel label0(&ca_);
7396 15 : tmp32 = BaseBuiltinsFromDSLAssembler(state_).Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context>{tmp28}, compiler::TNode<RawPtrT>{ca_.UncheckedCast<RawPtrT>(tmp31)}, &label0);
7397 : ca_.Goto(&block12, tmp28, tmp29, tmp30, tmp31, ca_.UncheckedCast<RawPtrT>(tmp31), tmp32);
7398 5 : if (label0.is_used()) {
7399 5 : ca_.Bind(&label0);
7400 : ca_.Goto(&block13, tmp28, tmp29, tmp30, tmp31, ca_.UncheckedCast<RawPtrT>(tmp31));
7401 5 : }
7402 : }
7403 :
7404 5 : if (block13.is_used()) {
7405 : compiler::TNode<Context> tmp33;
7406 : compiler::TNode<RawPtrT> tmp34;
7407 : compiler::TNode<Smi> tmp35;
7408 : compiler::TNode<RawPtrT> tmp36;
7409 : compiler::TNode<RawPtrT> tmp37;
7410 : ca_.Bind(&block13, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
7411 : ca_.Goto(&block11, tmp33, tmp34, tmp35, tmp36);
7412 : }
7413 :
7414 5 : if (block12.is_used()) {
7415 : compiler::TNode<Context> tmp38;
7416 : compiler::TNode<RawPtrT> tmp39;
7417 : compiler::TNode<Smi> tmp40;
7418 : compiler::TNode<RawPtrT> tmp41;
7419 : compiler::TNode<RawPtrT> tmp42;
7420 : compiler::TNode<RawPtrT> tmp43;
7421 : ca_.Bind(&block12, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
7422 10 : CodeStubAssembler(state_).Unreachable();
7423 : }
7424 :
7425 5 : if (block11.is_used()) {
7426 : compiler::TNode<Context> tmp44;
7427 : compiler::TNode<RawPtrT> tmp45;
7428 : compiler::TNode<Smi> tmp46;
7429 : compiler::TNode<RawPtrT> tmp47;
7430 : ca_.Bind(&block11, &tmp44, &tmp45, &tmp46, &tmp47);
7431 : ca_.Goto(&block10, tmp44, tmp45, tmp46, tmp47);
7432 : }
7433 :
7434 5 : if (block10.is_used()) {
7435 : compiler::TNode<Context> tmp48;
7436 : compiler::TNode<RawPtrT> tmp49;
7437 : compiler::TNode<Smi> tmp50;
7438 : compiler::TNode<RawPtrT> tmp51;
7439 : ca_.Bind(&block10, &tmp48, &tmp49, &tmp50, &tmp51);
7440 : ca_.Goto(&block6, tmp48, tmp49, tmp50, tmp51);
7441 : }
7442 :
7443 5 : if (block6.is_used()) {
7444 : compiler::TNode<Context> tmp52;
7445 : compiler::TNode<RawPtrT> tmp53;
7446 : compiler::TNode<Smi> tmp54;
7447 : compiler::TNode<RawPtrT> tmp55;
7448 : ca_.Bind(&block6, &tmp52, &tmp53, &tmp54, &tmp55);
7449 : ca_.Goto(&block1, tmp52);
7450 : }
7451 :
7452 5 : if (block1.is_used()) {
7453 : compiler::TNode<Context> tmp56;
7454 : ca_.Bind(&block1, &tmp56);
7455 : ca_.Goto(&block14, tmp56);
7456 : }
7457 :
7458 : compiler::TNode<Context> tmp57;
7459 : ca_.Bind(&block14, &tmp57);
7460 5 : }
7461 :
7462 5 : void TestBuiltinsFromDSLAssembler::TestNew(compiler::TNode<Context> p_context) {
7463 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7464 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7465 : compiler::CodeAssemblerParameterizedLabel<Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7466 : ca_.Goto(&block0, p_context);
7467 :
7468 5 : if (block0.is_used()) {
7469 : compiler::TNode<Context> tmp0;
7470 : ca_.Bind(&block0, &tmp0);
7471 : compiler::TNode<IntPtrT> tmp1;
7472 : USE(tmp1);
7473 15 : tmp1 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(32));
7474 : compiler::TNode<JSArray> tmp2;
7475 : USE(tmp2);
7476 10 : tmp2 = ca_.UncheckedCast<JSArray>(CodeStubAssembler(state_).Allocate(compiler::TNode<IntPtrT>{tmp1}));
7477 : compiler::TNode<JSArray> tmp3;
7478 : USE(tmp3);
7479 15 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_)._method_JSArray_constructor(compiler::TNode<JSArray>{tmp2}, compiler::TNode<Context>{tmp0}));
7480 : compiler::TNode<Number> tmp4;
7481 : USE(tmp4);
7482 15 : tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
7483 15 : BaseBuiltinsFromDSLAssembler(state_).StoreJSArrayLength(compiler::TNode<JSArray>{tmp3}, compiler::TNode<Number>{tmp4});
7484 : ca_.Goto(&block1, tmp0);
7485 : }
7486 :
7487 5 : if (block1.is_used()) {
7488 : compiler::TNode<Context> tmp5;
7489 : ca_.Bind(&block1, &tmp5);
7490 : ca_.Goto(&block2, tmp5);
7491 : }
7492 :
7493 : compiler::TNode<Context> tmp6;
7494 : ca_.Bind(&block2, &tmp6);
7495 5 : }
7496 :
7497 5 : void TestBuiltinsFromDSLAssembler::TestStructConstructor(compiler::TNode<Context> p_context) {
7498 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7499 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7500 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7501 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7502 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T, Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7503 : compiler::CodeAssemblerParameterizedLabel<Context, Int32T, Int32T, Int32T, Int32T, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7504 : compiler::CodeAssemblerParameterizedLabel<Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7505 : compiler::CodeAssemblerParameterizedLabel<Context> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7506 : ca_.Goto(&block0, p_context);
7507 :
7508 5 : if (block0.is_used()) {
7509 : compiler::TNode<Context> tmp0;
7510 : ca_.Bind(&block0, &tmp0);
7511 : compiler::TNode<Int32T> tmp1;
7512 : USE(tmp1);
7513 15 : tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(0));
7514 : compiler::TNode<Int32T> tmp2;
7515 : USE(tmp2);
7516 15 : tmp2 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(0));
7517 : ca_.Goto(&block2, tmp0, ca_.Uninitialized<Int32T>(), ca_.Uninitialized<Int32T>(), ca_.Uninitialized<Int32T>(), ca_.Uninitialized<Int32T>(), tmp1, tmp2, tmp1, tmp2, tmp1, tmp2);
7518 : }
7519 :
7520 5 : if (block4.is_used()) {
7521 : compiler::TNode<Context> tmp3;
7522 : compiler::TNode<Int32T> tmp4;
7523 : compiler::TNode<Int32T> tmp5;
7524 : compiler::TNode<Int32T> tmp6;
7525 : compiler::TNode<Int32T> tmp7;
7526 : compiler::TNode<Int32T> tmp8;
7527 : compiler::TNode<Int32T> tmp9;
7528 : compiler::TNode<Int32T> tmp10;
7529 : compiler::TNode<Int32T> tmp11;
7530 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
7531 0 : CodeStubAssembler(state_).Unreachable();
7532 : }
7533 :
7534 5 : if (block2.is_used()) {
7535 : compiler::TNode<Context> tmp12;
7536 : compiler::TNode<Int32T> tmp13;
7537 : compiler::TNode<Int32T> tmp14;
7538 : compiler::TNode<Int32T> tmp15;
7539 : compiler::TNode<Int32T> tmp16;
7540 : compiler::TNode<Int32T> tmp17;
7541 : compiler::TNode<Int32T> tmp18;
7542 : compiler::TNode<Int32T> tmp19;
7543 : compiler::TNode<Int32T> tmp20;
7544 : compiler::TNode<Int32T> tmp21;
7545 : compiler::TNode<Int32T> tmp22;
7546 : ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
7547 : compiler::TNode<Int32T> tmp23;
7548 : USE(tmp23);
7549 15 : tmp23 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(0));
7550 : compiler::TNode<Int32T> tmp24;
7551 : USE(tmp24);
7552 15 : tmp24 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(0));
7553 : ca_.Goto(&block5, tmp12, tmp23, tmp21, tmp22, tmp24, tmp21, tmp22, tmp23, tmp21, tmp22, tmp24, tmp23, tmp21, tmp22, tmp24);
7554 : }
7555 :
7556 5 : if (block7.is_used()) {
7557 : compiler::TNode<Context> tmp25;
7558 : compiler::TNode<Int32T> tmp26;
7559 : compiler::TNode<Int32T> tmp27;
7560 : compiler::TNode<Int32T> tmp28;
7561 : compiler::TNode<Int32T> tmp29;
7562 : compiler::TNode<Int32T> tmp30;
7563 : compiler::TNode<Int32T> tmp31;
7564 : compiler::TNode<Int32T> tmp32;
7565 : compiler::TNode<Int32T> tmp33;
7566 : compiler::TNode<Int32T> tmp34;
7567 : compiler::TNode<Int32T> tmp35;
7568 : ca_.Bind(&block7, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
7569 0 : CodeStubAssembler(state_).Unreachable();
7570 : }
7571 :
7572 5 : if (block5.is_used()) {
7573 : compiler::TNode<Context> tmp36;
7574 : compiler::TNode<Int32T> tmp37;
7575 : compiler::TNode<Int32T> tmp38;
7576 : compiler::TNode<Int32T> tmp39;
7577 : compiler::TNode<Int32T> tmp40;
7578 : compiler::TNode<Int32T> tmp41;
7579 : compiler::TNode<Int32T> tmp42;
7580 : compiler::TNode<Int32T> tmp43;
7581 : compiler::TNode<Int32T> tmp44;
7582 : compiler::TNode<Int32T> tmp45;
7583 : compiler::TNode<Int32T> tmp46;
7584 : compiler::TNode<Int32T> tmp47;
7585 : compiler::TNode<Int32T> tmp48;
7586 : compiler::TNode<Int32T> tmp49;
7587 : compiler::TNode<Int32T> tmp50;
7588 : ca_.Bind(&block5, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
7589 : compiler::TNode<Int32T> tmp51;
7590 : USE(tmp51);
7591 15 : tmp51 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr7ATint3217ATconstexpr_int31(2));
7592 : ca_.Goto(&block8, tmp36, tmp47, tmp51, tmp49, tmp50, tmp51);
7593 : }
7594 :
7595 5 : if (block8.is_used()) {
7596 : compiler::TNode<Context> tmp52;
7597 : compiler::TNode<Int32T> tmp53;
7598 : compiler::TNode<Int32T> tmp54;
7599 : compiler::TNode<Int32T> tmp55;
7600 : compiler::TNode<Int32T> tmp56;
7601 : compiler::TNode<Int32T> tmp57;
7602 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
7603 : ca_.Goto(&block1, tmp52);
7604 : }
7605 :
7606 5 : if (block1.is_used()) {
7607 : compiler::TNode<Context> tmp58;
7608 : ca_.Bind(&block1, &tmp58);
7609 : ca_.Goto(&block9, tmp58);
7610 : }
7611 :
7612 : compiler::TNode<Context> tmp59;
7613 : ca_.Bind(&block9, &tmp59);
7614 5 : }
7615 :
7616 224 : TF_BUILTIN(GenericBuiltinTest5ATSmi, CodeStubAssembler) {
7617 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
7618 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
7619 : USE(parameter0);
7620 : compiler::TNode<Smi> parameter1 = UncheckedCast<Smi>(Parameter(Descriptor::kParam));
7621 : USE(parameter1);
7622 : compiler::CodeAssemblerParameterizedLabel<Context, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7623 : ca_.Goto(&block0, parameter0, parameter1);
7624 :
7625 56 : if (block0.is_used()) {
7626 : compiler::TNode<Context> tmp0;
7627 : compiler::TNode<Smi> tmp1;
7628 : ca_.Bind(&block0, &tmp0, &tmp1);
7629 : compiler::TNode<Oddball> tmp2;
7630 : USE(tmp2);
7631 112 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Null();
7632 112 : CodeStubAssembler(state_).Return(tmp2);
7633 56 : }
7634 56 : }
7635 :
7636 10 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::GenericMacroTest5ATSmi(compiler::TNode<Smi> p_param) {
7637 10 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7638 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7639 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7640 : ca_.Goto(&block0, p_param);
7641 :
7642 10 : if (block0.is_used()) {
7643 : compiler::TNode<Smi> tmp0;
7644 : ca_.Bind(&block0, &tmp0);
7645 : compiler::TNode<Oddball> tmp1;
7646 : USE(tmp1);
7647 30 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7648 : ca_.Goto(&block1, tmp0, tmp1);
7649 : }
7650 :
7651 10 : if (block1.is_used()) {
7652 : compiler::TNode<Smi> tmp2;
7653 : compiler::TNode<Object> tmp3;
7654 : ca_.Bind(&block1, &tmp2, &tmp3);
7655 : ca_.Goto(&block2, tmp2, tmp3);
7656 : }
7657 :
7658 : compiler::TNode<Smi> tmp4;
7659 : compiler::TNode<Object> tmp5;
7660 : ca_.Bind(&block2, &tmp4, &tmp5);
7661 20 : return compiler::TNode<Object>{tmp5};
7662 : }
7663 :
7664 10 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::GenericMacroTestWithLabels5ATSmi(compiler::TNode<Smi> p_param, compiler::CodeAssemblerLabel* label_X) {
7665 10 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7666 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7667 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7668 : compiler::CodeAssemblerParameterizedLabel<Smi, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7669 : ca_.Goto(&block0, p_param);
7670 :
7671 10 : if (block0.is_used()) {
7672 : compiler::TNode<Smi> tmp0;
7673 : ca_.Bind(&block0, &tmp0);
7674 : compiler::TNode<Oddball> tmp1;
7675 : USE(tmp1);
7676 30 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7677 : ca_.Goto(&block2, tmp0, tmp1);
7678 : }
7679 :
7680 10 : if (block2.is_used()) {
7681 : compiler::TNode<Smi> tmp2;
7682 : compiler::TNode<Object> tmp3;
7683 : ca_.Bind(&block2, &tmp2, &tmp3);
7684 : ca_.Goto(&block3, tmp2, tmp3);
7685 : }
7686 :
7687 10 : if (block1.is_used()) {
7688 : ca_.Bind(&block1);
7689 0 : ca_.Goto(label_X);
7690 : }
7691 :
7692 : compiler::TNode<Smi> tmp4;
7693 : compiler::TNode<Object> tmp5;
7694 : ca_.Bind(&block3, &tmp4, &tmp5);
7695 20 : return compiler::TNode<Object>{tmp5};
7696 : }
7697 :
7698 30 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::IncrementIfSmi36UT12ATFixedArray12ATHeapNumber5ATSmi(compiler::TNode<Object> p_x) {
7699 30 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7700 : compiler::CodeAssemblerParameterizedLabel<Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7701 : compiler::CodeAssemblerParameterizedLabel<Object, Object, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7702 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7703 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7704 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7705 : ca_.Goto(&block0, p_x);
7706 :
7707 30 : if (block0.is_used()) {
7708 : compiler::TNode<Object> tmp0;
7709 : ca_.Bind(&block0, &tmp0);
7710 : compiler::TNode<Smi> tmp1;
7711 : USE(tmp1);
7712 : compiler::CodeAssemblerLabel label0(&ca_);
7713 90 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp0}, &label0);
7714 : ca_.Goto(&block4, tmp0, tmp0, tmp0, tmp1);
7715 30 : if (label0.is_used()) {
7716 30 : ca_.Bind(&label0);
7717 : ca_.Goto(&block5, tmp0, tmp0, tmp0);
7718 30 : }
7719 : }
7720 :
7721 30 : if (block5.is_used()) {
7722 : compiler::TNode<Object> tmp2;
7723 : compiler::TNode<Object> tmp3;
7724 : compiler::TNode<Object> tmp4;
7725 : ca_.Bind(&block5, &tmp2, &tmp3, &tmp4);
7726 : ca_.Goto(&block3, tmp2, tmp3);
7727 : }
7728 :
7729 30 : if (block4.is_used()) {
7730 : compiler::TNode<Object> tmp5;
7731 : compiler::TNode<Object> tmp6;
7732 : compiler::TNode<Object> tmp7;
7733 : compiler::TNode<Smi> tmp8;
7734 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8);
7735 : compiler::TNode<Smi> tmp9;
7736 : USE(tmp9);
7737 90 : tmp9 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
7738 : compiler::TNode<Smi> tmp10;
7739 : USE(tmp10);
7740 60 : tmp10 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp8}, compiler::TNode<Smi>{tmp9}));
7741 : ca_.Goto(&block1, tmp5, tmp10);
7742 : }
7743 :
7744 30 : if (block3.is_used()) {
7745 : compiler::TNode<Object> tmp11;
7746 : compiler::TNode<Object> tmp12;
7747 : ca_.Bind(&block3, &tmp11, &tmp12);
7748 : ca_.Goto(&block1, tmp11, ca_.UncheckedCast<HeapObject>(tmp12));
7749 : }
7750 :
7751 30 : if (block1.is_used()) {
7752 : compiler::TNode<Object> tmp13;
7753 : compiler::TNode<Object> tmp14;
7754 : ca_.Bind(&block1, &tmp13, &tmp14);
7755 : ca_.Goto(&block6, tmp13, tmp14);
7756 : }
7757 :
7758 : compiler::TNode<Object> tmp15;
7759 : compiler::TNode<Object> tmp16;
7760 : ca_.Bind(&block6, &tmp15, &tmp16);
7761 60 : return compiler::TNode<Object>{tmp16};
7762 : }
7763 :
7764 5 : compiler::TNode<Smi> TestBuiltinsFromDSLAssembler::ExampleGenericOverload5ATSmi(compiler::TNode<Smi> p_o) {
7765 5 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7766 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7767 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7768 : ca_.Goto(&block0, p_o);
7769 :
7770 5 : if (block0.is_used()) {
7771 : compiler::TNode<Smi> tmp0;
7772 : ca_.Bind(&block0, &tmp0);
7773 : compiler::TNode<Smi> tmp1;
7774 : USE(tmp1);
7775 15 : tmp1 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
7776 : compiler::TNode<Smi> tmp2;
7777 : USE(tmp2);
7778 10 : tmp2 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp0}, compiler::TNode<Smi>{tmp1}));
7779 : ca_.Goto(&block1, tmp0, tmp2);
7780 : }
7781 :
7782 5 : if (block1.is_used()) {
7783 : compiler::TNode<Smi> tmp3;
7784 : compiler::TNode<Smi> tmp4;
7785 : ca_.Bind(&block1, &tmp3, &tmp4);
7786 : ca_.Goto(&block2, tmp3, tmp4);
7787 : }
7788 :
7789 : compiler::TNode<Smi> tmp5;
7790 : compiler::TNode<Smi> tmp6;
7791 : ca_.Bind(&block2, &tmp5, &tmp6);
7792 10 : return compiler::TNode<Smi>{tmp6};
7793 : }
7794 :
7795 5 : compiler::TNode<Object> TestBuiltinsFromDSLAssembler::ExampleGenericOverload20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o) {
7796 5 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7797 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7798 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7799 : ca_.Goto(&block0, p_o);
7800 :
7801 5 : if (block0.is_used()) {
7802 : compiler::TNode<Object> tmp0;
7803 : ca_.Bind(&block0, &tmp0);
7804 : ca_.Goto(&block1, tmp0, tmp0);
7805 : }
7806 :
7807 5 : if (block1.is_used()) {
7808 : compiler::TNode<Object> tmp1;
7809 : compiler::TNode<Object> tmp2;
7810 : ca_.Bind(&block1, &tmp1, &tmp2);
7811 : ca_.Goto(&block2, tmp1, tmp2);
7812 : }
7813 :
7814 : compiler::TNode<Object> tmp3;
7815 : compiler::TNode<Object> tmp4;
7816 : ca_.Bind(&block2, &tmp3, &tmp4);
7817 10 : return compiler::TNode<Object>{tmp4};
7818 : }
7819 :
7820 : } // namespace internal
7821 94089 : } // namespace v8
7822 :
|