[AArch64] Alter arm_neon_sve_bridge.h to be target-based, not preprocessor based.
authorDavid Green <david.green@arm.com>
Wed, 4 Jan 2023 13:09:26 +0000 (13:09 +0000)
committerDavid Green <david.green@arm.com>
Wed, 4 Jan 2023 13:09:26 +0000 (13:09 +0000)
commit997852920d52442242fca9173a7b003b1164e26d
tree1d615b036779a4da0180a20e8903eda28f444f6a
parentd1067071e26aacfc586057be31c8de8b95197e8e
[AArch64] Alter arm_neon_sve_bridge.h to be target-based, not preprocessor based.

Similar to D131064, this alters the arm_neon_sve_bridge.h header to use
target-based intrinsics that give an error if used in a function that
does not have the sve features, but are not preprocessed out. This
header is simpler than the arm_sve.h and other headers, not including
any tablegen'd content. The main change is altering the builtin
definitions from using BUILTIN to TARGET_BUILTIN.

Differential Revision: https://reviews.llvm.org/D132639
clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
clang/lib/Headers/arm_neon_sve_bridge.h
clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/target.c [new file with mode: 0644]