_chgsignl: Add ARM implementation

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@6620 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/math/_chgsignl.S b/mingw-w64-crt/math/_chgsignl.S
index 692d3c7..65c4cee 100644
--- a/mingw-w64-crt/math/_chgsignl.S
+++ b/mingw-w64-crt/math/_chgsignl.S
@@ -25,10 +25,10 @@
 #else
 	.align 4
 #endif
-.globl __MINGW_USYMBOL(_chgsignl)
+	.globl __MINGW_USYMBOL(_chgsignl)
 	.def	__MINGW_USYMBOL(_chgsignl);	.scl	2;	.type	32;	.endef
 __MINGW_USYMBOL(_chgsignl):
-#ifdef _WIN64
+#if defined(_AMD64_) || defined(__x86_64__)
 	movq	(%rdx), %rax
 	movq	8(%rdx), %rdx
 	xorq	$0x8000, %rdx
@@ -36,7 +36,10 @@
 	movq	%rdx, 8(%rcx)
 	movq	%rcx, %rax
 	ret
-#else
+#elif defined(_ARM_) || defined(__arm__)
+	vneg.f64	d0, d0
+	bx	lr
+#elif defined(_X86_) || defined(__i386__)
 	movl	12(%esp),%eax
 	xorl	$0x8000,%eax
 	movl	%eax,12(%esp)