1 // { dg-do compile { target { x86_64-*-* i?86-*-* } } }
2 // { dg-require-effective-target c++11 }
3 // { dg-additional-options "-fno-vect-cost-model -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv -fsigned-char -w -mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2" }
5 void *operator new(__SIZE_TYPE__, void *);
9 typedef float b __attribute__((__vector_size__(16)));
11 b e(b h, b m) { return __builtin_ia32_maxps(h, m); }
12 typedef int g __attribute__((__vector_size__(16)));
13 typedef long long aa __attribute__((__vector_size__(16)));
14 aa af(b h) { return aa(h); }
17 template <typename ag> ah(ag, int);
19 template <typename aj> aj ai(aj h, aj m, aj p) { return an(ak(h, p), m); }
23 operator b() { return j; }
28 operator aa() { return j; }
32 template <int> struct M {
35 operator b() { return j; }
38 template <int ao> struct ap {
44 template <int ao> using aq = typename ap<ao>::aq;
45 template <int ao> using ar = typename ap<ao>::ar;
46 template <int ao> using as = typename ap<ao>::as;
47 template <int ao> using at = typename ap<ao>::at;
49 ar<4> operator&(ar<4> h, ar<4>) {
51 av = __builtin_ia32_andps(aw, d);
54 int ax, ay = 0, az, ba, bb, bc;
56 __attribute__((__vector_size__(4 * sizeof(float)))) float bd = h;
57 ax = __builtin_ia32_movmskps(bd);
60 ar<4> operator<(as<4> h, as<4>) {
65 as<4> ak(as<4> h, as<4>) {
67 bg = (aa)__builtin_ia32_pminsd128((g)bh, (g)ae);
70 as<4> an(as<4> h, as<4> m) {
71 aa bi, bj = h, bk = m;
72 bi = (aa)__builtin_ia32_pmaxsd128((g)bj, (g)bk);
75 au operator-(au h, au) {
80 au operator*(au h, au m) {
84 __attribute__(()) float bp;
92 br(const br &h) { bs = h.bs; }
93 operator au() { return bs; }
100 bq = __builtin_ia32_minps(ab, ac);
105 { f = __builtin_ia32_maxps(h.bs, m.bs); }
111 operator br() const { return bs; }
113 template <typename> struct bu {
116 bu(br h, br m) : al(h), am(m) {}
137 br cc = al.bs + am.bs;
142 template <typename> using ce = ah;
144 cd bounds() { return cd(al, am); }
148 template <typename bz> struct cm {
150 cd bounds = h.bounds();
158 template <typename bz> struct cn : cm<bz> {
159 void co(ci &h, int m) {
170 template <typename cr, typename cs>
171 __attribute__((always_inline)) void ct(cn<bu<br>> &h, cn<bu<br>> &m, cr p,
175 while (__builtin_expect(l <= r && p(*l), true)) {
179 while (__builtin_expect(l <= r && p(*r), true)) {
191 q s = h, cx = s - cy, cz = cx * da;
193 return ai(i, as<4>(0), as<4>(1));
204 template <int> struct df {
207 df(void(), ci *, cm<cd>);
209 void di(u, dd, dd, dd) { dj(); }
221 br __trans_tmp_1293 = dn.bounds().bw(),
222 __trans_tmp_1292 = __trans_tmp_1293,
223 __trans_tmp_1291 = __trans_tmp_1292,
224 __trans_tmp_1290 = __trans_tmp_1291,
225 __trans_tmp_1289 = __trans_tmp_1290,
226 __trans_tmp_1288 = __trans_tmp_1289,
227 __trans_tmp_1287 = __trans_tmp_1288,
228 __trans_tmp_1286 = __trans_tmp_1287,
229 __trans_tmp_1285 = __trans_tmp_1286,
230 __trans_tmp_1284 = __trans_tmp_1285,
231 __trans_tmp_1283 = __trans_tmp_1284,
232 __trans_tmp_1282 = __trans_tmp_1283,
233 __trans_tmp_1281 = __trans_tmp_1282,
234 __trans_tmp_1280 = __trans_tmp_1281,
235 __trans_tmp_1279 = __trans_tmp_1280,
236 __trans_tmp_1278 = __trans_tmp_1279,
237 __trans_tmp_1277 = __trans_tmp_1278,
238 __trans_tmp_1276 = __trans_tmp_1277,
239 __trans_tmp_1275 = __trans_tmp_1276,
240 __trans_tmp_1274 = __trans_tmp_1275,
241 __trans_tmp_1273 = __trans_tmp_1274,
242 __trans_tmp_1272 = __trans_tmp_1273,
243 __trans_tmp_1271 = __trans_tmp_1272,
244 __trans_tmp_1270 = __trans_tmp_1271,
245 __trans_tmp_1269 = __trans_tmp_1270,
246 __trans_tmp_1268 = __trans_tmp_1269,
247 __trans_tmp_1267 = __trans_tmp_1268,
248 __trans_tmp_1266 = __trans_tmp_1267,
249 __trans_tmp_1265 = __trans_tmp_1266,
250 __trans_tmp_1264 = __trans_tmp_1265,
251 __trans_tmp_1263 = __trans_tmp_1264,
252 __trans_tmp_1262 = __trans_tmp_1263,
253 __trans_tmp_1261 = __trans_tmp_1262,
254 __trans_tmp_1260 = __trans_tmp_1261,
255 __trans_tmp_1259 = __trans_tmp_1260,
256 __trans_tmp_1258 = __trans_tmp_1259,
257 __trans_tmp_1257 = __trans_tmp_1258,
258 __trans_tmp_1256 = __trans_tmp_1257,
259 __trans_tmp_1255 = __trans_tmp_1256,
260 __trans_tmp_1254 = __trans_tmp_1255,
261 __trans_tmp_1253 = __trans_tmp_1254,
262 __trans_tmp_1252 = __trans_tmp_1253,
263 __trans_tmp_1251 = __trans_tmp_1252,
264 __trans_tmp_1250 = __trans_tmp_1251,
265 __trans_tmp_1249 = __trans_tmp_1250,
266 __trans_tmp_1248 = __trans_tmp_1249,
267 __trans_tmp_1247 = __trans_tmp_1248,
268 __trans_tmp_1246 = __trans_tmp_1247,
269 __trans_tmp_1245 = __trans_tmp_1246,
270 __trans_tmp_1244 = __trans_tmp_1245,
271 __trans_tmp_1243 = __trans_tmp_1244,
272 __trans_tmp_1242 = __trans_tmp_1243,
273 __trans_tmp_1241 = __trans_tmp_1242,
274 __trans_tmp_1240 = __trans_tmp_1241,
275 __trans_tmp_1239 = __trans_tmp_1240,
276 __trans_tmp_1238 = __trans_tmp_1239,
277 __trans_tmp_1237 = __trans_tmp_1238,
278 __trans_tmp_1236 = __trans_tmp_1237,
279 __trans_tmp_1235 = __trans_tmp_1236,
280 __trans_tmp_1234 = __trans_tmp_1235,
281 __trans_tmp_1233 = __trans_tmp_1234,
282 __trans_tmp_1232 = __trans_tmp_1233,
283 __trans_tmp_1231 = __trans_tmp_1232,
284 __trans_tmp_1230 = __trans_tmp_1231,
285 __trans_tmp_1229 = __trans_tmp_1230,
286 __trans_tmp_1228 = __trans_tmp_1229,
287 __trans_tmp_1227 = __trans_tmp_1228,
288 __trans_tmp_1226 = __trans_tmp_1227,
289 __trans_tmp_1225 = __trans_tmp_1226,
290 __trans_tmp_1224 = __trans_tmp_1225,
291 __trans_tmp_1223 = __trans_tmp_1224,
292 __trans_tmp_1222 = __trans_tmp_1223,
293 __trans_tmp_1221 = __trans_tmp_1222,
294 __trans_tmp_1220 = __trans_tmp_1221,
295 __trans_tmp_1219 = __trans_tmp_1220,
296 __trans_tmp_1218 = __trans_tmp_1219,
297 __trans_tmp_1217 = __trans_tmp_1218,
298 __trans_tmp_1216 = __trans_tmp_1217,
299 __trans_tmp_1215 = __trans_tmp_1216,
300 __trans_tmp_1214 = __trans_tmp_1215,
301 __trans_tmp_1213 = __trans_tmp_1214,
302 __trans_tmp_1212 = __trans_tmp_1213,
303 __trans_tmp_1211 = __trans_tmp_1212,
304 __trans_tmp_1210 = __trans_tmp_1211,
305 __trans_tmp_1209 = __trans_tmp_1210,
306 __trans_tmp_1208 = __trans_tmp_1209,
307 __trans_tmp_1207 = __trans_tmp_1208,
308 __trans_tmp_1206 = __trans_tmp_1207,
309 __trans_tmp_1205 = __trans_tmp_1206,
310 __trans_tmp_1204 = __trans_tmp_1205,
311 __trans_tmp_1203 = __trans_tmp_1204,
312 __trans_tmp_1202 = __trans_tmp_1203,
313 __trans_tmp_1201 = __trans_tmp_1202,
314 __trans_tmp_1200 = __trans_tmp_1201,
315 __trans_tmp_1199 = __trans_tmp_1200,
316 __trans_tmp_1198 = __trans_tmp_1199,
317 __trans_tmp_1197 = __trans_tmp_1198,
318 __trans_tmp_1196 = __trans_tmp_1197,
319 __trans_tmp_1195 = __trans_tmp_1196,
320 __trans_tmp_1194 = __trans_tmp_1195,
321 __trans_tmp_1193 = __trans_tmp_1194,
322 __trans_tmp_1192 = __trans_tmp_1193,
323 __trans_tmp_1191 = __trans_tmp_1192,
324 __trans_tmp_1190 = __trans_tmp_1191,
325 __trans_tmp_1189 = __trans_tmp_1190,
326 __trans_tmp_1188 = __trans_tmp_1189,
327 __trans_tmp_1187 = __trans_tmp_1188,
328 __trans_tmp_1186 = __trans_tmp_1187,
329 __trans_tmp_1185 = __trans_tmp_1186,
330 __trans_tmp_1184 = __trans_tmp_1185,
331 __trans_tmp_1183 = __trans_tmp_1184,
332 __trans_tmp_1182 = __trans_tmp_1183,
333 __trans_tmp_1181 = __trans_tmp_1182,
334 __trans_tmp_1180 = __trans_tmp_1181,
335 __trans_tmp_1179 = __trans_tmp_1180,
336 __trans_tmp_1178 = __trans_tmp_1179,
337 __trans_tmp_1177 = __trans_tmp_1178,
338 __trans_tmp_1176 = __trans_tmp_1177,
339 __trans_tmp_1175 = __trans_tmp_1176,
340 __trans_tmp_1174 = __trans_tmp_1175,
341 __trans_tmp_1173 = __trans_tmp_1174,
342 __trans_tmp_1172 = __trans_tmp_1173,
343 __trans_tmp_1171 = __trans_tmp_1172,
344 __trans_tmp_1170 = __trans_tmp_1171,
345 __trans_tmp_1169 = __trans_tmp_1170,
346 __trans_tmp_1168 = __trans_tmp_1169,
347 __trans_tmp_1167 = __trans_tmp_1168,
348 __trans_tmp_1166 = __trans_tmp_1167,
349 __trans_tmp_1165 = __trans_tmp_1166,
350 __trans_tmp_1164 = __trans_tmp_1165,
351 __trans_tmp_1163 = __trans_tmp_1164,
352 __trans_tmp_1162 = __trans_tmp_1163,
353 __trans_tmp_1161 = __trans_tmp_1162,
354 __trans_tmp_1160 = __trans_tmp_1161,
355 __trans_tmp_1159 = __trans_tmp_1160,
356 __trans_tmp_1158 = __trans_tmp_1159,
357 __trans_tmp_1157 = __trans_tmp_1158,
358 __trans_tmp_1156 = __trans_tmp_1157,
359 __trans_tmp_1155 = __trans_tmp_1156,
360 __trans_tmp_1154 = __trans_tmp_1155,
361 __trans_tmp_1153 = __trans_tmp_1154,
362 __trans_tmp_1152 = __trans_tmp_1153,
363 __trans_tmp_1151 = __trans_tmp_1152,
364 __trans_tmp_1150 = __trans_tmp_1151,
365 __trans_tmp_1149 = __trans_tmp_1150,
366 __trans_tmp_1148 = __trans_tmp_1149,
367 __trans_tmp_1147 = __trans_tmp_1148,
368 __trans_tmp_1146 = __trans_tmp_1147,
369 __trans_tmp_1145 = __trans_tmp_1146,
370 __trans_tmp_1144 = __trans_tmp_1145,
371 __trans_tmp_1143 = __trans_tmp_1144,
372 __trans_tmp_1142 = __trans_tmp_1143,
373 __trans_tmp_1141 = __trans_tmp_1142,
374 __trans_tmp_1140 = __trans_tmp_1141,
375 __trans_tmp_1139 = __trans_tmp_1140,
376 __trans_tmp_1138 = __trans_tmp_1139,
377 __trans_tmp_1137 = __trans_tmp_1138,
378 __trans_tmp_1136 = __trans_tmp_1137,
379 __trans_tmp_1135 = __trans_tmp_1136,
380 __trans_tmp_1134 = __trans_tmp_1135,
381 __trans_tmp_1133 = __trans_tmp_1134,
382 __trans_tmp_1132 = __trans_tmp_1133,
383 __trans_tmp_1131 = __trans_tmp_1132,
384 __trans_tmp_1130 = __trans_tmp_1131,
385 __trans_tmp_1129 = __trans_tmp_1130,
386 __trans_tmp_1128 = __trans_tmp_1129,
387 __trans_tmp_1127 = __trans_tmp_1128,
388 __trans_tmp_1126 = __trans_tmp_1127,
389 __trans_tmp_1125 = __trans_tmp_1126,
390 __trans_tmp_1124 = __trans_tmp_1125,
391 __trans_tmp_1123 = __trans_tmp_1124,
392 __trans_tmp_1122 = __trans_tmp_1123,
393 __trans_tmp_1121 = __trans_tmp_1122,
394 __trans_tmp_1120 = __trans_tmp_1121,
395 __trans_tmp_1119 = __trans_tmp_1120,
396 __trans_tmp_1118 = __trans_tmp_1119,
397 __trans_tmp_1117 = __trans_tmp_1118,
398 __trans_tmp_1116 = __trans_tmp_1117,
399 __trans_tmp_1115 = __trans_tmp_1116,
400 __trans_tmp_1114 = __trans_tmp_1115,
401 __trans_tmp_1113 = __trans_tmp_1114,
402 __trans_tmp_1112 = __trans_tmp_1113,
403 __trans_tmp_1111 = __trans_tmp_1112,
404 __trans_tmp_1110 = __trans_tmp_1111,
405 __trans_tmp_1109 = __trans_tmp_1110,
406 __trans_tmp_1108 = __trans_tmp_1109,
407 __trans_tmp_1107 = __trans_tmp_1108,
408 __trans_tmp_1106 = __trans_tmp_1107,
409 __trans_tmp_1105 = __trans_tmp_1106,
410 __trans_tmp_1104 = __trans_tmp_1105,
411 __trans_tmp_1103 = __trans_tmp_1104,
412 __trans_tmp_1102 = __trans_tmp_1103,
413 __trans_tmp_1101 = __trans_tmp_1102,
414 __trans_tmp_1100 = __trans_tmp_1101,
415 __trans_tmp_1099 = __trans_tmp_1100,
416 __trans_tmp_1098 = __trans_tmp_1099,
417 __trans_tmp_1097 = __trans_tmp_1098,
418 __trans_tmp_1096 = __trans_tmp_1097,
419 __trans_tmp_1095 = __trans_tmp_1096,
420 __trans_tmp_1094 = __trans_tmp_1095,
421 __trans_tmp_1093 = __trans_tmp_1094,
422 __trans_tmp_1092 = __trans_tmp_1093,
423 __trans_tmp_1091 = __trans_tmp_1092,
424 __trans_tmp_1090 = __trans_tmp_1091,
425 __trans_tmp_1089 = __trans_tmp_1090,
426 __trans_tmp_1088 = __trans_tmp_1089,
427 __trans_tmp_1087 = __trans_tmp_1088,
428 __trans_tmp_1086 = __trans_tmp_1087,
429 __trans_tmp_1085 = __trans_tmp_1086,
430 __trans_tmp_1084 = __trans_tmp_1085,
431 __trans_tmp_1083 = __trans_tmp_1084,
432 __trans_tmp_1082 = __trans_tmp_1083,
433 __trans_tmp_1081 = __trans_tmp_1082,
434 __trans_tmp_1080 = __trans_tmp_1081,
435 __trans_tmp_1079 = __trans_tmp_1080,
436 __trans_tmp_1078 = __trans_tmp_1079,
437 __trans_tmp_1077 = __trans_tmp_1078,
438 __trans_tmp_1076 = __trans_tmp_1077,
439 __trans_tmp_1075 = __trans_tmp_1076,
440 __trans_tmp_1074 = __trans_tmp_1075,
441 __trans_tmp_1073 = __trans_tmp_1074,
442 __trans_tmp_1072 = __trans_tmp_1073,
443 __trans_tmp_1071 = __trans_tmp_1072,
444 __trans_tmp_1070 = __trans_tmp_1071,
445 __trans_tmp_1069 = __trans_tmp_1070,
446 __trans_tmp_1068 = __trans_tmp_1069,
447 __trans_tmp_1067 = __trans_tmp_1068,
448 __trans_tmp_1066 = __trans_tmp_1067,
449 __trans_tmp_1065 = __trans_tmp_1066,
450 __trans_tmp_1064 = __trans_tmp_1065,
451 __trans_tmp_1063 = __trans_tmp_1064,
452 __trans_tmp_1062 = __trans_tmp_1063,
453 __trans_tmp_1061 = __trans_tmp_1062,
454 __trans_tmp_1060 = __trans_tmp_1061,
455 __trans_tmp_1059 = __trans_tmp_1060,
456 __trans_tmp_1058 = __trans_tmp_1059,
457 __trans_tmp_1057 = __trans_tmp_1058,
458 __trans_tmp_1056 = __trans_tmp_1057,
459 __trans_tmp_1055 = __trans_tmp_1056,
460 __trans_tmp_1054 = __trans_tmp_1055,
461 __trans_tmp_1053 = __trans_tmp_1054,
462 __trans_tmp_1052 = __trans_tmp_1053,
463 __trans_tmp_1051 = __trans_tmp_1052,
464 __trans_tmp_1050 = __trans_tmp_1051,
465 __trans_tmp_1049 = __trans_tmp_1050,
466 __trans_tmp_1048 = __trans_tmp_1049,
467 __trans_tmp_1047 = __trans_tmp_1048,
468 __trans_tmp_1046 = __trans_tmp_1047,
469 __trans_tmp_1045 = __trans_tmp_1046,
470 __trans_tmp_1044 = __trans_tmp_1045,
471 __trans_tmp_1043 = __trans_tmp_1044,
472 __trans_tmp_1042 = __trans_tmp_1043,
473 __trans_tmp_1041 = __trans_tmp_1042,
474 __trans_tmp_1040 = __trans_tmp_1041,
475 __trans_tmp_1039 = __trans_tmp_1040,
476 __trans_tmp_1038 = __trans_tmp_1039,
477 __trans_tmp_1037 = __trans_tmp_1038,
478 __trans_tmp_1036 = __trans_tmp_1037,
479 __trans_tmp_1035 = __trans_tmp_1036,
480 __trans_tmp_1034 = __trans_tmp_1035,
481 __trans_tmp_1033 = __trans_tmp_1034,
482 __trans_tmp_1032 = __trans_tmp_1033,
483 __trans_tmp_1031 = __trans_tmp_1032,
484 __trans_tmp_1030 = __trans_tmp_1031,
485 __trans_tmp_1029 = __trans_tmp_1030,
486 __trans_tmp_1028 = __trans_tmp_1029,
487 __trans_tmp_1027 = __trans_tmp_1028,
488 __trans_tmp_1026 = __trans_tmp_1027,
489 __trans_tmp_1025 = __trans_tmp_1026,
490 __trans_tmp_1024 = __trans_tmp_1025,
491 __trans_tmp_1023 = __trans_tmp_1024,
492 __trans_tmp_1022 = __trans_tmp_1023,
493 __trans_tmp_1021 = __trans_tmp_1022,
494 __trans_tmp_1020 = __trans_tmp_1021,
495 __trans_tmp_1019 = __trans_tmp_1020,
496 __trans_tmp_1018 = __trans_tmp_1019,
497 __trans_tmp_1017 = __trans_tmp_1018,
498 __trans_tmp_1016 = __trans_tmp_1017,
499 __trans_tmp_1015 = __trans_tmp_1016,
500 __trans_tmp_1014 = __trans_tmp_1015,
501 __trans_tmp_1013 = __trans_tmp_1014,
502 __trans_tmp_1012 = __trans_tmp_1013,
503 __trans_tmp_1011 = __trans_tmp_1012,
504 __trans_tmp_1010 = __trans_tmp_1011,
505 __trans_tmp_1009 = __trans_tmp_1010,
506 __trans_tmp_1008 = __trans_tmp_1009,
507 __trans_tmp_1007 = __trans_tmp_1008,
508 __trans_tmp_1006 = __trans_tmp_1007,
509 __trans_tmp_1005 = __trans_tmp_1006,
510 __trans_tmp_1004 = __trans_tmp_1005,
511 __trans_tmp_1003 = __trans_tmp_1004,
512 __trans_tmp_1002 = __trans_tmp_1003,
513 __trans_tmp_1001 = __trans_tmp_1002,
514 __trans_tmp_1000 = __trans_tmp_1001,
515 __trans_tmp_999 = __trans_tmp_1000,
516 __trans_tmp_998 = __trans_tmp_999,
517 __trans_tmp_997 = __trans_tmp_998,
518 __trans_tmp_996 = __trans_tmp_997,
519 __trans_tmp_995 = __trans_tmp_996,
520 __trans_tmp_994 = __trans_tmp_995,
521 __trans_tmp_993 = __trans_tmp_994,
522 __trans_tmp_992 = __trans_tmp_993,
523 __trans_tmp_991 = __trans_tmp_992,
524 __trans_tmp_990 = __trans_tmp_991,
525 __trans_tmp_989 = __trans_tmp_990,
526 __trans_tmp_988 = __trans_tmp_989,
527 __trans_tmp_987 = __trans_tmp_988,
528 __trans_tmp_986 = __trans_tmp_987,
529 __trans_tmp_985 = __trans_tmp_986,
530 __trans_tmp_984 = __trans_tmp_985,
531 __trans_tmp_983 = __trans_tmp_984,
532 __trans_tmp_982 = __trans_tmp_983,
533 __trans_tmp_981 = __trans_tmp_982,
534 __trans_tmp_980 = __trans_tmp_981,
535 __trans_tmp_979 = __trans_tmp_980,
536 __trans_tmp_978 = __trans_tmp_979,
537 __trans_tmp_977 = __trans_tmp_978,
538 __trans_tmp_976 = __trans_tmp_977,
539 __trans_tmp_975 = __trans_tmp_976,
540 __trans_tmp_974 = __trans_tmp_975,
541 __trans_tmp_973 = __trans_tmp_974,
542 __trans_tmp_972 = __trans_tmp_973,
543 __trans_tmp_971 = __trans_tmp_972,
544 __trans_tmp_970 = __trans_tmp_971,
545 __trans_tmp_969 = __trans_tmp_970,
546 __trans_tmp_968 = __trans_tmp_969,
547 __trans_tmp_967 = __trans_tmp_968,
548 __trans_tmp_966 = __trans_tmp_967,
549 __trans_tmp_965 = __trans_tmp_966,
550 __trans_tmp_964 = __trans_tmp_965,
551 __trans_tmp_963 = __trans_tmp_964,
552 __trans_tmp_962 = __trans_tmp_963,
553 __trans_tmp_961 = __trans_tmp_962,
554 __trans_tmp_960 = __trans_tmp_961,
555 __trans_tmp_959 = __trans_tmp_960,
556 __trans_tmp_958 = __trans_tmp_959,
557 __trans_tmp_957 = __trans_tmp_958,
558 __trans_tmp_956 = __trans_tmp_957,
559 __trans_tmp_955 = __trans_tmp_956,
560 __trans_tmp_954 = __trans_tmp_955,
561 __trans_tmp_953 = __trans_tmp_954,
562 __trans_tmp_952 = __trans_tmp_953,
563 __trans_tmp_951 = __trans_tmp_952,
564 __trans_tmp_950 = __trans_tmp_951,
565 __trans_tmp_949 = __trans_tmp_950,
566 __trans_tmp_948 = __trans_tmp_949,
567 __trans_tmp_947 = __trans_tmp_948,
568 __trans_tmp_946 = __trans_tmp_947,
569 __trans_tmp_945 = __trans_tmp_946,
570 __trans_tmp_944 = __trans_tmp_945,
571 __trans_tmp_943 = __trans_tmp_944,
572 __trans_tmp_942 = __trans_tmp_943,
573 __trans_tmp_941 = __trans_tmp_942,
574 __trans_tmp_940 = __trans_tmp_941,
575 __trans_tmp_939 = __trans_tmp_940,
576 __trans_tmp_938 = __trans_tmp_939,
577 __trans_tmp_937 = __trans_tmp_938,
578 __trans_tmp_936 = __trans_tmp_937,
579 __trans_tmp_935 = __trans_tmp_936,
580 __trans_tmp_934 = __trans_tmp_935,
581 __trans_tmp_933 = __trans_tmp_934,
582 __trans_tmp_932 = __trans_tmp_933,
583 __trans_tmp_931 = __trans_tmp_932,
584 __trans_tmp_930 = __trans_tmp_931,
585 __trans_tmp_929 = __trans_tmp_930,
586 __trans_tmp_928 = __trans_tmp_929,
587 __trans_tmp_927 = __trans_tmp_928,
588 __trans_tmp_926 = __trans_tmp_927,
589 __trans_tmp_925 = __trans_tmp_926,
590 __trans_tmp_924 = __trans_tmp_925,
591 __trans_tmp_923 = __trans_tmp_924,
592 __trans_tmp_922 = __trans_tmp_923,
593 __trans_tmp_921 = __trans_tmp_922,
594 __trans_tmp_920 = __trans_tmp_921,
595 __trans_tmp_919 = __trans_tmp_920,
596 __trans_tmp_918 = __trans_tmp_919,
597 __trans_tmp_917 = __trans_tmp_918,
598 __trans_tmp_916 = __trans_tmp_917,
599 __trans_tmp_915 = __trans_tmp_916,
600 __trans_tmp_914 = __trans_tmp_915,
601 __trans_tmp_913 = __trans_tmp_914,
602 __trans_tmp_912 = __trans_tmp_913,
603 __trans_tmp_911 = __trans_tmp_912,
604 __trans_tmp_910 = __trans_tmp_911,
605 __trans_tmp_909 = __trans_tmp_910,
606 __trans_tmp_908 = __trans_tmp_909,
607 __trans_tmp_907 = __trans_tmp_908,
608 __trans_tmp_906 = __trans_tmp_907,
609 __trans_tmp_905 = __trans_tmp_906,
610 __trans_tmp_904 = __trans_tmp_905,
611 __trans_tmp_903 = __trans_tmp_904,
612 __trans_tmp_902 = __trans_tmp_903,
613 __trans_tmp_901 = __trans_tmp_902,
614 __trans_tmp_900 = __trans_tmp_901,
615 __trans_tmp_899 = __trans_tmp_900,
616 __trans_tmp_898 = __trans_tmp_899,
617 __trans_tmp_897 = __trans_tmp_898,
618 __trans_tmp_896 = __trans_tmp_897,
619 __trans_tmp_895 = __trans_tmp_896,
620 __trans_tmp_894 = __trans_tmp_895,
621 __trans_tmp_893 = __trans_tmp_894,
622 __trans_tmp_892 = __trans_tmp_893,
623 __trans_tmp_891 = __trans_tmp_892,
624 __trans_tmp_890 = __trans_tmp_891,
625 __trans_tmp_889 = __trans_tmp_890,
626 __trans_tmp_888 = __trans_tmp_889,
627 __trans_tmp_887 = __trans_tmp_888,
628 __trans_tmp_886 = __trans_tmp_887,
629 __trans_tmp_885 = __trans_tmp_886,
630 __trans_tmp_884 = __trans_tmp_885,
631 __trans_tmp_883 = __trans_tmp_884,
632 __trans_tmp_882 = __trans_tmp_883,
633 __trans_tmp_881 = __trans_tmp_882,
634 __trans_tmp_880 = __trans_tmp_881,
635 __trans_tmp_879 = __trans_tmp_880,
636 __trans_tmp_878 = __trans_tmp_879,
637 __trans_tmp_877 = __trans_tmp_878,
638 __trans_tmp_876 = __trans_tmp_877,
639 __trans_tmp_875 = __trans_tmp_876,
640 __trans_tmp_874 = __trans_tmp_875,
641 __trans_tmp_873 = __trans_tmp_874,
642 __trans_tmp_872 = __trans_tmp_873,
643 __trans_tmp_871 = __trans_tmp_872,
644 __trans_tmp_870 = __trans_tmp_871,
645 __trans_tmp_869 = __trans_tmp_870,
646 __trans_tmp_868 = __trans_tmp_869,
647 __trans_tmp_867 = __trans_tmp_868,
648 __trans_tmp_866 = __trans_tmp_867,
649 __trans_tmp_865 = __trans_tmp_866,
650 __trans_tmp_864 = __trans_tmp_865,
651 __trans_tmp_863 = __trans_tmp_864, c = __trans_tmp_863;
652 bool __trans_tmp_861 = any(v.dc.bin(c) < dl & dm);
653 return __trans_tmp_861;
655 [](cn<cd> &pinfo, ci &dn) { pinfo.co(dn, dn.al.n); });
656 int left_weight = y.cp;
659 a(left_weight, z.cp);
664 J(int, df<16>, cq::cu, int, int, cq *, int, int, int, int);
665 void recurse(G h, cq::cu, bool) { heuristic.di(ay, de, de, de); }
669 template <typename, typename Heuristic, typename, typename>
670 static void build(Heuristic h, cq::cu m, cq *p) {
671 J builder(0, h, m, bc, bb, p, int(), int(), ba, az);
673 builder.recurse(record, nullptr, true);
676 struct BVHBuilderBinnedFastSpatialSAH {
677 template <typename SplitPrimitiveFunc>
678 static void build(cq::cu h, int, int, cq *cv, SplitPrimitiveFunc p5, int,
681 typedef df<16> Heuristic;
682 Heuristic heuristic(p5, &de, p7);
683 I::build<int, Heuristic, dd, ci>(heuristic, h, cv);
685 } BVHNBuilderFastSpatialSAH_scene;
686 struct BVHNBuilderFastSpatialSAH {
690 BVHNBuilderFastSpatialSAH() : prims0(BVHNBuilderFastSpatialSAH_scene, 0) {
693 BVHBuilderBinnedFastSpatialSAH::build(&bvh, int(), int(), &bvh, splitter, 0,
696 } BVH4Triangle4SceneBuilderFastSpatialSAH_bvh;