From 2fd2b9b8425f9fc4ad98d48a0ca41b921dd75bd9 Mon Sep 17 00:00:00 2001 From: ktkachov Date: Thu, 10 Jan 2019 11:36:42 +0000 Subject: [PATCH] ARM: fix -masm-syntax-unified (PR88648) This allows to use unified asm syntax when compiling for the ARM instruction. This matches documentation and seems what the initial patch was intended doing when the flag got added. 2019-01-10 Stefan Agner 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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267804 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm.c | 3 ++- gcc/testsuite/ChangeLog | 6 ++++++ .../gcc.target/arm/pr88648-asm-syntax-unified.c | 14 ++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/arm/pr88648-asm-syntax-unified.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee2e8fbf95d7..c229d6595c8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-01-10 Stefan Agner + + 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-01-10 Jakub Jelinek PR c/88568 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index f473aee8d34c..d71ab4075a75 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3101,7 +3101,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 6408435a52db..3936a8f4bce7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-01-10 Stefan Agner + + PR target/88648 + * gcc.target/arm/pr88648-asm-syntax-unified.c: Add test to + check if -masm-syntax-unified gets applied properly. + 2019-01-10 Jakub Jelinek PR c/88568 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 000000000000..251b4d5bc9d5 --- /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} } } */ + -- 2.47.2