View | Details | Raw Unified | Return to bug 224669 | Differences between
and this patch

Collapse All | Expand All

(-)devel/libffi/files/patch-src_arm_sysv.S (+40 lines)
Lines 4-9 Link Here
4
4
5
--- src/arm/sysv.S.orig	2015-01-01 10:47:51 UTC
5
--- src/arm/sysv.S.orig	2015-01-01 10:47:51 UTC
6
+++ src/arm/sysv.S
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
7
@@ -396,7 +396,7 @@ LSYM(Lbase_args):
16
@@ -396,7 +396,7 @@ LSYM(Lbase_args):
8
 	beq	LSYM(Lepilogue_vfp)
17
 	beq	LSYM(Lepilogue_vfp)
9
 
18
 
Lines 13-15 Link Here
13
 	beq	LSYM(Lepilogue_vfp)
22
 	beq	LSYM(Lepilogue_vfp)
14
 
23
 
15
 	cmp	r3, #FFI_TYPE_FLOAT
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:

Return to bug 224669