aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std
diff options
context:
space:
mode:
authorSaurabh Jha <saurabh.jha@arm.com>2024-12-03 09:54:00 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2024-12-03 09:54:00 +0000
commitf855bc3006f43a623bd6197a795f238e70a3f007 (patch)
tree71822c03850f62ef7b3fa9614307c0c6fdf227f4 /libstdc++-v3/include/std
parentc063f833c668b6571ca23207e85237ff3da100a3 (diff)
downloadgcc-f855bc3006f43a623bd6197a795f238e70a3f007.zip
gcc-f855bc3006f43a623bd6197a795f238e70a3f007.tar.gz
gcc-f855bc3006f43a623bd6197a795f238e70a3f007.tar.bz2
aarch64: Refactor AdvSIMD intrinsics
Refactor AdvSIMD intrinsics defined using the new pragma-based approach so that it is more extensible. Introduce a new struct, simd_type, which defines types using a mode and qualifiers, and use objects of this struct in the declaration of intrinsics in the aarch64-simd-pragma-builtins.def file. Change aarch64_pragma_builtins_data struct to support return type and argument types. Refactor aarch64_fntype and aarch64_expand_pragma_builtin so that it initialises corresponding vectors in a loop. As we add intrinsics with more arguments, these functions won't need to change to support those. gcc/ChangeLog: * config/aarch64/aarch64-builtins.cc (ENTRY): Modify to add support of return and argument types. (struct simd_type): New struct to declare types using mode and qualifiers. (struct aarch64_pragma_builtins_data): Replace mode with the array of types to support return and argument types. (aarch64_fntype): Modify to handle different signatures. (aarch64_expand_pragma_builtin): Modify to handle different signatures. * config/aarch64/aarch64-simd-pragma-builtins.def (ENTRY_VHSDF): Rename to ENTRY_BINARY_VHSDF. (ENTRY_BINARY): New macro to declare binary intrinsics. (ENTRY_BINARY_VHSDF): Remove signature argument and use ENTRY_BINARY. Co-authored-by: Vladimir Miloserdov <vladimir.miloserdov@arm.com> Co-authored-by: Richard Sandiford <richard.sandiford@arm.com>
Diffstat (limited to 'libstdc++-v3/include/std')
0 files changed, 0 insertions, 0 deletions