diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/sparc/ultrasp10.c')
-rw-r--r-- | gcc/testsuite/gcc.target/sparc/ultrasp10.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/sparc/ultrasp10.c b/gcc/testsuite/gcc.target/sparc/ultrasp10.c new file mode 100644 index 000000000..d3edaca6c --- /dev/null +++ b/gcc/testsuite/gcc.target/sparc/ultrasp10.c @@ -0,0 +1,27 @@ +/* PR target/11965 */ +/* Originator: <jk@tools.de> */ + +/* { dg-do run } */ +/* { dg-require-effective-target ultrasparc_hw } */ +/* { dg-options "-O -mcpu=ultrasparc" } */ + +/* This used to fail on 32-bit Ultrasparc because GCC emitted + an invalid shift instruction. */ + + +static inline unsigned int shift(int n, unsigned int value) +{ + return value << n; +} + +unsigned int val = 1; + +int main(void) +{ + int i; + + for (i = 0; i < 4; i++) + val = shift(32, val); + + return 0; +} |