diff options
author | tduehr <tduehr@gmail.com> | 2015-03-19 16:44:33 -0700 |
---|---|---|
committer | tduehr <tduehr@gmail.com> | 2015-06-17 09:01:47 -0500 |
commit | e9d07620ae8ac090863998d22ab7ca0db9cd1e89 (patch) | |
tree | ba0c75a8e11e88123926cb9817a3bb0a7c1b157b /ext/ffi_c/libffi/src/mips/n32.S | |
parent | 194784d60f53e242a8aab88c216126785dc047dd (diff) | |
download | ffi-libffi-3.2.1.tar.gz |
update libffilibffi-3.2.1
Diffstat (limited to 'ext/ffi_c/libffi/src/mips/n32.S')
-rw-r--r-- | ext/ffi_c/libffi/src/mips/n32.S | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/ext/ffi_c/libffi/src/mips/n32.S b/ext/ffi_c/libffi/src/mips/n32.S index ae23094..c6985d3 100644 --- a/ext/ffi_c/libffi/src/mips/n32.S +++ b/ext/ffi_c/libffi/src/mips/n32.S @@ -43,6 +43,7 @@ #ifdef __GNUC__ .abicalls #endif + .set mips4 .text .align 2 .globl ffi_call_N32 @@ -107,10 +108,8 @@ loadregs: REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6. and t4, t6, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg1_floatp REG_L a0, 0*FFI_SIZEOF_ARG(t9) - b arg1_next -arg1_floatp: + beqz t4, arg1_next bne t4, FFI_TYPE_FLOAT, arg1_doublep l.s $f12, 0*FFI_SIZEOF_ARG(t9) b arg1_next @@ -120,10 +119,8 @@ arg1_next: SRL t4, t6, 1*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg2_floatp REG_L a1, 1*FFI_SIZEOF_ARG(t9) - b arg2_next -arg2_floatp: + beqz t4, arg2_next bne t4, FFI_TYPE_FLOAT, arg2_doublep l.s $f13, 1*FFI_SIZEOF_ARG(t9) b arg2_next @@ -133,10 +130,8 @@ arg2_next: SRL t4, t6, 2*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg3_floatp REG_L a2, 2*FFI_SIZEOF_ARG(t9) - b arg3_next -arg3_floatp: + beqz t4, arg3_next bne t4, FFI_TYPE_FLOAT, arg3_doublep l.s $f14, 2*FFI_SIZEOF_ARG(t9) b arg3_next @@ -146,10 +141,8 @@ arg3_next: SRL t4, t6, 3*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg4_floatp REG_L a3, 3*FFI_SIZEOF_ARG(t9) - b arg4_next -arg4_floatp: + beqz t4, arg4_next bne t4, FFI_TYPE_FLOAT, arg4_doublep l.s $f15, 3*FFI_SIZEOF_ARG(t9) b arg4_next @@ -159,10 +152,8 @@ arg4_next: SRL t4, t6, 4*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg5_floatp REG_L a4, 4*FFI_SIZEOF_ARG(t9) - b arg5_next -arg5_floatp: + beqz t4, arg5_next bne t4, FFI_TYPE_FLOAT, arg5_doublep l.s $f16, 4*FFI_SIZEOF_ARG(t9) b arg5_next @@ -172,10 +163,8 @@ arg5_next: SRL t4, t6, 5*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg6_floatp REG_L a5, 5*FFI_SIZEOF_ARG(t9) - b arg6_next -arg6_floatp: + beqz t4, arg6_next bne t4, FFI_TYPE_FLOAT, arg6_doublep l.s $f17, 5*FFI_SIZEOF_ARG(t9) b arg6_next @@ -185,10 +174,8 @@ arg6_next: SRL t4, t6, 6*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg7_floatp REG_L a6, 6*FFI_SIZEOF_ARG(t9) - b arg7_next -arg7_floatp: + beqz t4, arg7_next bne t4, FFI_TYPE_FLOAT, arg7_doublep l.s $f18, 6*FFI_SIZEOF_ARG(t9) b arg7_next @@ -198,10 +185,8 @@ arg7_next: SRL t4, t6, 7*FFI_FLAG_BITS and t4, ((1<<FFI_FLAG_BITS)-1) - bnez t4, arg8_floatp REG_L a7, 7*FFI_SIZEOF_ARG(t9) - b arg8_next -arg8_floatp: + beqz t4, arg8_next bne t4, FFI_TYPE_FLOAT, arg8_doublep l.s $f19, 7*FFI_SIZEOF_ARG(t9) b arg8_next |