github.com/flyinox/gosm@v0.0.0-20171117061539-16768cb62077/src/cmd/dist/vfp_arm.s (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build gc,arm 6 7 #include "textflag.h" 8 9 // try to run "vmov.f64 d0, d0" instruction 10 TEXT ·useVFPv1(SB),NOSPLIT,$0 11 WORD $0xeeb00b40 // vmov.f64 d0, d0 12 RET 13 14 // try to run VFPv3-only "vmov.f64 d0, #112" instruction 15 TEXT ·useVFPv3(SB),NOSPLIT,$0 16 WORD $0xeeb70b00 // vmov.f64 d0, #112 17 RET 18 19 // try to run ARMv6K (or above) "ldrexd" instruction 20 TEXT ·useARMv6K(SB),NOSPLIT,$32 21 MOVW R13, R2 22 BIC $15, R13 23 WORD $0xe1bd0f9f // ldrexd r0, r1, [sp] 24 WORD $0xf57ff01f // clrex 25 MOVW R2, R13 26 RET