brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.3 KiB · 9b9b9f5 Raw
104 lines · plain
1// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops,+cl_amd_media_ops2 -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header2// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops,+cl_amd_media_ops2 -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header -fdeclare-opencl-builtins3// expected-no-diagnostics4// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops2 -verify=ops  -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header5// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops  -verify=ops2 -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header6// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops2 -verify=ops  -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header -fdeclare-opencl-builtins7// RUN: %clang_cc1 %s -triple amdgcn-unknown-unknown -cl-ext=-all,+cl_amd_media_ops  -verify=ops2 -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -finclude-default-header -fdeclare-opencl-builtins8 9#define TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \10    ret test_ ## builtin ## _ ## ret ## _## type (type a) { \11        return builtin(a); \12    }13 14#define TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \15    ret test_ ## builtin ## _ ## ret ## _## type (type a, type b) { \16        return builtin(a, b); \17    }18 19#define TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \20    ret test_ ## builtin ## _ ## ret ## _ ## type (type a, type b, type c) { \21        return builtin(a, b, c); \22    }23 24#define TEST_1ARG_BUILTIN(builtin, ret, type) \25    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \26    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret ## 2, type ## 2) \27    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret ## 3, type ## 3) \28    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret ## 4, type ## 4) \29    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret ## 8, type ## 8) \30    TEST_1ARG_BUILTIN_WITH_TYPE(builtin, ret ## 16, type ## 16)31 32#define TEST_2ARG_BUILTIN(builtin, ret, type) \33    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \34    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret ## 2, type ## 2) \35    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret ## 3, type ## 3) \36    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret ## 4, type ## 4) \37    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret ## 8, type ## 8) \38    TEST_2ARG_BUILTIN_WITH_TYPE(builtin, ret ## 16, type ## 16)39 40#define TEST_3ARG_BUILTIN(builtin, ret, type) \41    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret, type) \42    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret ## 2, type ## 2) \43    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret ## 3, type ## 3) \44    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret ## 4, type ## 4) \45    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret ## 8, type ## 8) \46    TEST_3ARG_BUILTIN_WITH_TYPE(builtin, ret ## 16, type ## 16)47 48#define TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret, type_a, type_b, type_c) \49    ret test_ ## builtin ## _ ## ret ## _ ## type_a ## _ ## type_b ## _ ## type_c (type_a a, type_b b, type_c c) { \50        return builtin(a, b, c); \51    }52 53#define TEST_3ARG_WITH_TYPES_BUILTIN(builtin, ret, type_a, type_b, type_c) \54    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret, type_a, type_b, type_c) \55    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret ## 2, type_a ## 2, type_b ## 2, type_c ## 2) \56    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret ## 3, type_a ## 3, type_b ## 3, type_c ## 3) \57    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret ## 4, type_a ## 4, type_b ## 4, type_c ## 4) \58    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret ## 8, type_a ## 8, type_b ## 8, type_c ## 8) \59    TEST_3ARG_BUILTIN_WITH_TYPES(builtin, ret ## 16, type_a ## 16, type_b ## 16, type_c ## 16)60 61TEST_3ARG_BUILTIN(amd_bitalign, uint, uint) // ops-error 6 {{use of undeclared identifier}}62TEST_3ARG_BUILTIN(amd_bytealign, uint, uint) // ops-error 6 {{use of undeclared identifier}}63TEST_3ARG_BUILTIN(amd_lerp, uint, uint) // ops-error 6 {{use of undeclared identifier}}64 65uint test_amd_pack(float4 a) {66    return amd_pack(a); // ops-error{{use of undeclared identifier}}67}68 69uint test_amd_sad4(uint4 a, uint4 b, uint c) {70    return amd_sad4(a, b, c); // ops-error{{use of undeclared identifier}}71}72 73TEST_3ARG_BUILTIN(amd_sadhi, uint, uint)// ops-error 6 {{use of undeclared identifier}}74TEST_3ARG_BUILTIN(amd_sad, uint, uint) // ops-error 6 {{use of undeclared identifier}}75 76 77TEST_1ARG_BUILTIN(amd_unpack0, float, uint) // ops-error 6 {{use of undeclared identifier}}78TEST_1ARG_BUILTIN(amd_unpack1, float, uint) // ops-error 6 {{use of undeclared identifier}}79TEST_1ARG_BUILTIN(amd_unpack2, float, uint) // ops-error 6 {{use of undeclared identifier}}80TEST_1ARG_BUILTIN(amd_unpack3, float, uint) // ops-error 6 {{use of undeclared identifier}}81 82TEST_3ARG_WITH_TYPES_BUILTIN(amd_bfe, int, int, uint, uint) // ops2-error 6 {{use of undeclared identifier}} #amd_bfe083TEST_3ARG_BUILTIN(amd_bfe, uint, uint) // ops2-error 6 {{use of undeclared identifier}} #amd_bfe184TEST_2ARG_BUILTIN(amd_bfm, uint, uint) // ops2-error 6 {{use of undeclared identifier}}85 86TEST_3ARG_BUILTIN(amd_max3, float, float) // ops2-error 6 {{use of undeclared identifier}}87TEST_3ARG_BUILTIN(amd_max3, int, int) // ops2-error 6 {{use of undeclared identifier}}88TEST_3ARG_BUILTIN(amd_max3, uint, uint) // ops2-error 6 {{use of undeclared identifier}}89 90TEST_3ARG_BUILTIN(amd_median3, float, float) // ops2-error 6 {{use of undeclared identifier}}91TEST_3ARG_BUILTIN(amd_median3, int, int) // ops2-error 6 {{use of undeclared identifier}}92TEST_3ARG_BUILTIN(amd_median3, uint, uint) // ops2-error 6 {{use of undeclared identifier}}93 94TEST_3ARG_BUILTIN(amd_min3, float, float) // ops2-error 6 {{use of undeclared identifier}}95TEST_3ARG_BUILTIN(amd_min3, int, int) // ops2-error 6 {{use of undeclared identifier}}96TEST_3ARG_BUILTIN(amd_min3, uint, uint) // ops2-error 6 {{use of undeclared identifier}}97 98TEST_3ARG_WITH_TYPES_BUILTIN(amd_mqsad, ulong, ulong, uint, ulong) // ops2-error 6 {{use of undeclared identifier}}99TEST_3ARG_WITH_TYPES_BUILTIN(amd_qsad, ulong, ulong, uint, ulong) // ops2-error 6 {{use of undeclared identifier}}100 101TEST_3ARG_BUILTIN(amd_msad, uint, uint) // ops2-error 6 {{use of undeclared identifier}}102TEST_3ARG_BUILTIN(amd_sadd, uint, uint) // ops2-error 6 {{use of undeclared identifier}}103TEST_3ARG_BUILTIN(amd_sadw, uint, uint) // ops2-error 6 {{use of undeclared identifier}}104