ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/mports/trunk/devel/libffi/files/patch-src_arm_sysv.S
(Generate patch)

Comparing trunk/devel/libffi/files/patch-src_arm_sysv.S (file contents):
Revision 24275 by laffer1, Sat Mar 7 21:29:34 2015 UTC vs.
Revision 24276 by laffer1, Sun Sep 9 18:07:01 2018 UTC

# Line 4 | Line 4
4  
5   --- src/arm/sysv.S.orig 2015-01-01 10:47:51 UTC
6   +++ src/arm/sysv.S
7 + @@ -360,7 +360,7 @@ ARM_FUNC_START(ffi_call_VFP)
8 +        cmp     r0, #3
9 +        sub     ip, fp, #64
10 +        flddle  d0, [ip]
11 + -       fldmiadgt       ip, {d0-d7}
12 + +       vldmiagt        ip, {d0-d7}
13 +
14 + LSYM(Lbase_args):
15 +        @ move first 4 parameters in registers
16   @@ -396,7 +396,7 @@ LSYM(Lbase_args):
17          beq     LSYM(Lepilogue_vfp)
18  
# Line 13 | Line 22
22          beq     LSYM(Lepilogue_vfp)
23  
24          cmp     r3, #FFI_TYPE_FLOAT
25 + @@ -409,7 +409,7 @@ LSYM(Lbase_args):
26 +
27 +        cmp     r3, #FFI_TYPE_STRUCT_VFP_FLOAT
28 +        cmpne   r3, #FFI_TYPE_STRUCT_VFP_DOUBLE
29 + -       fstmiadeq       r2, {d0-d3}
30 + +       vstmiaeq        r2, {d0-d3}
31 +
32 + LSYM(Lepilogue_vfp):
33 +        RETLDM  "r0-r3,fp"
34 + @@ -420,7 +420,7 @@ LSYM(Lepilogue_vfp):
35 +
36 +
37 + ARM_FUNC_START(ffi_closure_VFP)
38 + -       fstmfdd sp!, {d0-d7}
39 + +       vstmdb  sp!, {d0-d7}
40 +        @ r0-r3, then d0-d7
41 +        UNWIND .pad #80
42 +        add     ip, sp, #80
43 + @@ -470,10 +470,10 @@ ARM_FUNC_START(ffi_closure_VFP)
44 +        ldmia   sp, {r0, r1}
45 +        b       .Lclosure_epilogue_vfp
46 + .Lretfloat_struct_vfp:
47 + -       fldmiad sp, {d0-d1}
48 + +       vldmia  sp, {d0-d1}
49 +        b       .Lclosure_epilogue_vfp
50 + .Lretdouble_struct_vfp:
51 + -       fldmiad sp, {d0-d3}
52 + +       vldmia  sp, {d0-d3}
53 +        b       .Lclosure_epilogue_vfp
54 +
55 + .ffi_closure_VFP_end:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines