diff options
Diffstat (limited to 'src/cmd/dist/vfp_arm.s')
-rw-r--r-- | src/cmd/dist/vfp_arm.s | 9 |
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 |