arm: Delete LOADREGS macro
authorRichard Henderson <rth@twiddle.net>
Fri, 15 Feb 2013 05:17:19 +0000 (21:17 -0800)
committerRichard Henderson <rth@twiddle.net>
Wed, 6 Mar 2013 15:46:46 +0000 (07:46 -0800)
There was only one user.  It's "condition" argument was used
for "ia" rather than an actual condition.  The apcs26 syntax
is almost certainly not needed, given current binutils requirements.

ports/ChangeLog.arm
ports/sysdeps/arm/__longjmp.S
ports/sysdeps/arm/sysdep.h

index 8279a3e..2276ec5 100644 (file)
@@ -1,5 +1,8 @@
 2013-03-06  Richard Henderson <rth@redhat.com>
 
+       * sysdeps/arm/__longjmp.S (__longjmp): Use ldmia insn directly.
+       * sysdeps/arm/sysdep.h (LOADREGS): Remove.
+
        * sysdeps/arm/arm-mcount.S (_mcount): Use push/pop mnemonics.
        * sysdeps/arm/crti.S, sysdeps/arm/crtn.S: Likewise.
        * sysdeps/arm/dl-tlsdesc.S: Likewise.
index a3a2a8a..1d5d56b 100644 (file)
@@ -37,7 +37,7 @@ ENTRY (__longjmp)
        cfi_undefined (r4)
        CHECK_SP (r4)
 #endif
-       LOADREGS(ia, ip!, {v1-v6, sl, fp, sp, lr})
+       ldmia   ip!, {v1-v6, sl, fp, sp, lr}
        cfi_restore (v1)
        cfi_restore (v2)
        cfi_restore (v3)
index d74a328..5f6c3f2 100644 (file)
@@ -35,8 +35,6 @@
 
 /* APCS-32 doesn't preserve the condition codes across function call. */
 #ifdef __APCS_32__
-#define LOADREGS(cond, base, reglist...)\
-       ldm##cond       base,reglist
 #ifdef __USE_BX__
 #define RETINSTR(cond, reg)    \
        bx##cond        reg
@@ -49,8 +47,6 @@
        mov pc, _reg
 #endif
 #else  /* APCS-26 */
-#define LOADREGS(cond, base, reglist...)\
-       ldm##cond       base,reglist^
 #define RETINSTR(cond, reg)    \
        mov##cond##s    pc, reg
 #define DO_RET(_reg)           \