]>
git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Fix issue with __pld builtin at -O0 [PR 123548]
This fixes the issues with __pld by removing it and related prefetch
instrisics from the arm_acle.h and defines the intrinsics directly.
PR target/123548
gcc/ChangeLog:
* config/aarch64/aarch64-builtins.cc
(aarch64_builtins): Rename AARCH64_PL<X> to
AARCH64_PREFETCH_PL<X>.
(aarch64_init_prefetch_builtin): Rename to...
(aarch64_init_prefetch_builtins): ...this and change builtin
names.
(AARCH64_INIT_PREFETCH_BUILTIN): Change to not add
"__builtin_aarch64__" prefix and to register builtins.
(handle_arm_acle_h): Add call to aarch64_init_prefetch_builtins.
(aarch64_init_pcdphint_builtins): Move __pldir code to init
prefetch builtins.
(aarch64_general_init_builtins): Remove call to
aarch64_init_prefetch_builtin.
(aarch64_expand_prefetch_builtin): Update names of PL<X>
builtins.`
* config/aarch64/arm_acle.h
(__pld): Remove
(__pli): Likewise.
(__plix): Likewise.
(__pldx): Likewise.
(__pldir): Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/pldir.c: Move to...
* gcc.target/aarch64/acle/pldir.c: ...here.
* gcc.target/aarch64/builtin_pld_pli_illegal.c: Removed.
* gcc.target/aarch64/acle/pld_pli_illegal.c: New test.
* gcc.target/aarch64/builtin_pld_pli.c: Removed.
* gcc.target/aarch64/acle/pld_pli.c: New test.
* gcc.target/aarch64/pr123548.c: New test.