Lines Matching refs:vec_uint4
279 #define si_a(_a, _b) ((qword)(vec_add((vec_uint4)(_a), (vec_uint4)(_b))))
317 #define si_addx(_a, _b, _c) ((qword)(vec_add(vec_add((vec_uint4)(_a), (vec_uint4)(_b)), \
318 vec_and((vec_uint4)(_c), vec_splat_u32(1)))))
323 #define si_and(_a, _b) ((qword)(vec_and((vec_uint4)(_a), (vec_uint4)(_b))))
365 #define si_bg(_a, _b) ((qword)(vec_subc((vec_uint4)(_b), (vec_uint4)(_a))))
367 #define si_bgx(_a, _b, _c) ((qword)(vec_and(vec_or(vec_cmpgt((vec_uint4)(_b), (vec_uint4)(_a)), \
368 vec_and(vec_cmpeq((vec_uint4)(_b), (vec_uint4)(_a)), \
369 (vec_uint4)(_c))), vec_splat_u32(1))))
375 vec_float4 msb = (vec_float4)((vec_uint4){0x80000000, 0x80000000, 0x80000000, 0x80000000});
383 vec_uint4 sign_mask= (vec_uint4) { 0x7FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF };
384 vec_uint4 nan_mask = (vec_uint4) { 0x7FF00000, 0x00000000, 0x7FF00000, 0x00000000 };
387 vec_uint4 biteq;
388 vec_uint4 aabs;
389 vec_uint4 babs;
390 vec_uint4 a_gt;
391 vec_uint4 ahi_inf;
392 vec_uint4 anan;
393 vec_uint4 result;
404 aabs = vec_and((vec_uint4)a,sign_mask);
405 babs = vec_and((vec_uint4)b,sign_mask);
408 biteq = (vec_uint4) vec_cmpeq((vec_uint4)aabs,(vec_uint4)babs);
409 biteq = vec_and(biteq,(vec_uint4)vec_slo((vec_uchar16)biteq,x.v));
417 a_gt = (vec_uint4)vec_cmpgt(aabs,nan_mask);
420 ahi_inf = (vec_uint4)vec_cmpeq(aabs,nan_mask);
423 anan = (vec_uint4)vec_or(a_gt,vec_and((vec_uint4)vec_slo((vec_uchar16)a_gt,x.v),ahi_inf));
437 vec_float4 msb = (vec_float4)((vec_uint4){0x80000000, 0x80000000, 0x80000000, 0x80000000});
446 vec_uint4 nan_mask = (vec_uint4) { 0x7FF00000, 0x0, 0x7FF00000, 0x0 };
447 vec_uint4 sign_mask = (vec_uint4) { 0x7FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF };
458 vec_uint4 aabs = vec_and((vec_uint4)a, sign_mask);
459 vec_uint4 babs = vec_and((vec_uint4)b, sign_mask);
462 vec_uint4 a_inf = (vec_uint4)vec_cmpeq(aabs, nan_mask);
463 vec_uint4 a_nan = (vec_uint4)vec_cmpgt(aabs, nan_mask);
464 a_nan = vec_or(a_nan, vec_and((vec_uint4)vec_slo((vec_uchar16)a_nan,x.v),a_inf));
465 a_nan = (vec_uint4)vec_perm((vec_uchar16)a_nan, (vec_uchar16)a_nan, splat_hi);
468 vec_uint4 b_inf = (vec_uint4)vec_cmpeq(babs, nan_mask);
469 vec_uint4 b_nan = (vec_uint4)vec_cmpgt(babs, nan_mask);
470 b_nan = vec_or(b_nan, vec_and((vec_uint4)vec_slo((vec_uchar16)b_nan,x.v),b_inf));
471 b_nan = (vec_uint4)vec_perm((vec_uchar16)b_nan, (vec_uchar16)b_nan, splat_hi);
474 vec_uint4 gt_hi = (vec_uint4)vec_cmpgt(aabs,babs);
477 vec_uint4 gt_lo = (vec_uint4)vec_cmpgt((vec_uint4)aabs, (vec_uint4)babs);
478 vec_uint4 eq = (vec_uint4)vec_cmpeq(aabs, babs);
479 vec_uint4 eqgt = vec_and(eq,vec_slo(gt_lo,x.v));
482 vec_uint4 r = vec_or(gt_hi, eqgt);
485 r = (vec_uint4)vec_perm((vec_uchar16)r,(vec_uchar16)r,splat_hi);
506 return ((qword)(vec_cmpeq((vec_uint4)(a), (vec_uint4)(b))));
534 vec_uint4 sign_mask= (vec_uint4) { 0x7FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF };
535 vec_uint4 nan_mask = (vec_uint4) { 0x7FF00000, 0x00000000, 0x7FF00000, 0x00000000 };
538 vec_uint4 biteq;
539 vec_uint4 aabs;
540 vec_uint4 babs;
541 vec_uint4 a_gt;
542 vec_uint4 ahi_inf;
543 vec_uint4 anan;
544 vec_uint4 iszero;
545 vec_uint4 result;
556 biteq = (vec_uint4) vec_cmpeq((vec_uint4)a,(vec_uint4)b);
557 biteq = vec_and(biteq,(vec_uint4)vec_slo((vec_uchar16)biteq,x.v));
560 aabs = vec_and((vec_uint4)a,sign_mask);
561 babs = vec_and((vec_uint4)b,sign_mask);
569 a_gt = (vec_uint4)vec_cmpgt(aabs,nan_mask);
572 ahi_inf = (vec_uint4)vec_cmpeq(aabs,nan_mask);
575 anan = (vec_uint4)vec_or(a_gt,vec_and((vec_uint4)vec_slo((vec_uchar16)a_gt,x.v),ahi_inf));
578 iszero =(vec_uint4)vec_cmpeq((vec_uint4)vec_or(aabs,babs),(vec_uint4)vec_splat_u32(0));
579 iszero = vec_and(iszero,(vec_uint4)vec_slo((vec_uchar16)iszero,x.v));
619 return ((qword)(vec_cmpgt((vec_uint4)(a), (vec_uint4)(b))));
631 vec_uint4 nan_mask = (vec_uint4) { 0x7FF00000, 0x0, 0x7FF00000, 0x0 };
632 vec_uint4 sign_mask = (vec_uint4) { 0x7FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF };
643 vec_uint4 aabs = vec_and((vec_uint4)a, sign_mask);
644 vec_uint4 babs = vec_and((vec_uint4)b, sign_mask);
647 vec_uint4 a_inf = (vec_uint4)vec_cmpeq(aabs, nan_mask);
648 vec_uint4 a_nan = (vec_uint4)vec_cmpgt(aabs, nan_mask);
649 a_nan = vec_or(a_nan, vec_and((vec_uint4)vec_slo((vec_uchar16)a_nan,x.v),a_inf));
650 a_nan = (vec_uint4)vec_perm((vec_uchar16)a_nan, (vec_uchar16)a_nan, splat_hi);
653 vec_uint4 b_inf = (vec_uint4)vec_cmpeq(babs, nan_mask);
654 vec_uint4 b_nan = (vec_uint4)vec_cmpgt(babs, nan_mask);
655 b_nan = vec_or(b_nan, vec_and((vec_uint4)vec_slo((vec_uchar16)b_nan,x.v),b_inf));
656 b_nan = (vec_uint4)vec_perm((vec_uchar16)b_nan, (vec_uchar16)b_nan, splat_hi);
659 vec_uint4 asel = (vec_uint4)vec_sra((vec_int4)(a), (vec_uint4)vec_splat(((vec_uint4)si_from_int(31)), 0));
660 asel = (vec_uint4)vec_perm((vec_uchar16)asel,(vec_uchar16)asel,splat_hi);
663 vec_uint4 bsel = (vec_uint4)vec_sra((vec_int4)(b), (vec_uint4)vec_splat(((vec_uint4)si_from_int(31)), 0));
664 bsel = (vec_uint4)vec_perm((vec_uchar16)bsel,(vec_uchar16)bsel,splat_hi);
667 vec_uint4 abor = vec_subc((vec_uint4)vec_splat_u32(0), aabs);
669 abor = (vec_uint4)(vec_perm(vec_perm((vec_uchar16)abor, (vec_uchar16)abor, borrow_shuffle),((vec_uchar16){0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80}),pat));
670 vec_uint4 aneg = vec_add(vec_add(vec_splat_u32(0), vec_nor(aabs, aabs)), vec_and(abor, vec_splat_u32(1)));
676 vec_uint4 bbor = vec_subc((vec_uint4)vec_splat_u32(0), babs);
677 bbor = (vec_uint4)(vec_perm(vec_perm((vec_uchar16)bbor, (vec_uchar16)bbor, borrow_shuffle),((vec_uchar16){0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80}),pat));
678 vec_uint4 bneg = vec_add(vec_nor(babs, babs), vec_and(bbor, vec_splat_u32(1)));
684 vec_uint4 gt_hi = (vec_uint4)vec_cmpgt(aval,bval);
687 vec_uint4 gt_lo = (vec_uint4)vec_cmpgt((vec_uint4)aval, (vec_uint4)bval);
688 vec_uint4 eq = (vec_uint4)vec_cmpeq(aval, bval);
689 vec_uint4 eqgt = vec_and(eq,vec_slo(gt_lo,x.v));
692 vec_uint4 r = vec_or(gt_hi, eqgt);
695 r = (vec_uint4)vec_perm((vec_uchar16)r,(vec_uchar16)r,splat_hi);
733 return ((qword)(vec_cmpgt((vec_uint4)(a),
734 vec_splat((vec_uint4)(si_from_uint(b)), 0))));
740 vec_uint4 sign_mask = (vec_uint4) { 0x7FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF };
741 vec_uint4 result = (vec_uint4){0};
742 vec_uint4 sign = (vec_uint4)vec_sra((vec_int4)(a), (vec_uint4)vec_splat(((vec_uint4)si_from_int(31)), 0));
743 sign = (vec_uint4)vec_perm((vec_uchar16)sign,(vec_uchar16)sign,splat_hi);
744 vec_uint4 aabs = vec_and((vec_uint4)a,sign_mask);
757 vec_uint4 nan_mask = (vec_uint4) { 0x7FF00000, 0x0, 0x7FF00000, 0x0 };
758 vec_uint4 a_inf = (vec_uint4)vec_cmpeq(aabs, nan_mask);
762 vec_uint4 a_nan = (vec_uint4)vec_cmpgt(aabs, nan_mask);
763 a_nan = vec_or(a_nan, vec_and((vec_uint4)vec_slo((vec_uchar16)a_nan,x.v),a_inf));
764 a_nan = (vec_uint4)vec_perm((vec_uchar16)a_nan, (vec_uchar16)a_nan, splat_hi);
770 a_inf = vec_and((vec_uint4)vec_slo((vec_uchar16)a_inf,x.v), a_inf);
771 a_inf = (vec_uint4)vec_perm((vec_uchar16)a_inf, (vec_uchar16)a_inf, splat_hi);
783 vec_uint4 iszero =(vec_uint4)vec_cmpeq(aabs,(vec_uint4)vec_splat_u32(0));
784 iszero = vec_and(iszero,(vec_uint4)vec_slo((vec_uchar16)iszero,x.v));
788 vec_uint4 denorm_mask = (vec_uint4){0xFFFFF, 0xFFFFF, 0xFFFFF, 0xFFFFF};
789 vec_uint4 isdenorm = vec_nor((vec_uint4)vec_cmpgt(aabs, denorm_mask), iszero);
790 isdenorm = (vec_uint4)vec_perm((vec_uchar16)isdenorm, (vec_uchar16)isdenorm, splat_hi);
801 iszero = (vec_uint4)vec_perm((vec_uchar16)iszero, (vec_uchar16)iszero, splat_hi);
816 #define si_cg(_a, _b) ((qword)(vec_addc((vec_uint4)(_a), (vec_uint4)(_b))))
818 #define si_cgx(_a, _b, _c) ((qword)(vec_or(vec_addc((vec_uint4)(_a), (vec_uint4)(_b)), \
819 vec_addc(vec_add((vec_uint4)(_a), (vec_uint4)(_b)), \
820 vec_and((vec_uint4)(_c), vec_splat_u32(1))))))
856 tmp1 = (vec_uchar16)vec_sl((vec_uint4)(cnt), (vec_uint4)(eight));
857 tmp2 = (vec_uchar16)vec_sl((vec_uint4)(cnt), (vec_uint4)(sixteen));
858 tmp3 = (vec_uchar16)vec_sl((vec_uint4)(cnt), (vec_uint4)(twentyfour));
864 return (qword)((vec_sr((vec_uint4)(cnt), (vec_uint4)(twentyfour))));
869 #define si_cuflt(_a, _b) ((qword)(vec_ctf((vec_uint4)(_a), _b)))
924 return ((qword)(vec_perm(av, vec_sra(av, ((vec_uint4){31,31,31,31})),
953 vec_uint4 bytes;
957 bytes = (vec_uint4)vec_sum2s((vec_int4)(vec_sum4s(bits, ((vec_uint4){0}))), ((vec_int4){0}));
967 vec_uint4 bytes;
971 bytes = (vec_uint4)vec_sums((vec_int4)(vec_sum4s((vec_short8)(bits), (vec_int4){0})), (vec_int4){0});
978 vec_uint4 bits;
979 vec_uint4 bytes;
981 bits = vec_sl(vec_and((vec_uint4)(a), vec_splat_u32(1)), ((vec_uint4){3, 2, 1, 0}));
982 bytes = (vec_uint4)vec_sums((vec_int4)(bits), ((vec_int4){0}));
1130 return ((qword)(vec_sra(vec_sl(mask, ((vec_uint4){28, 29, 30, 31})),
1131 ((vec_uint4){31,31,31,31}))));
1136 #define si_fscrrd() ((qword)((vec_uint4){0}))
1139 #define si_mfspr(_reg) ((qword)((vec_uint4){0}))
1151 return ((qword)(vec_add(vec_mule((vec_ushort8)(a), (vec_ushort8)(b)), (vec_uint4)(c))));
1202 vec_uint4 sixteen = (vec_uint4){16, 16, 16, 16};
1204 return ((qword)(vec_sl(vec_mule((vec_short8)(a), (vec_short8)(vec_sl((vec_uint4)(b), sixteen))), sixteen)));
1248 return ((qword)(vec_sra(vec_mulo((vec_short8)(a), (vec_short8)(b)), ((vec_uint4){16,16,16,16}))));
1328 return ((qword)(vec_or((vec_uint4)(a),
1329 vec_splat((vec_uint4)(si_from_uint(b)), 0))));
1382 return ((qword)(vec_rl((vec_uint4)(a), (vec_uint4)(b))));
1393 return ((qword)(vec_rl((vec_uint4)(a),
1394 vec_splat((vec_uint4)(si_from_int(b)), 0))));
1411 vec_uint4 neg_b;
1412 vec_uint4 mask;
1414 neg_b = (vec_uint4)vec_sub(vec_splat_s32(0), (vec_int4)(b));
1415 mask = vec_sra(vec_sl(neg_b, ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1416 return ((qword)(vec_andc(vec_sr((vec_uint4)(a), neg_b), mask)));
1431 vec_uint4 neg_b;
1432 vec_uint4 mask;
1434 neg_b = vec_splat((vec_uint4)(si_from_int(-b)), 0);
1435 mask = vec_sra(vec_sl(neg_b, ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1436 return ((qword)(vec_andc(vec_sr((vec_uint4)(a), neg_b), mask)));
1454 vec_uint4 neg_b;
1455 vec_uint4 mask;
1457 neg_b = (vec_uint4)vec_sub(vec_splat_s32(0), (vec_int4)(b));
1458 mask = vec_sra(vec_sl(neg_b, ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1459 return ((qword)(vec_sra((vec_int4)(a), (vec_uint4)vec_or(neg_b, mask))));
1475 vec_uint4 neg_b;
1476 vec_uint4 mask;
1478 neg_b = vec_splat((vec_uint4)(si_from_int(-b)), 0);
1479 mask = vec_sra(vec_sl(neg_b, ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1480 return ((qword)(vec_sra((vec_int4)(a), (vec_uint4)vec_or(neg_b, mask))));
1565 y = (vec_uchar16)(vec_sr((vec_uint4)vec_sro((vec_uchar16)(a), ((vec_uchar16)((vec_uint4){0,0,0,120}))),
1566 (vec_uint4)vec_sub(vec_splat_u8(8), x)));
1577 y = (vec_uchar16)(vec_sr((vec_uint4)vec_sro((vec_uchar16)(a), ((vec_uchar16)((vec_uint4){0,0,0,120}))),
1578 (vec_uint4)vec_sub(vec_splat_u8(8), x)));
1677 vec_uint4 mask;
1679 mask = (vec_uint4)vec_sra(vec_sl((vec_uint4)(b), ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1680 return ((qword)(vec_andc(vec_sl((vec_uint4)(a), (vec_uint4)(b)), mask)));
1696 vec_uint4 bv;
1697 vec_uint4 mask;
1699 bv = vec_splat((vec_uint4)(si_from_uint(b)), 0);
1700 mask = (vec_uint4)vec_sra(vec_sl(bv, ((vec_uint4){26,26,26,26})), ((vec_uint4){31,31,31,31}));
1701 return ((qword)(vec_andc(vec_sl((vec_uint4)(a), bv), mask)));
1787 return ((qword)(vec_sub((vec_uint4)(b), (vec_uint4)(a))));
1823 #define si_sfx(_a, _b, _c) ((qword)(vec_add(vec_add((vec_uint4)(_b), \
1824 vec_nor((vec_uint4)(_a), (vec_uint4)(_a))), \
1825 vec_and((vec_uint4)(_c), vec_splat_u32(1)))))
1832 vec_uint4 zero = (vec_uint4){0};
1863 return ((qword)(vec_xor((vec_uint4)(a),
1864 vec_splat((vec_uint4)(si_from_uint(b)), 0))));
1873 vec_uint4 v;
1877 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1885 vec_uint4 v;
1889 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1897 vec_uint4 v;
1901 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1909 vec_uint4 v;
1913 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1921 vec_uint4 v;
1925 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1926 shmask.c[si_to_uint((qword)(vec_add((vec_uint4)(a), (vec_uint4)(b)))) & 0xF] = 0x03;
1934 vec_uint4 v;
1938 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1939 shmask.ll[(si_to_uint((qword)(vec_add((vec_uint4)(a), (vec_uint4)(b)))) >> 3) & 0x1] = 0x0001020304050607ULL;
1946 vec_uint4 v;
1950 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1951 shmask.s[(si_to_uint((qword)(vec_add((vec_uint4)(a), (vec_uint4)(b)))) >> 1) & 0x7] = 0x0203;
1958 vec_uint4 v;
1962 shmask.v = ((vec_uint4){0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F});
1963 shmask.i[(si_to_uint((qword)(vec_add((vec_uint4)(a), (vec_uint4)(b)))) >> 2) & 0x3] = 0x00010203;
1978 return ((qword)(vec_splat((vec_uint4)(si_from_uint(imm)), 0)));
1988 return ((qword)(vec_splat((vec_uint4)(si_from_uint((unsigned int)(imm) << 16)), 0)));
1993 return ((qword)(vec_or((vec_uint4)(a), vec_splat((vec_uint4)(si_from_uint((unsigned int)(imm))), 0))));
2021 return ((qword)(vec_ld(si_to_uint((qword)(vec_add((vec_uint4)(a), (vec_uint4)(b)))), (vector unsigned char *)(0))));
2042 si_to_uint((qword)(vec_add((vec_uint4)(b), (vec_uint4)(c)))),