[parisc-linux-cvs] linux amodra
Alan Modra
alan@linuxcare.com.au
Fri, 23 Feb 2001 18:13:52 +1100 (EST)
On Thu, 22 Feb 2001, Alan Modra wrote:
> Modified files:
> include/asm-parisc: assembly.h
>
> Log message:
> (callee_save, callee_rest): Merge first save and last restore
> with stack adjust. Use %r notation for 32 bit versions.
Saves a couple of insns.
Index: include/asm-parisc/assembly.h
===================================================================
RCS file: /home/cvs/parisc/linux/include/asm-parisc/assembly.h,v
retrieving revision 1.18
diff -u -p -r1.18 assembly.h
--- assembly.h 2001/02/14 02:29:27 1.18
+++ assembly.h 2001/02/23 06:52:52
@@ -263,8 +263,7 @@
#ifdef __LP64__
.macro callee_save
- ldo 144(%r30), %r30
- std %r3, -144(%r30)
+ std,ma %r3, 144(%r30)
std %r4, -136(%r30)
std %r5, -128(%r30)
std %r6, -120(%r30)
@@ -298,50 +297,47 @@
ldd -120(%r30), %r6
ldd -128(%r30), %r5
ldd -136(%r30), %r4
- ldd -144(%r30), %r3
- ldo -144(%r30), %r30
+ ldd,mb -144(%r30), %r3
.endm
#else /* __LP64__ */
.macro callee_save
- ldo 128(30), 30
- stw 3, -128(30)
- stw 4, -124(30)
- stw 5, -120(30)
- stw 6, -116(30)
- stw 7, -112(30)
- stw 8, -108(30)
- stw 9, -104(30)
- stw 10, -100(30)
- stw 11, -96(30)
- stw 12, -92(30)
- stw 13, -88(30)
- stw 14, -84(30)
- stw 15, -80(30)
- stw 16, -76(30)
- stw 17, -72(30)
- stw 18, -68(30)
+ stw,ma %r3, 128(%r30)
+ stw %r4, -124(%r30)
+ stw %r5, -120(%r30)
+ stw %r6, -116(%r30)
+ stw %r7, -112(%r30)
+ stw %r8, -108(%r30)
+ stw %r9, -104(%r30)
+ stw %r10, -100(%r30)
+ stw %r11, -96(%r30)
+ stw %r12, -92(%r30)
+ stw %r13, -88(%r30)
+ stw %r14, -84(%r30)
+ stw %r15, -80(%r30)
+ stw %r16, -76(%r30)
+ stw %r17, -72(%r30)
+ stw %r18, -68(%r30)
.endm
.macro callee_rest
- ldw -68(30), 18
- ldw -72(30), 17
- ldw -76(30), 16
- ldw -80(30), 15
- ldw -84(30), 14
- ldw -88(30), 13
- ldw -92(30), 12
- ldw -96(30), 11
- ldw -100(30), 10
- ldw -104(30), 9
- ldw -108(30), 8
- ldw -112(30), 7
- ldw -116(30), 6
- ldw -120(30), 5
- ldw -124(30), 4
- ldw -128(30), 3
- ldo -128(30), 30
+ ldw -68(%r30), %r18
+ ldw -72(%r30), %r17
+ ldw -76(%r30), %r16
+ ldw -80(%r30), %r15
+ ldw -84(%r30), %r14
+ ldw -88(%r30), %r13
+ ldw -92(%r30), %r12
+ ldw -96(%r30), %r11
+ ldw -100(%r30), %r10
+ ldw -104(%r30), %r9
+ ldw -108(%r30), %r8
+ ldw -112(%r30), %r7
+ ldw -116(%r30), %r6
+ ldw -120(%r30), %r5
+ ldw -124(%r30), %r4
+ ldw,mb -128(%r30), %r3
.endm
#endif /* __LP64__ */