When building in thumb mode, the conditional instructions are supposed
to have 'it' instructions preceding them (unless the assembler is
set to automatically inject such).

This fixes building with clang/llvm 3.9, while the build passed
with clang/llvm 3.8 (unsure whether it actually injected such instructions
though)
---
 mingw-w64-crt/math/copysignl.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mingw-w64-crt/math/copysignl.S b/mingw-w64-crt/math/copysignl.S
index 77237e9..0becf53 100644
--- a/mingw-w64-crt/math/copysignl.S
+++ b/mingw-w64-crt/math/copysignl.S
@@ -38,10 +38,12 @@ __MINGW_USYMBOL(copysignl):
        bmi     1f /* jump if d1 is negative */
        fcmpzd  d0
        fmstat
+       it mi
        vnegmi.f64      d0, d0 /* negate d0 if it is negative */
        bx      lr
        1: fcmpzd       d0
        fmstat
+       it pl
        vnegpl.f64      d0, d0 /* negate d0 if it is positive */
        bx      lr
 #elif defined(_X86_) || defined(__i386__)
-- 
2.7.4


------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to