From 3eabae3bbb185d38a239196d286bfd9cfcb88f4e Mon Sep 17 00:00:00 2001 From: Mark Shinwell Date: Mon, 19 Mar 2007 21:00:14 +0000 Subject: [PATCH] register-variables.c: New. gcc/testsuite/ * gcc.target/arm/register-variables.c: New. From-SVN: r123071 --- gcc/testsuite/ChangeLog | 4 ++++ .../gcc.target/arm/register-variables.c | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 gcc/testsuite/gcc.target/arm/register-variables.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 72474a89ce2..2ac81780bf8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-03-19 Mark Shinwell + + * gcc.target/arm/register-variables.c: New. + 2007-03-19 Jeff Law * PR tree-optimization/30984 diff --git a/gcc/testsuite/gcc.target/arm/register-variables.c b/gcc/testsuite/gcc.target/arm/register-variables.c new file mode 100644 index 00000000000..8c874b22eed --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/register-variables.c @@ -0,0 +1,21 @@ +/* { dg-do run } */ +/* { dg-options "-O" } */ + +#include + +void __attribute__((noinline)) +bar(int a, int b) +{ + if (a != 43 || b != 42) + abort(); +} + +int main(void) +{ + register int r0 asm("r0") = 42; + register int r1 asm("r1") = 43; + asm volatile("": "+r" (r0), "+r" (r1)); + bar(r1, r0); + return 0; +} +