From: Stefan Agner Date: Mon, 11 Feb 2019 09:31:13 +0000 (+0100) Subject: ARM: fix -masm-syntax-unified (PR88648) X-Git-Tag: releases/gcc-7.5.0~593 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f05287cc4615d99646e0d7cffa2f8ade6b230b5a;p=thirdparty%2Fgcc.git ARM: fix -masm-syntax-unified (PR88648) Backport from mainline. 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: r268765 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e73034f085b..55d41b89dfd2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-02-11 Stefan Agner + + Backport from mainline. + 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-02-09 Alan Modra PR target/88343 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index dd1f91f5efa1..c8cd873e96dc 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3001,7 +3001,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 02f051e6cbd7..9bc5587a4eb9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2019-02-11 Stefan Agner + + Backport from mainline + 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-02-10 Harald Anlauf 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 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} } } */ +