[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 nsz at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |7.0 Known to fail||5.4.0, 6.3.0 --- Comment #7 from nsz at gcc dot gnu.org --- fixed on trunk and backported to gcc-5 and gcc-6 branches.
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 --- Comment #6 from nsz at gcc dot gnu.org --- Author: nsz Date: Tue Feb 7 12:51:00 2017 New Revision: 245247 URL: https://gcc.gnu.org/viewcvs?rev=245247=gcc=rev Log: [ARM][PR target/78945] Fix libatomic on armv7-m libatomic/ Backport from mainline: 2017-01-30 Szabolcs NagyPR target/78945 * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. Modified: branches/gcc-5-branch/libatomic/ChangeLog branches/gcc-5-branch/libatomic/config/arm/exch_n.c
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 --- Comment #5 from nsz at gcc dot gnu.org --- Author: nsz Date: Tue Feb 7 12:47:51 2017 New Revision: 245246 URL: https://gcc.gnu.org/viewcvs?rev=245246=gcc=rev Log: [ARM][PR target/78945] Fix libatomic on armv7-m libatomic/ Backport from mainline: 2017-01-30 Szabolcs NagyPR target/78945 * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. Modified: branches/gcc-6-branch/libatomic/ChangeLog branches/gcc-6-branch/libatomic/config/arm/exch_n.c
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 --- Comment #4 from nsz at gcc dot gnu.org --- Author: nsz Date: Mon Jan 30 11:34:13 2017 New Revision: 245023 URL: https://gcc.gnu.org/viewcvs?rev=245023=gcc=rev Log: [ARM][PR target/78945] Fix libatomic on armv7-m ARM libatomic inline asm uses sel, uadd8, uadd16 instructions which are only available if __ARM_FEATURE_SIMD32 is defined. libatomic/ 2017-01-30 Szabolcs NagyPR target/78945 * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. Modified: trunk/libatomic/ChangeLog trunk/libatomic/config/arm/exch_n.c
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 --- Comment #3 from nsz at gcc dot gnu.org --- (In reply to Ramana Radhakrishnan from comment #2) > A simple patch would be to check for __ARM_FEATURE_SAT in all those macros > in exch_n.c along with HAVE_STREXB etc .. __ARM_FEATURE_SIMD32 seems to be the right feature test macro, (_SAT is defined on armv7-m) and with that libatomic compiles.
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 Ramana Radhakrishnan changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-01-23 CC||ramana at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Ramana Radhakrishnan --- A simple patch would be to check for __ARM_FEATURE_SAT in all those macros in exch_n.c along with HAVE_STREXB etc .. Confirmed by code inspection. A fix to the macro is pre-approved for all release branches with appropriate testing.
[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78945 nsz at gcc dot gnu.org changed: What|Removed |Added Target||arm-* --- Comment #1 from nsz at gcc dot gnu.org --- building a cross compiler with --with-mode=thumb --with-arch=armv7 fails with /tmp/ccCnEnAK.s:61: Error: selected processor does not support `uadd8 r3,r3,r3' in Thumb mode /tmp/ccCnEnAK.s:63: Error: selected processor does not support `sel r3,r1,r4' in Thumb mode because the asm in libatomic/config/arm/exch_n.c is not compatible with armv7-m.