Text file src/cmd/dist/vfp_arm.s

     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  //go:build gc
     6  // +build gc
     7  
     8  #include "textflag.h"
     9  
    10  // try to run "vmov.f64 d0, d0" instruction
    11  TEXT ·useVFPv1(SB),NOSPLIT,$0
    12  	WORD $0xeeb00b40	// vmov.f64 d0, d0
    13  	RET
    14  
    15  // try to run VFPv3-only "vmov.f64 d0, #112" instruction
    16  TEXT ·useVFPv3(SB),NOSPLIT,$0
    17  	WORD $0xeeb70b00	// vmov.f64 d0, #112
    18  	RET
    19  
    20  // try to run ARMv6K (or above) "ldrexd" instruction
    21  TEXT ·useARMv6K(SB),NOSPLIT,$32
    22  	MOVW R13, R2
    23  	BIC  $15, R13
    24  	WORD $0xe1bd0f9f	// ldrexd r0, r1, [sp]
    25  	WORD $0xf57ff01f	// clrex
    26  	MOVW R2, R13
    27  	RET
    28  

View as plain text