diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2016-04-08 11:18:59 +0200 |
---|---|---|
committer | Linaro Code Review <review@review.linaro.org> | 2016-04-11 09:00:33 +0000 |
commit | 25eab5a975094e334c29cc6fb9632e72cf3652df (patch) | |
tree | 5c5e36c04bd9aa039305cd8f320bd0976b763be2 | |
parent | 635bde251e0fa272b714c56ed6d662126540a9c0 (diff) |
gcc/
Backport from trunk r234675.
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/70496
* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM
and TARGET_THUMB.
gcc/testsuite/
Backport from trunk r234675.
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/70496
* gcc.target/arm/pr70496.c: New test.
gcc/testsuite/
Backport from trunk r234811.
2016-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/70553
* gcc.target/arm/pr70496.c: Also require arm_arm_ok effective target.
Change-Id: Ia286b03a46e072ad57f0e353f2bb0a37f46f5519
-rw-r--r-- | gcc/config/arm/arm.h | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr70496.c | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 8da0ba2e266..a301d5b0210 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -2025,7 +2025,8 @@ extern int making_const_table; "\t.syntax divided\n") #undef ASM_APP_OFF -#define ASM_APP_OFF "\t.syntax unified\n" +#define ASM_APP_OFF (TARGET_ARM ? "\t.arm\n\t.syntax unified\n" : \ + "\t.thumb\n\t.syntax unified\n") /* Output a push or a pop instruction (only used when profiling). We can't push STATIC_CHAIN_REGNUM (r12) directly with Thumb-1. We know diff --git a/gcc/testsuite/gcc.target/arm/pr70496.c b/gcc/testsuite/gcc.target/arm/pr70496.c new file mode 100644 index 00000000000..d3ee0b505a8 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr70496.c @@ -0,0 +1,13 @@ +/* { dg-do assemble } */ +/* { dg-options "-mthumb -O2" } */ +/* { dg-require-effective-target arm_arm_ok } */ +/* { dg-require-effective-target arm_thumb2_ok } */ + +int i; +void +main (void) +{ + __asm__ volatile (".arm"); + i = 0; + __asm__ volatile ("\n cbz r0, 2f\n2:"); +} |