github.com/zxy12/go_duplicate_1_12@v0.0.0-20200217043740-b1636fc0368b/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