llvm-project/clang/test/SemaOpenCL
Simon Moll 0aab344104 [Clang] Allow "ext_vector_type" applied to Booleans
This is the `ext_vector_type` alternative to D81083.

This patch extends Clang to allow 'bool' as a valid vector element type
(attribute ext_vector_type) in C/C++.

This is intended as the canonical type for SIMD masks and facilitates
clean vector intrinsic declarations.  Vectors of i1 are supported on IR
level and below down to many SIMD ISAs, such as AVX512, ARM SVE (fixed
vector length) and the VE target (NEC SX-Aurora TSUBASA).

The RFC on cfe-dev: https://lists.llvm.org/pipermail/cfe-dev/2020-May/065434.html

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D88905
2022-03-16 11:10:32 +01:00
..
access-qualifier.cl [OpenCL] Supports optional same image reads and writes in C++ for OpenCL 2021 2021-09-17 14:14:31 +01:00
address-spaces-conversions-cl2.0.cl [OpenCL] Supports optional generic address space semantics in C++ for OpenCL 2021 2021-09-06 10:20:38 +01:00
address-spaces.cl [OpenCL] Supports optional generic address space semantics in C++ for OpenCL 2021 2021-09-06 10:20:38 +01:00
amdgpu-attrs.cl
arithmetic-conversions.cl
arm-integer-dot-product.cl [OpenCL] Remove pragma requirement from Arm dot extension. 2021-05-12 16:25:33 +01:00
array-init.cl Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
array-parameters.cl
as_type.cl [OpenCL] Add as_size/ptrdiff/intptr/uintptr_t operators 2021-04-07 10:16:41 +01:00
atomic-init.cl
atomic-ops.cl [OpenCL] Add atomic_half type builtins 2021-10-12 10:45:30 +01:00
block-array-capturing.cl Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
bool-vectors.cl
builtin.cl
builtins-amdgcn-error-ci.cl
builtins-amdgcn-error-f16.cl
builtins-amdgcn-error-flat-address-space.cl
builtins-amdgcn-error-gfx9.cl
builtins-amdgcn-error-gfx10-param.cl
builtins-amdgcn-error-gfx10.cl
builtins-amdgcn-error-gfx90a-param.cl [AMDGPU] gfx90a support 2021-02-17 16:01:32 -08:00
builtins-amdgcn-error-gfx908-param.cl
builtins-amdgcn-error-vi.cl [AMDGPU] Expose __builtin_amdgcn_perm for v_perm_b32 2021-05-06 16:17:33 -07:00
builtins-amdgcn-error.cl [AMDGPU] Add llvm.amdgcn.s.setprio intrinsic 2022-03-12 22:15:42 -08:00
cl20-device-side-enqueue.cl [OpenCL] Adjust diagnostic for subgroup support. 2022-02-11 17:40:24 +03:00
clang-builtin-version.cl [OpenCL] Add support of language builtins for OpenCL C 3.0 2022-02-11 15:53:44 +03:00
clk_event_t.cl [C++4OpenCL] Add diagnostics for OpenCL types in templates. 2021-04-27 13:04:25 +01:00
cond.cl
convergent.cl
endian-attr.cl
event_t.cl [C++4OpenCL] Add diagnostics for OpenCL types in templates. 2021-04-27 13:04:25 +01:00
event_t_overload.cl
ext_vectors.cl [Clang] Allow "ext_vector_type" applied to Booleans 2022-03-16 11:10:32 +01:00
extension-begin.cl [OpenCL] Drop pragma handling for extension types/decls. 2021-05-17 12:09:43 +01:00
extension-begin.h [OpenCL] Drop pragma handling for extension types/decls. 2021-05-17 12:09:43 +01:00
extension-version.cl [OpenCL] Fix parsing of opencl-c.h in CL 3.0 2021-03-30 16:17:46 +01:00
fdeclare-opencl-builtins.cl [OpenCL] Align subgroup builtin guards 2022-02-23 12:22:09 +00:00
features.cl [OpenCL] Define OpenCL 3.0 optional core features in C++ for OpenCL 2021 2021-09-01 10:15:17 +01:00
format-strings-fixit.cl
fp-options.cl [OpenCL] Use -fdeclare-opencl-builtins for some tests 2021-03-22 09:46:28 +00:00
fp64-fp16-options.cl [OpenCL] Supports optional 64-bit floating point types in C++ for OpenCL 2021 2021-09-03 10:58:05 +01:00
func.cl [OpenCL] Change default standard version to CL1.2 2021-07-26 15:04:34 +01:00
half.cl Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
images.cl
init.cl
intel-subgroup-avc-ext-types.cl [OpenCL] Refactor diagnostic for OpenCL extension/feature 2021-03-12 11:43:53 +03:00
invalid-assignment-constant-address-space.cl
invalid-block.cl Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
invalid-constant.cl
invalid-device-enqueue-types-cl3.0.cl [OpenCL] Add support of __opencl_c_device_enqueue feature macro. 2022-01-27 14:25:59 +03:00
invalid-image.cl [OpenCL] Fix optional image types. 2021-05-07 13:29:28 +01:00
invalid-kernel-attrs.cl Correct some confused diagnostic terminology 2021-02-04 15:52:07 -05:00
invalid-kernel-parameters.cl Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
invalid-kernel.cl [OpenCL] Move kernel arg type tests into one file 2020-11-25 10:20:30 +00:00
invalid-pipe-builtin-cl2.0.cl
invalid-pipes-cl1.2.cl [OpenCL] Add support of __opencl_c_device_enqueue feature macro. 2022-01-27 14:25:59 +03:00
invalid-pipes-cl2.0.cl Add -Wno-strict-prototypes to C tests; NFC 2022-02-24 15:30:30 -05:00
invalid-vector-literals.cl [OpenCL] Improve OpenCL operator tests 2021-01-13 14:50:49 +00:00
lit.local.cfg
multistep-explicit-cast.cl
nosvm.cl Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
null_literal.cl [OpenCL] NULL redefined as nullptr in C++ mode. 2021-07-27 16:33:50 +01:00
null_queue.cl Use functions with prototypes when appropriate; NFC 2022-02-07 09:25:01 -05:00
numbered-address-space.cl
operators.cl [OpenCL] Improve OpenCL operator tests 2021-01-13 14:50:49 +00:00
predefined-expr.cl Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
printf-format-string-warnings.cl [OpenCL] Use -fdeclare-opencl-builtins for some tests 2021-03-22 09:46:28 +00:00
printf-format-strings.cl
queue_t_overload.cl
recovery-expr.cl
sampler_t.cl [C++4OpenCL] Add diagnostics for OpenCL types in templates. 2021-04-27 13:04:25 +01:00
sampler_t_overload.cl
shifts.cl
sizeof.cl
storageclass-cl20.cl [OpenCL] Disallows static kernel functions in C++ for OpenCL 2021-09-07 10:23:50 +01:00
storageclass.cl [OpenCL] Add support of __opencl_c_device_enqueue feature macro. 2022-01-27 14:25:59 +03:00
str_literals.cl
to_addr_builtin.cl [OpenCL] Add support of language builtins for OpenCL C 3.0 2022-02-11 15:53:44 +03:00
types.cl
unroll-hint.cl
unsupported-image.cl [OpenCL] Supports optional writing to 3d images in C++ for OpenCL 2021 2021-09-20 10:07:38 +01:00
unsupported.cl [OpenCL] Fix test by adding SPIR triple 2021-05-24 13:03:50 +01:00
usm-address-spaces-conversions.cl
vec_compare.cl
vec_step.cl [OpenCL] Warn about side effects for unevaluated vec_step arg 2021-01-05 11:51:10 +00:00
vector-conv.cl [OpenCL][NFC] Improve OpenCL test file naming 2021-01-06 14:16:44 +00:00
vector_inc_dec_ops.cl [OpenCL] Improve OpenCL operator tests 2021-01-13 14:50:49 +00:00
vector_swizzle_length.cl
warn-missing-prototypes.cl