github.com/rakyll/go@v0.0.0-20170216000551-64c02460d703/src/cmd/dist/util_gc.go (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 !gccgo
     6  
     7  package main
     8  
     9  func cpuid(info *[4]uint32, ax uint32)
    10  
    11  func cansse2() bool {
    12  	if gohostarch != "386" && gohostarch != "amd64" {
    13  		return false
    14  	}
    15  
    16  	var info [4]uint32
    17  	cpuid(&info, 1)
    18  	return info[3]&(1<<26) != 0 // SSE2
    19  }
    20  
    21  // useVFPv1 tries to execute one VFPv1 instruction on ARM.
    22  // It will crash the current process if VFPv1 is missing.
    23  func useVFPv1()
    24  
    25  // useVFPv3 tries to execute one VFPv3 instruction on ARM.
    26  // It will crash the current process if VFPv3 is missing.
    27  func useVFPv3()
    28  
    29  // useARMv6K tries to run ARMv6K instructions on ARM.
    30  // It will crash the current process if it doesn't implement
    31  // ARMv6K or above.
    32  func useARMv6K()