diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr39315-check.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr39315-check.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr39315-check.c b/gcc/testsuite/gcc.target/i386/pr39315-check.c new file mode 100644 index 00000000000..ff926057536 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr39315-check.c @@ -0,0 +1,22 @@ +typedef float __m128 __attribute__ ((__vector_size__ (16))); + +extern void foo (__m128 *); +extern void abort (void); + +__m128 y = { 0.0, 1.0, 2.0, 3.0 }; + +void +bar (__m128 *x, int align) +{ + if ((((__PTRDIFF_TYPE__) x) & (align - 1)) != 0) + abort (); + if (__builtin_memcmp (x, &y, sizeof (y)) != 0) + abort (); +} + +int +main () +{ + foo (&y); + return 0; +} |