diff options
author | Samuel Holland <samuel@sholland.org> | 2020-02-21 21:06:15 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-21 22:06:15 -0500 |
commit | 4d6d2866ae43e55325e8ee96561221804602cd7a (patch) | |
tree | f56857c6a96d153127317bf70d1695c11faec2ed /src/powerpc | |
parent | b844a9c7f1ca792a1dfb0c09d5dae576178e6729 (diff) | |
download | libffi-4d6d2866ae43e55325e8ee96561221804602cd7a.tar.gz |
Update powerpc sysv assembly for ffi_powerpc.h changes (#541)
Some of the flag bits were moved when adding powerpc64 vector support.
Fixes #536
Diffstat (limited to 'src/powerpc')
-rw-r--r-- | src/powerpc/sysv.S | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/powerpc/sysv.S b/src/powerpc/sysv.S index 1474ce7..df97734 100644 --- a/src/powerpc/sysv.S +++ b/src/powerpc/sysv.S @@ -104,17 +104,16 @@ ENTRY(ffi_call_SYSV) bctrl /* Now, deal with the return value. */ - mtcrf 0x01,%r31 /* cr7 */ + mtcrf 0x03,%r31 /* cr6-cr7 */ bt- 31,L(small_struct_return_value) bt- 30,L(done_return_value) #ifndef __NO_FPRS__ bt- 29,L(fp_return_value) #endif stw %r3,0(%r30) - bf+ 28,L(done_return_value) + bf+ 27,L(done_return_value) stw %r4,4(%r30) - mtcrf 0x02,%r31 /* cr6 */ - bf 27,L(done_return_value) + bf 26,L(done_return_value) stw %r5,8(%r30) stw %r6,12(%r30) /* Fall through... */ @@ -145,10 +144,9 @@ L(done_return_value): #ifndef __NO_FPRS__ L(fp_return_value): .cfi_restore_state - bf 28,L(float_return_value) + bf 27,L(float_return_value) stfd %f1,0(%r30) - mtcrf 0x02,%r31 /* cr6 */ - bf 27,L(done_return_value) + bf 26,L(done_return_value) stfd %f2,8(%r30) b L(done_return_value) L(float_return_value): |