Faster/shorter way of aligning something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15909 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -197,8 +197,7 @@ FUNCTION(ppc_exception_tail):
|
|||||||
mtcrf 0xff, %r0
|
mtcrf 0xff, %r0
|
||||||
|
|
||||||
/* align r1 to 8 bytes, so the iframe will be aligned too */
|
/* align r1 to 8 bytes, so the iframe will be aligned too */
|
||||||
li %r0, 0xfffffff8
|
rlwinm %r1, %r1, 0, 0, 28
|
||||||
and %r1, %r1, %r0
|
|
||||||
|
|
||||||
/* save the registers */
|
/* save the registers */
|
||||||
bl __save_regs
|
bl __save_regs
|
||||||
@@ -210,8 +209,7 @@ FUNCTION(ppc_exception_tail):
|
|||||||
/* adjust the stack pointer for ABI compatibility */
|
/* adjust the stack pointer for ABI compatibility */
|
||||||
subi %r1, %r1, 8 /* make sure there's space for the previous
|
subi %r1, %r1, 8 /* make sure there's space for the previous
|
||||||
frame pointer and the return address */
|
frame pointer and the return address */
|
||||||
li %r2, 0xfffffff0
|
rlwinm %r1, %r1, 0, 0, 27 /* 16 byte align the stack pointer */
|
||||||
and %r1, %r1, %r2 /* 16 byte align the stack pointer */
|
|
||||||
li %r0, 0
|
li %r0, 0
|
||||||
stw %r0, 0(%r1) /* previous frame pointer: NULL */
|
stw %r0, 0(%r1) /* previous frame pointer: NULL */
|
||||||
/* 4(%r1) is room for the return address to be filled in by the
|
/* 4(%r1) is room for the return address to be filled in by the
|
||||||
|
|||||||
Reference in New Issue
Block a user