From af8bbd631f5425e9be084dfd1f2b9487a31a350e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 9 Dec 2023 15:29:51 +0100 Subject: [PATCH] testsuite: Add testcase for already fixed PR [PR112924] This testcase got fixed with r14-6132-g50f2a3370d177f8fe9bea0461feb710523e048a2 . I'm just adding a testcase so that it doesn't reappear. 2023-12-09 Jakub Jelinek PR tree-optimization/112924 * gcc.dg/pr112924.c: New test. --- gcc/testsuite/gcc.dg/pr112924.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr112924.c diff --git a/gcc/testsuite/gcc.dg/pr112924.c b/gcc/testsuite/gcc.dg/pr112924.c new file mode 100644 index 00000000000..c8a51d40b82 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr112924.c @@ -0,0 +1,26 @@ +/* PR tree-optimization/112924 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -w" } */ +/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */ + +struct S { long a; char b[64]; }; +void foo (struct S a); +char c; +int d[3541]; + +static void +bar (struct S *s, char *p) +{ + unsigned int a = sizeof (d) - sizeof (int) - s->a; + long c = __builtin_object_size (s, 0); + for (; a >= 64; a -= 64, p += 4); + __builtin___memcpy_chk (s, p, a, c); +} + +void +baz (void) +{ + struct S s = {}; + bar (&s, &c); + foo (s); +}