https://gcc.gnu.org/g:0131f3698c4888f28b685ddb192aff1ec8025485
commit r16-7977-g0131f3698c4888f28b685ddb192aff1ec8025485 Author: Andrew Pinski <[email protected]> Date: Tue Mar 10 02:46:56 2026 -0700 testsuite/aarch64: Add testcase for already fixed bug [PR123094] This bug was fixed by r16-7941-g2a155ceffe6639. The testcase is different as this is an ICE rather than wrong code. So it seems like a good idea to add a testcase for it. Pushed as obvious after testing to make sure the new testcase works for aarch64-linux-gnu. PR rtl-optimization/123094 gcc/testsuite/ChangeLog: * gcc.target/aarch64/pr123094-1.c: New test. Signed-off-by: Andrew Pinski <[email protected]> Diff: --- gcc/testsuite/gcc.target/aarch64/pr123094-1.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gcc/testsuite/gcc.target/aarch64/pr123094-1.c b/gcc/testsuite/gcc.target/aarch64/pr123094-1.c new file mode 100644 index 000000000000..f075c84dc8af --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr123094-1.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-march=armv9-a -O2" } */ + +/* PR rtl-optimization/123094 */ + +typedef long a; +typedef a __attribute__((vector_size(2 * sizeof(a)))) b; +typedef a __attribute__((vector_size(4 * sizeof(a)))) c; +typedef a __attribute__((vector_size(8 * sizeof(a)))) d; +a e; +int f, h; +d g; +[[gnu::noinline]] void j(b) { + h = 1; +} +c k() { + if (e) + if (f) + return (c){3}; + j((b){1}); + d l = {1, 1, 1, 1, 1, 1, 1}; + return __builtin_shufflevector(l, g, 2, 11, 4, 6); +}
