summaryrefslogtreecommitdiff
path: root/src/pal/src/arch/arm64/context2.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/pal/src/arch/arm64/context2.S')
-rw-r--r--src/pal/src/arch/arm64/context2.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/pal/src/arch/arm64/context2.S b/src/pal/src/arch/arm64/context2.S
index 64a19c9df6..7b165c2314 100644
--- a/src/pal/src/arch/arm64/context2.S
+++ b/src/pal/src/arch/arm64/context2.S
@@ -99,9 +99,8 @@ LOCAL_LABEL(Done_CONTEXT_INTEGER):
add x0, x0, CONTEXT_FLOAT_CONTROL_OFFSET
mrs x1, fpcr
mrs x2, fpsr
- sub x0, x0, CONTEXT_FLOAT_CONTROL_OFFSET
stp x1, x2, [x0, CONTEXT_Fpcr]
- sub x0, x0, CONTEXT_NEON_OFFSET
+ sub x0, x0, CONTEXT_FLOAT_CONTROL_OFFSET + CONTEXT_NEON_OFFSET
LOCAL_LABEL(Done_CONTEXT_FLOATING_POINT):
@@ -173,10 +172,11 @@ LOCAL_LABEL(Restore_CONTEXT_FLOATING_POINT):
ldp q26, q27, [x16, CONTEXT_V26]
ldp q28, q29, [x16, CONTEXT_V28]
ldp q30, q31, [x16, CONTEXT_V30]
+ add x16, x16, CONTEXT_FLOAT_CONTROL_OFFSET
ldp x1, x2, [x16, CONTEXT_Fpcr]
msr fpcr, x1
msr fpsr, x2
- sub x16, x16, CONTEXT_NEON_OFFSET
+ sub x16, x16, CONTEXT_FLOAT_CONTROL_OFFSET + CONTEXT_NEON_OFFSET
LOCAL_LABEL(No_Restore_CONTEXT_FLOATING_POINT):
tbz w17, #CONTEXT_INTEGER_BIT, LOCAL_LABEL(No_Restore_CONTEXT_INTEGER)