From: Thomas Preud'homme Date: Tue, 29 Mar 2016 17:09:43 +0000 (+0100) Subject: Revert "Add support for ARMv8-M mainline with DSP ext" X-Git-Tag: users/ARM/embedded-binutils-2_26-branch-2016q1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5127abd3d0fc9d4470556551c2781f54f3a261e1;p=thirdparty%2Fbinutils-gdb.git Revert "Add support for ARMv8-M mainline with DSP ext" This reverts commit 764d7ca7042989cd08e4c9e32e69d2fabc24c859. --- diff --git a/bfd/ChangeLog.arm b/bfd/ChangeLog.arm index 5e827156a23..264819c3648 100644 --- a/bfd/ChangeLog.arm +++ b/bfd/ChangeLog.arm @@ -1,3 +1,11 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + (elf32_arm_merge_eabi_attributes): Add merging logic for + Tag_DSP_extension. + 2015-12-17 Thomas Preud'homme (elf32_arm_merge_eabi_attributes): Add merging logic for diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 3a4923d340f..9140c314f77 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -12627,31 +12627,6 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) } } break; - - case Tag_DSP_extension: - /* No need to change output value if any of: - - pre ARMv5T input architecture (do not have DSP) - - M input profile not ARMv7e-M and do not have DSP. */ - if (in_attr[Tag_CPU_arch].i <= 3 - || (in_attr[Tag_CPU_arch_profile].i == 'M' - && in_attr[Tag_CPU_arch].i != 13 - && in_attr[i].i == 0)) - ; /* Do nothing. */ - /* Output value should be 0 if DSP part of architecture, ie. - - post ARMv5te architecture output - - A, R or S profile output or ARMv7e-M output architecture. */ - else if (out_attr[Tag_CPU_arch].i >= 4 - && (out_attr[Tag_CPU_arch_profile].i == 'A' - || out_attr[Tag_CPU_arch_profile].i == 'R' - || out_attr[Tag_CPU_arch_profile].i == 'S' - || out_attr[Tag_CPU_arch].i == 13)) - out_attr[i].i = 0; - /* Otherwise, DSP instructions are added and not part of output - architecture. */ - else - out_attr[i].i = 1; - break; - case Tag_FP_arch: { /* Tag_ABI_HardFP_use is handled along with Tag_FP_arch since diff --git a/binutils/ChangeLog.arm b/binutils/ChangeLog.arm index 3ab12459ef8..5cc741ad9b9 100644 --- a/binutils/ChangeLog.arm +++ b/binutils/ChangeLog.arm @@ -1,3 +1,11 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + * readelf.c (display_arm_attribute): Add output for Tag_DSP_extension. + (arm_attr_public_tags): Define DSP_extension attribute. + 2015-12-17 Thomas Preud'homme * readelf.c (display_arm_attribute): Add output for Tag_DSP_extension. diff --git a/binutils/readelf.c b/binutils/readelf.c index 182b31aaa1f..547804a9eca 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12764,8 +12764,6 @@ static const char * arm_attr_tag_FP_HP_extension[] = {"Not Allowed", "Allowed"}; static const char * arm_attr_tag_ABI_FP_16bit_format[] = {"None", "IEEE 754", "Alternative Format"}; -static const char * arm_attr_tag_DSP_extension[] = - {"Follow architecture", "Allowed"}; static const char * arm_attr_tag_MPextension_use[] = {"Not Allowed", "Allowed"}; static const char * arm_attr_tag_DIV_use[] = @@ -12816,7 +12814,6 @@ static arm_attr_public_tag arm_attr_public_tags[] = LOOKUP(38, ABI_FP_16bit_format), LOOKUP(42, MPextension_use), LOOKUP(44, DIV_use), - LOOKUP(46, DSP_extension), {64, "nodefaults", 0, NULL}, {65, "also_compatible_with", 0, NULL}, LOOKUP(66, T2EE_use), diff --git a/gas/ChangeLog.arm b/gas/ChangeLog.arm index 22318f58ef8..384d8fcd3c2 100644 --- a/gas/ChangeLog.arm +++ b/gas/ChangeLog.arm @@ -1,3 +1,15 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + * config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP + instructions. + (arm_extensions): Add dsp extension for ARMv8-M Mainline. + (aeabi_set_public_attributes): Set Tag_DSP_extension to 1 for ARMv8-M + Mainline with DSP extension. + (arm_convert_symbolic_attribute): Define Tag_DSP_extension. + 2016-03-07 Andre Vieira * config/tc-arm.c (arm_cpus): Add cortex-r8. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 269dbcdd4b5..989b30b3edc 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -214,9 +214,6 @@ static const arm_feature_set arm_ext_v6t2_v8m = /* Instructions shared between ARMv8-A and ARMv8-M. */ static const arm_feature_set arm_ext_atomics = ARM_FEATURE_CORE_HIGH (ARM_EXT2_ATOMICS); -/* DSP instructions Tag_DSP_extension refers to. */ -static const arm_feature_set arm_ext_dsp = - ARM_FEATURE_CORE_LOW (ARM_EXT_V5E | ARM_EXT_V5ExP | ARM_EXT_V6_DSP); static const arm_feature_set arm_arch_any = ARM_ANY; static const arm_feature_set arm_arch_full = ARM_FEATURE (-1, -1, -1); @@ -24969,9 +24966,6 @@ static const struct arm_option_extension_value_table arm_extensions[] = ARM_EXT_OPT ("crypto", FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8), ARM_FEATURE_CORE_LOW (ARM_EXT_V8)), - ARM_EXT_OPT ("dsp", ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), - ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), - ARM_FEATURE_CORE (ARM_EXT_V7M, ARM_EXT2_V8M)), ARM_EXT_OPT ("fp", FPU_ARCH_VFP_ARMV8, ARM_FEATURE_COPROC (FPU_VFP_ARMV8), ARM_FEATURE_CORE_LOW (ARM_EXT_V8)), ARM_EXT_OPT2 ("idiv", ARM_FEATURE_CORE_LOW (ARM_EXT_ADIV | ARM_EXT_DIV), @@ -25607,7 +25601,6 @@ aeabi_set_public_attributes (void) char profile; int virt_sec = 0; int fp16_optional = 0; - arm_feature_set arm_arch = ARM_ARCH_NONE; arm_feature_set flags; arm_feature_set tmp; arm_feature_set arm_arch_v8m_base = ARM_ARCH_V8M_BASE; @@ -25647,7 +25640,6 @@ aeabi_set_public_attributes (void) if (ARM_CPU_HAS_FEATURE (tmp, p->flags)) { arch = p->val; - arm_arch = p->flags; ARM_CLEAR_FEATURE (tmp, tmp, p->flags); } } @@ -25664,27 +25656,18 @@ aeabi_set_public_attributes (void) && !ARM_CPU_HAS_FEATURE (flags, arm_ext_v7a) && ARM_CPU_HAS_FEATURE (flags, arm_ext_v7m) && ARM_CPU_HAS_FEATURE (flags, arm_ext_v6_dsp)) - { - arch = TAG_CPU_ARCH_V7E_M; - arm_arch = (arm_feature_set) ARM_ARCH_V7EM; - } + arch = TAG_CPU_ARCH_V7E_M; ARM_CLEAR_FEATURE (tmp, flags, arm_arch_v8m_base); if (arch == TAG_CPU_ARCH_V8M_BASE && ARM_CPU_HAS_FEATURE (tmp, arm_arch_any)) - { - arch = TAG_CPU_ARCH_V8M_MAIN; - arm_arch = (arm_feature_set) ARM_ARCH_V8M_MAIN; - } + arch = TAG_CPU_ARCH_V8M_MAIN; /* In cpu_arch_ver ARMv8-A is before ARMv8-M for atomics to be detected as coming from ARMv8-A. However, since ARMv8-A has more instructions than ARMv8-M, -march=all must be detected as ARMv8-A. */ if (arch == TAG_CPU_ARCH_V8M_MAIN && ARM_FEATURE_CORE_EQUAL (selected_cpu, arm_arch_any)) - { - arch = TAG_CPU_ARCH_V8; - arm_arch = (arm_feature_set) ARM_ARCH_V8A; - } + arch = TAG_CPU_ARCH_V8; /* Tag_CPU_name. */ if (selected_cpu_name[0]) @@ -25722,17 +25705,6 @@ aeabi_set_public_attributes (void) if (profile != '\0') aeabi_set_attribute_int (Tag_CPU_arch_profile, profile); - /* Tag_DSP_extension. */ - if (ARM_CPU_HAS_FEATURE (flags, arm_ext_dsp)) - { - arm_feature_set ext; - - /* DSP instructions not in architecture. */ - ARM_CLEAR_FEATURE (ext, flags, arm_arch); - if (ARM_CPU_HAS_FEATURE (ext, arm_ext_dsp)) - aeabi_set_attribute_int (Tag_DSP_extension, 1); - } - /* Tag_ARM_ISA_use. */ if (ARM_CPU_HAS_FEATURE (flags, arm_ext_v1) || arch == 0) @@ -26126,7 +26098,6 @@ arm_convert_symbolic_attribute (const char *name) T (Tag_conformance), T (Tag_T2EE_use), T (Tag_Virtualization_use), - T (Tag_DSP_extension), /* We deliberately do not include Tag_MPextension_use_legacy. */ #undef T }; diff --git a/gas/testsuite/ChangeLog.arm b/gas/testsuite/ChangeLog.arm index 2e2b2541a3f..0e4f7e1706c 100644 --- a/gas/testsuite/ChangeLog.arm +++ b/gas/testsuite/ChangeLog.arm @@ -1,3 +1,17 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + * gas/arm/arch7em-bad.d: Rename to ... + * gas/arm/arch7em-bad-1.d: This. + * gas/arm/arch7em-bad-2.d: New file. + * gas/arm/arch7em-bad-3.d: Likewise. + * gas/arm/archv8m-main-dsp-1.d: Likewise. + * gas/arm/archv8m-main-dsp-2.d: Likewise. + * gas/arm/archv8m-main-dsp-3.d: Likewise. + * gas/arm/attr-march-armv8m.main.dsp.d: Likewise. + 2015-12-17 Thomas Preud'homme * gas/arm/arch7em-bad.d: Rename to ... diff --git a/gas/testsuite/gas/arm/arch7em-bad-2.d b/gas/testsuite/gas/arm/arch7em-bad-2.d deleted file mode 100644 index 8c01bbcd71a..00000000000 --- a/gas/testsuite/gas/arm/arch7em-bad-2.d +++ /dev/null @@ -1,4 +0,0 @@ -#name: Valid v8-M mainline with DSP extension, invalid v8-M baseline -#as: -march=armv8-m.base -#source: arch7em.s -#error-output: arch7em-bad.l diff --git a/gas/testsuite/gas/arm/arch7em-bad-3.d b/gas/testsuite/gas/arm/arch7em-bad-3.d deleted file mode 100644 index 7fef14c3aad..00000000000 --- a/gas/testsuite/gas/arm/arch7em-bad-3.d +++ /dev/null @@ -1,4 +0,0 @@ -#name: Valid v8-M mainline with DSP extension, invalid v8-M mainline -#as: -march=armv8-m.main -#source: arch7em.s -#error-output: arch7em-bad.l diff --git a/gas/testsuite/gas/arm/arch7em-bad-1.d b/gas/testsuite/gas/arm/arch7em-bad.d similarity index 100% rename from gas/testsuite/gas/arm/arch7em-bad-1.d rename to gas/testsuite/gas/arm/arch7em-bad.d diff --git a/gas/testsuite/gas/arm/archv8m-main-dsp-1.d b/gas/testsuite/gas/arm/archv8m-main-dsp-1.d deleted file mode 100644 index 9909364aabc..00000000000 --- a/gas/testsuite/gas/arm/archv8m-main-dsp-1.d +++ /dev/null @@ -1,47 +0,0 @@ -#name: ARM V8-M mainline with DSP instructions (base) -#source: archv8m.s -#as: -march=armv8-m.main+dsp -#objdump: -dr --prefix-addresses --show-raw-insn - -.*: +file format .*arm.* - -Disassembly of section .text: -0+.* <[^>]*> 47a0 blx r4 -0+.* <[^>]*> 47c8 blx r9 -0+.* <[^>]*> 4720 bx r4 -0+.* <[^>]*> 4748 bx r9 -0+.* <[^>]*> e841 f000 tt r0, r1 -0+.* <[^>]*> e849 f800 tt r8, r9 -0+.* <[^>]*> e841 f040 ttt r0, r1 -0+.* <[^>]*> e849 f840 ttt r8, r9 -0+.* <[^>]*> f24f 1023 movw r0, #61731 ; 0xf123 -0+.* <[^>]*> f24f 1823 movw r8, #61731 ; 0xf123 -0+.* <[^>]*> f2cf 1023 movt r0, #61731 ; 0xf123 -0+.* <[^>]*> f2cf 1823 movt r8, #61731 ; 0xf123 -0+.* <[^>]*> b154 cbz r4, 0+.* <[^>]*> -0+.* <[^>]*> b94c cbnz r4, 0+.* <[^>]*> -0+.* <[^>]*> f000 b808 b.w 0+.* <[^>]*> -0+.* <[^>]*> fb91 f0f2 sdiv r0, r1, r2 -0+.* <[^>]*> fb99 f8fa sdiv r8, r9, sl -0+.* <[^>]*> fbb1 f0f2 udiv r0, r1, r2 -0+.* <[^>]*> fbb9 f8fa udiv r8, r9, sl -0+.* <[^>]*> 4408 add r0, r1 -0+.* <[^>]*> f3bf 8f2f clrex -0+.* <[^>]*> e851 0f01 ldrex r0, \[r1, #4\] -0+.* <[^>]*> e8d1 0f4f ldrexb r0, \[r1\] -0+.* <[^>]*> e8d1 0f5f ldrexh r0, \[r1\] -0+.* <[^>]*> e842 1001 strex r0, r1, \[r2, #4\] -0+.* <[^>]*> e8c2 1f40 strexb r0, r1, \[r2\] -0+.* <[^>]*> e8c2 1f50 strexh r0, r1, \[r2\] -0+.* <[^>]*> e8d1 0faf lda r0, \[r1\] -0+.* <[^>]*> e8d1 0f8f ldab r0, \[r1\] -0+.* <[^>]*> e8d1 0f9f ldah r0, \[r1\] -0+.* <[^>]*> e8c1 0faf stl r0, \[r1\] -0+.* <[^>]*> e8c1 0f8f stlb r0, \[r1\] -0+.* <[^>]*> e8c1 0f9f stlh r0, \[r1\] -0+.* <[^>]*> e8d1 0fef ldaex r0, \[r1\] -0+.* <[^>]*> e8d1 0fcf ldaexb r0, \[r1\] -0+.* <[^>]*> e8d1 0fdf ldaexh r0, \[r1\] -0+.* <[^>]*> e8c2 1fe0 stlex r0, r1, \[r2\] -0+.* <[^>]*> e8c2 1fc0 stlexb r0, r1, \[r2\] -0+.* <[^>]*> e8c2 1fd0 stlexh r0, r1, \[r2\] diff --git a/gas/testsuite/gas/arm/archv8m-main-dsp-2.d b/gas/testsuite/gas/arm/archv8m-main-dsp-2.d deleted file mode 100644 index 3e42b0666a6..00000000000 --- a/gas/testsuite/gas/arm/archv8m-main-dsp-2.d +++ /dev/null @@ -1,17 +0,0 @@ -#name: ARM V8-M mainline with DSP instructions (security extensions) -#source: archv8m-cmse.s -#as: -march=armv8-m.main+dsp -#objdump: -dr --prefix-addresses --show-raw-insn - -.*: +file format .*arm.* - -Disassembly of section .text: -0+.* <[^>]*> e97f e97f sg -0+.* <[^>]*> 47a4 blxns r4 -0+.* <[^>]*> 47cc blxns r9 -0+.* <[^>]*> 4724 bxns r4 -0+.* <[^>]*> 474c bxns r9 -0+.* <[^>]*> e841 f080 tta r0, r1 -0+.* <[^>]*> e849 f880 tta r8, r9 -0+.* <[^>]*> e841 f0c0 ttat r0, r1 -0+.* <[^>]*> e849 f8c0 ttat r8, r9 diff --git a/gas/testsuite/gas/arm/archv8m-main-dsp-3.d b/gas/testsuite/gas/arm/archv8m-main-dsp-3.d deleted file mode 100644 index 92e20903671..00000000000 --- a/gas/testsuite/gas/arm/archv8m-main-dsp-3.d +++ /dev/null @@ -1,140 +0,0 @@ -#name: ARM V8-M mainline with DSP instructions (extension) -#source: arch7em.s -#as: -march=armv8-m.main+dsp -#objdump: -dr --prefix-addresses --show-raw-insn -#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* - -.*: +file format .*arm.* - -Disassembly of section .text: -0[0-9a-f]+ <[^>]+> eac0 0000 pkhbt r0, r0, r0 -0[0-9a-f]+ <[^>]+> eac0 0900 pkhbt r9, r0, r0 -0[0-9a-f]+ <[^>]+> eac9 0000 pkhbt r0, r9, r0 -0[0-9a-f]+ <[^>]+> eac0 0009 pkhbt r0, r0, r9 -0[0-9a-f]+ <[^>]+> eac0 5000 pkhbt r0, r0, r0, lsl #20 -0[0-9a-f]+ <[^>]+> eac0 00c0 pkhbt r0, r0, r0, lsl #3 -0[0-9a-f]+ <[^>]+> eac3 0102 pkhbt r1, r3, r2 -0[0-9a-f]+ <[^>]+> eac2 4163 pkhtb r1, r2, r3, asr #17 -0[0-9a-f]+ <[^>]+> fa83 f182 qadd r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f113 qadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f113 qadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f113 qasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f113 qasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa83 f192 qdadd r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa83 f1b2 qdsub r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa83 f1a2 qsub r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f113 qsub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f113 qsub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f113 qsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f113 qsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f103 sadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f103 sadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f103 sasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f103 sasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f103 ssub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f103 ssub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f103 ssax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f103 ssax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f123 shadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f123 shadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f123 shasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f123 shasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f123 shsub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f123 shsub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f123 shsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f123 shsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f143 uadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f143 uadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f143 uasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f143 uasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f143 usub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f143 usub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f143 usax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f143 usax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f163 uhadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f163 uhadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f163 uhasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f163 uhasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f163 uhsub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f163 uhsub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f163 uhsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f163 uhsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa92 f153 uqadd16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa82 f153 uqadd8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f153 uqasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f153 uqasx r1, r2, r3 -0[0-9a-f]+ <[^>]+> fad2 f153 uqsub16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fac2 f153 uqsub8 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f153 uqsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> fae2 f153 uqsax r1, r2, r3 -0[0-9a-f]+ <[^>]+> faa2 f183 sel r1, r2, r3 -0[0-9a-f]+ <[^>]+> fb10 0000 smlabb r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 0900 smlabb r9, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb19 0000 smlabb r0, r9, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 0009 smlabb r0, r0, r9, r0 -0[0-9a-f]+ <[^>]+> fb10 9000 smlabb r0, r0, r0, r9 -0[0-9a-f]+ <[^>]+> fb10 0020 smlatb r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 0010 smlabt r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 0030 smlatt r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb30 0000 smlawb r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb30 0010 smlawt r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb20 0000 smlad r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb20 0010 smladx r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb40 0000 smlsd r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb40 0010 smlsdx r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb50 0000 smmla r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb50 0010 smmlar r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb60 0000 smmls r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb60 0010 smmlsr r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb70 0000 usada8 r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 0080 smlalbb r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 9080 smlalbb r9, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 0980 smlalbb r0, r9, r0, r0 -0[0-9a-f]+ <[^>]+> fbc9 0080 smlalbb r0, r0, r9, r0 -0[0-9a-f]+ <[^>]+> fbc0 0089 smlalbb r0, r0, r0, r9 -0[0-9a-f]+ <[^>]+> fbc0 00a0 smlaltb r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 0090 smlalbt r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 00b0 smlaltt r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 00c0 smlald r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbc0 00d0 smlaldx r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbd0 00c0 smlsld r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbd0 00d0 smlsldx r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fbe0 0060 umaal r0, r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 f000 smulbb r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 f900 smulbb r9, r0, r0 -0[0-9a-f]+ <[^>]+> fb19 f000 smulbb r0, r9, r0 -0[0-9a-f]+ <[^>]+> fb10 f009 smulbb r0, r0, r9 -0[0-9a-f]+ <[^>]+> fb10 f020 smultb r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 f010 smulbt r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb10 f030 smultt r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb30 f000 smulwb r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb30 f010 smulwt r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb50 f000 smmul r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb50 f010 smmulr r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb20 f000 smuad r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb20 f010 smuadx r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb40 f000 smusd r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb40 f010 smusdx r0, r0, r0 -0[0-9a-f]+ <[^>]+> fb70 f000 usad8 r0, r0, r0 -0[0-9a-f]+ <[^>]+> f320 0000 ssat16 r0, #1, r0 -0[0-9a-f]+ <[^>]+> f320 0900 ssat16 r9, #1, r0 -0[0-9a-f]+ <[^>]+> f320 0009 ssat16 r0, #10, r0 -0[0-9a-f]+ <[^>]+> f329 0000 ssat16 r0, #1, r9 -0[0-9a-f]+ <[^>]+> f3a0 0000 usat16 r0, #0, r0 -0[0-9a-f]+ <[^>]+> f3a0 0900 usat16 r9, #0, r0 -0[0-9a-f]+ <[^>]+> f3a0 0009 usat16 r0, #9, r0 -0[0-9a-f]+ <[^>]+> f3a9 0000 usat16 r0, #0, r9 -0[0-9a-f]+ <[^>]+> fa2f f182 sxtb16 r1, r2 -0[0-9a-f]+ <[^>]+> fa2f f889 sxtb16 r8, r9 -0[0-9a-f]+ <[^>]+> fa3f f182 uxtb16 r1, r2 -0[0-9a-f]+ <[^>]+> fa3f f889 uxtb16 r8, r9 -0[0-9a-f]+ <[^>]+> fa40 f080 sxtab r0, r0, r0 -0[0-9a-f]+ <[^>]+> fa40 f080 sxtab r0, r0, r0 -0[0-9a-f]+ <[^>]+> fa40 f990 sxtab r9, r0, r0, ror #8 -0[0-9a-f]+ <[^>]+> fa49 f0a0 sxtab r0, r9, r0, ror #16 -0[0-9a-f]+ <[^>]+> fa40 f0b9 sxtab r0, r0, r9, ror #24 -0[0-9a-f]+ <[^>]+> fa22 f183 sxtab16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa02 f183 sxtah r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa52 f183 uxtab r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa32 f183 uxtab16 r1, r2, r3 -0[0-9a-f]+ <[^>]+> fa12 f183 uxtah r1, r2, r3 diff --git a/gas/testsuite/gas/arm/attr-march-armv8m.main.dsp.d b/gas/testsuite/gas/arm/attr-march-armv8m.main.dsp.d deleted file mode 100644 index 56600d3c268..00000000000 --- a/gas/testsuite/gas/arm/attr-march-armv8m.main.dsp.d +++ /dev/null @@ -1,14 +0,0 @@ -# name: attributes for -march=armv8-m.main+dsp -# source: blank.s -# as: -march=armv8-m.main+dsp -# readelf: -A -# This test is only valid on EABI based ports. -# target: *-*-*eabi* *-*-nacl* - -Attribute Section: aeabi -File Attributes - Tag_CPU_name: "8-M.MAIN" - Tag_CPU_arch: v8-M.mainline - Tag_CPU_arch_profile: Microcontroller - Tag_THUMB_ISA_use: Yes - Tag_DSP_extension: Allowed diff --git a/include/elf/ChangeLog.arm b/include/elf/ChangeLog.arm index af05f70455c..3b249469601 100644 --- a/include/elf/ChangeLog.arm +++ b/include/elf/ChangeLog.arm @@ -1,3 +1,10 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + * arm.h (Tag_DSP_extension): Define. + 2015-12-17 Thomas Preud'homme * arm.h (Tag_DSP_extension): Define. diff --git a/include/elf/arm.h b/include/elf/arm.h index 63c5aacf143..5b54aedec36 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -305,7 +305,6 @@ enum Tag_MPextension_use, Tag_undefined_43, Tag_DIV_use, - Tag_DSP_extension = 46, Tag_nodefaults = 64, Tag_also_compatible_with, Tag_T2EE_use, diff --git a/ld/testsuite/ChangeLog.arm b/ld/testsuite/ChangeLog.arm index 70f3281c980..2a62b719ac0 100644 --- a/ld/testsuite/ChangeLog.arm +++ b/ld/testsuite/ChangeLog.arm @@ -1,3 +1,11 @@ +2016-03-29 Thomas Preud'homme + + Revert + 2015-12-17 Thomas Preud'homme + + * ld-arm/attr-merge-10b-dsp.s: New file. + * ld-arm/attr-merge-10-dsp.attr: Likewise. + 2015-12-17 Thomas Preud'homme * ld-arm/attr-merge-10b-dsp.s: New file. diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index a991c397177..14b74030fbf 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -379,9 +379,6 @@ set armeabitests_common { {"EABI attribute merging 10" "-r" "" "" {attr-merge-10a.s attr-merge-10b.s} {{readelf -A attr-merge-10.attr}} "attr-merge-10"} - {"EABI attribute merging 10 (DSP)" "-r" "" "" {attr-merge-10a.s attr-merge-10b-dsp.s} - {{readelf -A attr-merge-10-dsp.attr}} - "attr-merge-10-dsp"} {"EABI attribute arch merging 1" "-r" "" "" {arch-v6k.s arch-v6t2.s} {{readelf -A attr-merge-arch-1.attr}} "attr-merge-arch-1"} diff --git a/ld/testsuite/ld-arm/attr-merge-10-dsp.attr b/ld/testsuite/ld-arm/attr-merge-10-dsp.attr deleted file mode 100644 index 7cdbd49cf9b..00000000000 --- a/ld/testsuite/ld-arm/attr-merge-10-dsp.attr +++ /dev/null @@ -1,7 +0,0 @@ -Attribute Section: aeabi -File Attributes - Tag_CPU_name: "8-M.MAIN" - Tag_CPU_arch: v8-M.mainline - Tag_CPU_arch_profile: Microcontroller - Tag_THUMB_ISA_use: Yes - Tag_DSP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-10b-dsp.s b/ld/testsuite/ld-arm/attr-merge-10b-dsp.s deleted file mode 100644 index de67b36d998..00000000000 --- a/ld/testsuite/ld-arm/attr-merge-10b-dsp.s +++ /dev/null @@ -1,6 +0,0 @@ - .arch armv8-m.main - - @ Tag_CPU_arch & Tag_CPU_arch_profile = v8-M.MAIN - .eabi_attribute Tag_CPU_arch, 17 - .eabi_attribute Tag_CPU_arch_profile, 'M' - .eabi_attribute Tag_DSP_extension, 1 diff --git a/ld/testsuite/ld-arm/attr-merge-4b.s b/ld/testsuite/ld-arm/attr-merge-4b.s index 1b371dab4ea..2cf68df2577 100644 --- a/ld/testsuite/ld-arm/attr-merge-4b.s +++ b/ld/testsuite/ld-arm/attr-merge-4b.s @@ -2,7 +2,6 @@ @ Tag_CPU_arch = v6-M .eabi_attribute Tag_CPU_arch, 11 - .eabi_attribute Tag_CPU_arch_profile, 0x4D @ Tag_also_compatible_with = v4T .eabi_attribute Tag_also_compatible_with, "\006\002"