[Bug target/78945] [arm] libatomic inline asm is not compatible with armv7-m

2017-02-07 Thread nsz at gcc dot gnu.org
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

2017-02-07 Thread nsz at gcc dot gnu.org
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 Nagy  

PR 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

2017-02-07 Thread nsz at gcc dot gnu.org
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 Nagy  

PR 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

2017-01-30 Thread nsz at gcc dot gnu.org
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 Nagy  

PR 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

2017-01-24 Thread nsz at gcc dot gnu.org
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

2017-01-23 Thread ramana at gcc dot gnu.org
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

2016-12-28 Thread nsz at gcc dot gnu.org
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.