aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/dist/vfp_arm.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/dist/vfp_arm.s')
-rw-r--r--src/cmd/dist/vfp_arm.s9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/dist/vfp_arm.s b/src/cmd/dist/vfp_arm.s
index c42b593aec..d571f8b82a 100644
--- a/src/cmd/dist/vfp_arm.s
+++ b/src/cmd/dist/vfp_arm.s
@@ -15,3 +15,12 @@ TEXT ·useVFPv1(SB),NOSPLIT,$0
TEXT ·useVFPv3(SB),NOSPLIT,$0
WORD $0xeeb70b00 // vmov.f64 d0, #112
RET
+
+// try to run ARMv6K (or above) "ldrexd" instruction
+TEXT ·useARMv6K(SB),NOSPLIT,$32
+ MOVW R13, R2
+ BIC $15, R13
+ WORD $0xe1bd0f9f // ldrexd r0, r1, [sp]
+ WORD $0xf57ff01f // clrex
+ MOVW R2, R13
+ RET