diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr51821.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr51821.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr51821.c b/gcc/testsuite/gcc.dg/pr51821.c new file mode 100644 index 000000000..158172ff4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr51821.c @@ -0,0 +1,25 @@ +/* { dg-do run } */ +/* { dg-options "-std=c99 -O2" } */ +/* { dg-options "-std=c99 -O2 -msse" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target sse_runtime { target { i?86-*-* x86_64-*-* } } } */ + +extern void abort (void); + +unsigned int __attribute__((noinline)) +test (int shift_size) +{ + unsigned long long res = ~0; + + return res << shift_size; +} + +int +main () +{ + int dst = 32; + + if (test (dst) != 0) + abort (); + + return 0; +} |