cpu_arm64.s raw

   1  // Copyright 2019 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  
   7  #include "textflag.h"
   8  
   9  // func getisar0() uint64
  10  TEXT ·getisar0(SB),NOSPLIT,$0-8
  11  	// get Instruction Set Attributes 0 into x0
  12  	MRS	ID_AA64ISAR0_EL1, R0
  13  	MOVD	R0, ret+0(FP)
  14  	RET
  15  
  16  // func getisar1() uint64
  17  TEXT ·getisar1(SB),NOSPLIT,$0-8
  18  	// get Instruction Set Attributes 1 into x0
  19  	MRS	ID_AA64ISAR1_EL1, R0
  20  	MOVD	R0, ret+0(FP)
  21  	RET
  22  
  23  // func getpfr0() uint64
  24  TEXT ·getpfr0(SB),NOSPLIT,$0-8
  25  	// get Processor Feature Register 0 into x0
  26  	MRS	ID_AA64PFR0_EL1, R0
  27  	MOVD	R0, ret+0(FP)
  28  	RET
  29  
  30  // func getzfr0() uint64
  31  TEXT ·getzfr0(SB),NOSPLIT,$0-8
  32  	// get SVE Feature Register 0 into x0
  33  	MRS	ID_AA64ZFR0_EL1, R0
  34  	MOVD	R0, ret+0(FP)
  35  	RET
  36