]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Fix issue with __pld builtin at -O0 [PR 123548]
authorAlfie Richards <alfie.richards@arm.com>
Mon, 19 Jan 2026 11:09:28 +0000 (11:09 +0000)
committerAlfie Richards <alfie.richards@arm.com>
Tue, 3 Feb 2026 15:41:13 +0000 (15:41 +0000)
commit0fc8da731c7ea37b34614b6eda4c4c38e6f8ba2b
treede4470946224450f252cdb2da72c58103cccca69
parentf7f2b73b9c1e0101b7278893fc28a0769ca760df
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.
gcc/config/aarch64/aarch64-builtins.cc
gcc/config/aarch64/arm_acle.h
gcc/testsuite/gcc.target/aarch64/acle/pld_pli.c [moved from gcc/testsuite/gcc.target/aarch64/builtin_pld_pli.c with 100% similarity]
gcc/testsuite/gcc.target/aarch64/acle/pld_pli_illegal.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/acle/pldir.c [moved from gcc/testsuite/gcc.target/aarch64/pldir.c with 100% similarity]
gcc/testsuite/gcc.target/aarch64/builtin_pld_pli_illegal.c [deleted file]
gcc/testsuite/gcc.target/aarch64/pr123548.c [new file with mode: 0644]