diff options
author | ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2019-02-11 09:26:31 +0000 |
---|---|---|
committer | ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2019-02-11 09:26:31 +0000 |
commit | 4669815350ca117ee8acf8e662340ae3983fcec7 (patch) | |
tree | dc2642906e31a31f082cff9f0882911815205fe6 | |
parent | dd8a7554e5e88a56efbb377d06b4e25fbe6e29a8 (diff) |
ARM: fix -masm-syntax-unified (PR88648)
Backport from mainline.
2019-01-10 Stefan Agner <stefan@agner.ch>
PR target/88648
* config/arm/arm.c (arm_option_override_internal): Force
opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
* gcc.target/arm/pr88648-asm-syntax-unified.c: Add test to
check if -masm-syntax-unified gets applied properly.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268764 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c | 14 |
4 files changed, 34 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54d02c05478..5e18a82295b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-02-11 Stefan Agner <stefan@agner.ch> + + Backport from mainline. + 2019-01-10 Stefan Agner <stefan@agner.ch> + + PR target/88648 + * config/arm/arm.c (arm_option_override_internal): Force + opts->x_inline_asm_unified to true only if TARGET_THUMB2_P. + 2019-02-09 Jan Hubicka <hubicka@ucw.cz> Backport from mainline: diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c68311e0fa1..e45eb525db6 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3091,7 +3091,8 @@ arm_option_override_internal (struct gcc_options *opts, /* Thumb2 inline assembly code should always use unified syntax. This will apply to ARM and Thumb1 eventually. */ - opts->x_inline_asm_unified = TARGET_THUMB2_P (opts->x_target_flags); + if (TARGET_THUMB2_P (opts->x_target_flags)) + opts->x_inline_asm_unified = true; #ifdef SUBTARGET_OVERRIDE_INTERNAL_OPTIONS SUBTARGET_OVERRIDE_INTERNAL_OPTIONS; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index edc62cdeb44..339f6528830 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2019-02-11 Stefan Agner <stefan@agner.ch> + + Backport from mainline + 2019-01-10 Stefan Agner <stefan@agner.ch> + + PR target/88648 + * gcc.target/arm/pr88648-asm-syntax-unified.c: Add test to + check if -masm-syntax-unified gets applied properly. + 2019-02-10 Harald Anlauf <anlauf@gmx.de> Backport from trunk diff --git a/gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c b/gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c new file mode 100644 index 00000000000..251b4d5bc9d --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c @@ -0,0 +1,14 @@ +/* Test for unified syntax assembly generation. */ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_arch_v7a_ok } */ +/* { dg-add-options arm_arch_v7a } */ +/* { dg-options "-marm -march=armv7-a -masm-syntax-unified" } */ + +void test () +{ + asm("nop"); +} + +/* { dg-final { scan-assembler-times {\.syntax\sunified} 3 } } */ +/* { dg-final { scan-assembler-not {\.syntax\sdivided} } } */ + |