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
10TEXT ·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
17TEXT ·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
24TEXT ·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
31TEXT ·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