add tests for cl_khr_integer_dot_product (#1276)

* cl_khr_integer_dot_product_tests

* remove emulated codepaths

* fix formatting

* address code review comments

* remove emulated codepaths again

* address one more review comment
This commit is contained in:
Ben Ashbaugh
2021-08-25 02:14:58 -07:00
committed by GitHub
parent 6c3c7e5266
commit 070f8c0c0e
5 changed files with 572 additions and 96 deletions

View File

@@ -25,127 +25,129 @@
#endif
test_definition test_list[] = {
ADD_TEST( integer_clz ),
ADD_TEST_VERSION( integer_ctz, Version(2, 0)),
ADD_TEST( integer_hadd ),
ADD_TEST( integer_rhadd ),
ADD_TEST( integer_mul_hi ),
ADD_TEST( integer_rotate ),
ADD_TEST( integer_clamp ),
ADD_TEST( integer_mad_sat ),
ADD_TEST( integer_mad_hi ),
ADD_TEST( integer_min ),
ADD_TEST( integer_max ),
ADD_TEST( integer_upsample ),
ADD_TEST(integer_clz),
ADD_TEST_VERSION(integer_ctz, Version(2, 0)),
ADD_TEST(integer_hadd),
ADD_TEST(integer_rhadd),
ADD_TEST(integer_mul_hi),
ADD_TEST(integer_rotate),
ADD_TEST(integer_clamp),
ADD_TEST(integer_mad_sat),
ADD_TEST(integer_mad_hi),
ADD_TEST(integer_min),
ADD_TEST(integer_max),
ADD_TEST(integer_upsample),
ADD_TEST( integer_abs ),
ADD_TEST( integer_abs_diff ),
ADD_TEST( integer_add_sat ),
ADD_TEST( integer_sub_sat ),
ADD_TEST(integer_abs),
ADD_TEST(integer_abs_diff),
ADD_TEST(integer_add_sat),
ADD_TEST(integer_sub_sat),
ADD_TEST( integer_addAssign ),
ADD_TEST( integer_subtractAssign ),
ADD_TEST( integer_multiplyAssign ),
ADD_TEST( integer_divideAssign ),
ADD_TEST( integer_moduloAssign ),
ADD_TEST( integer_andAssign ),
ADD_TEST( integer_orAssign ),
ADD_TEST( integer_exclusiveOrAssign ),
ADD_TEST(integer_addAssign),
ADD_TEST(integer_subtractAssign),
ADD_TEST(integer_multiplyAssign),
ADD_TEST(integer_divideAssign),
ADD_TEST(integer_moduloAssign),
ADD_TEST(integer_andAssign),
ADD_TEST(integer_orAssign),
ADD_TEST(integer_exclusiveOrAssign),
ADD_TEST( unary_ops_increment ),
ADD_TEST( unary_ops_decrement ),
ADD_TEST( unary_ops_full ),
ADD_TEST(unary_ops_increment),
ADD_TEST(unary_ops_decrement),
ADD_TEST(unary_ops_full),
ADD_TEST( integer_mul24 ),
ADD_TEST( integer_mad24 ),
ADD_TEST(integer_mul24),
ADD_TEST(integer_mad24),
ADD_TEST( long_math ),
ADD_TEST( long_logic ),
ADD_TEST( long_shift ),
ADD_TEST( long_compare ),
ADD_TEST(long_math),
ADD_TEST(long_logic),
ADD_TEST(long_shift),
ADD_TEST(long_compare),
ADD_TEST( ulong_math ),
ADD_TEST( ulong_logic ),
ADD_TEST( ulong_shift ),
ADD_TEST( ulong_compare ),
ADD_TEST(ulong_math),
ADD_TEST(ulong_logic),
ADD_TEST(ulong_shift),
ADD_TEST(ulong_compare),
ADD_TEST( int_math ),
ADD_TEST( int_logic ),
ADD_TEST( int_shift ),
ADD_TEST( int_compare ),
ADD_TEST(int_math),
ADD_TEST(int_logic),
ADD_TEST(int_shift),
ADD_TEST(int_compare),
ADD_TEST( uint_math ),
ADD_TEST( uint_logic ),
ADD_TEST( uint_shift ),
ADD_TEST( uint_compare ),
ADD_TEST(uint_math),
ADD_TEST(uint_logic),
ADD_TEST(uint_shift),
ADD_TEST(uint_compare),
ADD_TEST( short_math ),
ADD_TEST( short_logic ),
ADD_TEST( short_shift ),
ADD_TEST( short_compare ),
ADD_TEST(short_math),
ADD_TEST(short_logic),
ADD_TEST(short_shift),
ADD_TEST(short_compare),
ADD_TEST( ushort_math ),
ADD_TEST( ushort_logic ),
ADD_TEST( ushort_shift ),
ADD_TEST( ushort_compare ),
ADD_TEST(ushort_math),
ADD_TEST(ushort_logic),
ADD_TEST(ushort_shift),
ADD_TEST(ushort_compare),
ADD_TEST( char_math ),
ADD_TEST( char_logic ),
ADD_TEST( char_shift ),
ADD_TEST( char_compare ),
ADD_TEST(char_math),
ADD_TEST(char_logic),
ADD_TEST(char_shift),
ADD_TEST(char_compare),
ADD_TEST( uchar_math ),
ADD_TEST( uchar_logic ),
ADD_TEST( uchar_shift ),
ADD_TEST( uchar_compare ),
ADD_TEST(uchar_math),
ADD_TEST(uchar_logic),
ADD_TEST(uchar_shift),
ADD_TEST(uchar_compare),
ADD_TEST( popcount ),
ADD_TEST(popcount),
// Quick
ADD_TEST( quick_long_math ),
ADD_TEST( quick_long_logic ),
ADD_TEST( quick_long_shift ),
ADD_TEST( quick_long_compare ),
ADD_TEST(quick_long_math),
ADD_TEST(quick_long_logic),
ADD_TEST(quick_long_shift),
ADD_TEST(quick_long_compare),
ADD_TEST( quick_ulong_math ),
ADD_TEST( quick_ulong_logic ),
ADD_TEST( quick_ulong_shift ),
ADD_TEST( quick_ulong_compare ),
ADD_TEST(quick_ulong_math),
ADD_TEST(quick_ulong_logic),
ADD_TEST(quick_ulong_shift),
ADD_TEST(quick_ulong_compare),
ADD_TEST( quick_int_math ),
ADD_TEST( quick_int_logic ),
ADD_TEST( quick_int_shift ),
ADD_TEST( quick_int_compare ),
ADD_TEST(quick_int_math),
ADD_TEST(quick_int_logic),
ADD_TEST(quick_int_shift),
ADD_TEST(quick_int_compare),
ADD_TEST( quick_uint_math ),
ADD_TEST( quick_uint_logic ),
ADD_TEST( quick_uint_shift ),
ADD_TEST( quick_uint_compare ),
ADD_TEST(quick_uint_math),
ADD_TEST(quick_uint_logic),
ADD_TEST(quick_uint_shift),
ADD_TEST(quick_uint_compare),
ADD_TEST( quick_short_math ),
ADD_TEST( quick_short_logic ),
ADD_TEST( quick_short_shift ),
ADD_TEST( quick_short_compare ),
ADD_TEST(quick_short_math),
ADD_TEST(quick_short_logic),
ADD_TEST(quick_short_shift),
ADD_TEST(quick_short_compare),
ADD_TEST( quick_ushort_math ),
ADD_TEST( quick_ushort_logic ),
ADD_TEST( quick_ushort_shift ),
ADD_TEST( quick_ushort_compare ),
ADD_TEST(quick_ushort_math),
ADD_TEST(quick_ushort_logic),
ADD_TEST(quick_ushort_shift),
ADD_TEST(quick_ushort_compare),
ADD_TEST( quick_char_math ),
ADD_TEST( quick_char_logic ),
ADD_TEST( quick_char_shift ),
ADD_TEST( quick_char_compare ),
ADD_TEST(quick_char_math),
ADD_TEST(quick_char_logic),
ADD_TEST(quick_char_shift),
ADD_TEST(quick_char_compare),
ADD_TEST( quick_uchar_math ),
ADD_TEST( quick_uchar_logic ),
ADD_TEST( quick_uchar_shift ),
ADD_TEST( quick_uchar_compare ),
ADD_TEST(quick_uchar_math),
ADD_TEST(quick_uchar_logic),
ADD_TEST(quick_uchar_shift),
ADD_TEST(quick_uchar_compare),
ADD_TEST( vector_scalar ),
ADD_TEST(vector_scalar),
ADD_TEST(integer_dot_product),
};
const int test_num = ARRAY_SIZE( test_list );
const int test_num = ARRAY_SIZE(test_list);
void fill_test_values( cl_long *outBufferA, cl_long *outBufferB, size_t numElements, MTdata d )
{