Lines Matching refs:vint8
2638 vint8 msb(msb_set, 0, msb_set, 0, msb_set, 0, msb_set, 0);
2670 vint8 indices(0, 4, 3, 2, 7, 4, 3, 2);
2718 vint8 r = float_to_int(a);
2729 // vint8 tests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2731 /** @brief Test unaligned vint8 data load. */
2732 TEST(vint8, UnalignedLoad)
2734 vint8 a(&(s32_data[1]));
2745 /** @brief Test unaligned vint8 data load. */
2746 TEST(vint8, UnalignedLoad8)
2748 vint8 a(&(u8_data[1]));
2759 /** @brief Test scalar duplicated vint8 load. */
2760 TEST(vint8, ScalarDupLoad)
2762 vint8 a(42);
2773 /** @brief Test scalar vint8 load. */
2774 TEST(vint8, ScalarLoad)
2776 vint8 a(11, 22, 33, 44, 55, 66, 77, 88);
2787 /** @brief Test copy vint8 load. */
2788 TEST(vint8, CopyLoad)
2790 vint8 s(11, 22, 33, 44, 55, 66, 77, 88);
2791 vint8 a(s.m);
2802 /** @brief Test vint8 zero. */
2803 TEST(vint8, Zero)
2805 vint8 a = vint8::zero();
2816 /** @brief Test vint8 load1. */
2817 TEST(vint8, Load1)
2820 vint8 a = vint8::load1(&s);
2831 /** @brief Test vint8 loada. */
2832 TEST(vint8, Loada)
2834 vint8 a = vint8::loada(&(s32_data[0]));
2845 /** @brief Test vint8 lane_id. */
2846 TEST(vint8, LaneID)
2848 vint8 a = vint8::lane_id();
2859 /** @brief Test vint8 add. */
2860 TEST(vint8, vadd)
2862 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
2863 vint8 b(2, 3, 4, 5, 2, 3, 4, 5);
2876 /** @brief Test vint8 self-add. */
2877 TEST(vint8, vselfadd1)
2879 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
2880 vint8 b(2, 3, 4, 5, 2, 3, 4, 5);
2893 /** @brief Test vint8 sub. */
2894 TEST(vint8, vsub)
2896 vint8 a(1, 2, 4, 4, 1, 2, 4, 4);
2897 vint8 b(2, 3, 3, 5, 2, 3, 3, 5);
2909 /** @brief Test vint8 mul. */
2910 TEST(vint8, vmul)
2912 vint8 a(1, 2, 4, 4, 1, 2, 4, 4);
2913 vint8 b(2, 3, 3, 5, 2, 3, 3, 5);
2925 /** @brief Test vint8 bitwise invert. */
2926 TEST(vint8, bit_invert)
2928 vint8 a(-1, 0, 1, 2, -1, 0, 1, 2);
2940 /** @brief Test vint8 bitwise or. */
2941 TEST(vint8, bit_vor)
2943 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
2944 vint8 b(2, 3, 4, 5, 2, 3, 4, 5);
2956 /** @brief Test vint8 bitwise and. */
2957 TEST(vint8, bit_vand)
2959 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
2960 vint8 b(2, 3, 4, 5, 2, 3, 4, 5);
2972 /** @brief Test vint8 bitwise xor. */
2973 TEST(vint8, bit_vxor)
2975 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
2976 vint8 b(2, 3, 4, 5, 2, 3, 4, 5);
2988 /** @brief Test vint8 ceq. */
2989 TEST(vint8, ceq)
2991 vint8 a1(1, 2, 3, 4, 1, 2, 3, 4);
2992 vint8 b1(0, 1, 2, 3, 0, 1, 2, 3);
2998 vint8 a2(1, 2, 3, 4, 1, 2, 3, 4);
2999 vint8 b2(1, 0, 0, 0, 1, 0, 0, 0);
3005 vint8 a3(1, 2, 3, 4, 1, 2, 3, 4);
3006 vint8 b3(1, 0, 3, 0, 1, 0, 3, 0);
3012 vint8 a4(1, 2, 3, 4, 1, 2, 3, 4);
3019 /** @brief Test vint8 cne. */
3020 TEST(vint8, cne)
3022 vint8 a1(1, 2, 3, 4, 1, 2, 3, 4);
3023 vint8 b1(0, 1, 2, 3, 0, 1, 2, 3);
3029 vint8 a2(1, 2, 3, 4, 1, 2, 3, 4);
3030 vint8 b2(1, 0, 0, 0, 1, 0, 0, 0);
3036 vint8 a3(1, 2, 3, 4, 1, 2, 3, 4);
3037 vint8 b3(1, 0, 3, 0, 1, 0, 3, 0);
3043 vint8 a4(1, 2, 3, 4, 1, 2, 3, 4);
3050 /** @brief Test vint8 clt. */
3051 TEST(vint8, clt)
3053 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
3054 vint8 b(0, 3, 3, 5, 0, 3, 3, 5);
3059 /** @brief Test vint8 cgt. */
3060 TEST(vint8, cgt)
3062 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
3063 vint8 b(0, 3, 3, 5, 0, 3, 3, 5);
3068 /** @brief Test vint8 min. */
3069 TEST(vint8, min)
3071 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
3072 vint8 b(0, 3, 3, 5, 0, 3, 3, 5);
3073 vint8 r = min(a, b);
3084 /** @brief Test vint8 max. */
3085 TEST(vint8, max)
3087 vint8 a(1, 2, 3, 4, 1, 2, 3, 4);
3088 vint8 b(0, 3, 3, 5, 0, 3, 3, 5);
3089 vint8 r = max(a, b);
3100 /** @brief Test vint8 lsl. */
3101 TEST(vint8, lsl)
3103 vint8 a(1, 2, 4, -4, 1, 2, 4, -4);
3136 /** @brief Test vint8 lsr. */
3137 TEST(vint8, lsr)
3139 vint8 a(1, 2, 4, -4, 1, 2, 4, -4);
3172 /** @brief Test vint8 asr. */
3173 TEST(vint8, asr)
3175 vint8 a(1, 2, 4, -4, 1, 2, 4, -4);
3208 /** @brief Test vint8 hmin. */
3209 TEST(vint8, hmin)
3211 vint8 a1(1, 2, 1, 2, 1, 2, 1, 2);
3212 vint8 r1 = hmin(a1);
3222 vint8 a2(1, 2, -1, 5, 1, 2, -1, 5);
3223 vint8 r2 = hmin(a2);
3234 /** @brief Test vint8 hmax. */
3235 TEST(vint8, hmax)
3237 vint8 a1(1, 2, 1, 2, 1, 3, 1, 2);
3238 vint8 r1 = hmax(a1);
3248 vint8 a2(1, 2, -1, 5, 1, 2, -1, 5);
3249 vint8 r2 = hmax(a2);
3260 /** @brief Test vint8 storea. */
3261 TEST(vint8, storea)
3264 vint8 a(s32_data);
3276 /** @brief Test vint8 store. */
3277 TEST(vint8, store)
3280 vint8 a(s32_data);
3292 /** @brief Test vint8 store_nbytes. */
3293 TEST(vint8, store_nbytes)
3296 vint8 a(42, 314, 75, 90, 42, 314, 75, 90);
3302 /** @brief Test vint8 store_lanes_masked. */
3303 TEST(vint8, store_lanes_masked)
3308 vmask8 mask1 = vint8(0) == vint8(1);
3309 vint8 data1 = vint8(1);
3312 vint8 result1v = vint8::load(resulta);
3313 vint8 expect1v = vint8::zero();
3317 vmask8 mask2 = vint8(1, 1, 1, 1, 0, 0, 0, 0) == vint8(1);
3318 vint8 data2 = vint8(2);
3321 vint8 result2v = vint8::load(resulta);
3322 vint8 expect2v = vint8(2, 2, 2, 2, 0, 0, 0, 0);
3326 vmask8 mask3 = vint8(1) == vint8(1);
3327 vint8 data3 = vint8(3);
3330 vint8 result3v = vint8::load(resulta);
3331 vint8 expect3v = vint8(3);
3335 /** @brief Test vint8 store_lanes_masked to unaligned address. */
3336 TEST(vint8, store_lanes_masked_unaligned)
3341 vmask8 mask1 = vint8(0) == vint8(1);
3342 vint8 data1 = vint8(1);
3345 vint8 result1v = vint8::load(resulta + 1);
3346 vint8 expect1v = vint8::zero();
3350 vmask8 mask2 = vint8(1, 1, 1, 1, 0, 0, 0, 0) == vint8(1);
3351 vint8 data2 = vint8(2);
3354 vint8 result2v = vint8::load(resulta + 1);
3355 vint8 expect2v = vint8(2, 2, 2, 2, 0, 0, 0, 0);
3359 vmask8 mask3 = vint8(1) == vint8(1);
3360 vint8 data3 = vint8(3);
3363 vint8 result3v = vint8::load(resulta + 1);
3364 vint8 expect3v = vint8(3);
3368 /** @brief Test vint8 gatheri. */
3369 TEST(vint8, gatheri)
3371 vint8 indices(0, 4, 3, 2, 7, 4, 3, 2);
3372 vint8 r = gatheri(s32_data, indices);
3383 /** @brief Test vint8 pack_low_bytes. */
3384 TEST(vint8, pack_low_bytes)
3386 vint8 a(1, 2, 3, 4, 2, 3, 4, 5);
3387 vint8 r = pack_low_bytes(a);
3392 /** @brief Test vint8 select. */
3393 TEST(vint8, select)
3395 vint8 m1(1, 1, 1, 1, 1, 1, 1, 1);
3396 vint8 m2(1, 2, 1, 2, 1, 2, 1, 2);
3399 vint8 a(1, 3, 3, 1, 1, 3, 3, 1);
3400 vint8 b(4, 2, 2, 4, 4, 2, 2, 4);
3402 vint8 r1 = select(a, b, cond);
3412 vint8 r2 = select(b, a, cond);
3497 /** @brief Test vint8 table permute. */
3498 TEST(vint8, vtable_8bt_32bi_32entry)
3503 vint8 table0p, table1p;
3506 vint8 index(0, 7, 4, 15, 16, 20, 23, 31);
3508 vint8 result = vtable_8bt_32bi(table0p, table1p, index);
3521 TEST(vint8, vtable_8bt_32bi_64entry)
3528 vint8 table0p, table1p, table2p, table3p;
3531 vint8 index(0, 7, 4, 15, 16, 20, 38, 63);
3533 vint8 result = vtable_8bt_32bi(table0p, table1p, table2p, table3p, index);