From: Stefan Agner Date: Thu, 10 Jan 2019 11:36:42 +0000 (+0100) Subject: ARM: fix -masm-syntax-unified (PR88648) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ae8792cb3b49225e37d530c8e35f6608c5eb8492;p=gcc.git 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. From-SVN: r267804 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee2e8fbf95d..c229d6595c8 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 f473aee8d34..d71ab4075a7 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 6408435a52d..3936a8f4bce 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 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} } } */ +