// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

TEXT errors(SB),$0
	MOV	$errors(SB), (X5)		// ERROR "address load must target register"
	MOV	$8(SP), (X5)			// ERROR "address load must target register"
	MOVB	$8(SP), X5			// ERROR "unsupported address load"
	MOVH	$8(SP), X5			// ERROR "unsupported address load"
	MOVW	$8(SP), X5			// ERROR "unsupported address load"
	MOVF	$8(SP), X5			// ERROR "unsupported address load"
	MOV	$1234, 0(SP)			// ERROR "constant load must target register"
	MOV	$1234, 8(SP)			// ERROR "constant load must target register"
	MOV	$0, 0(SP)			// ERROR "constant load must target register"
	MOV	$0, 8(SP)			// ERROR "constant load must target register"
	MOV	$1234, 0(SP)			// ERROR "constant load must target register"
	MOV	$1234, 8(SP)			// ERROR "constant load must target register"
	MOVB	$1, X5				// ERROR "unsupported constant load"
	MOVH	$1, X5				// ERROR "unsupported constant load"
	MOVW	$1, X5				// ERROR "unsupported constant load"
	MOVF	$1, X5				// ERROR "unsupported constant load"
	MOVBU	X5, (X6)			// ERROR "unsupported unsigned store"
	MOVHU	X5, (X6)			// ERROR "unsupported unsigned store"
	MOVWU	X5, (X6)			// ERROR "unsupported unsigned store"
	MOVF	F0, F1, F2			// ERROR "illegal MOV instruction"
	MOVD	F0, F1, F2			// ERROR "illegal MOV instruction"
	MOV	X10, X11, X12			// ERROR "illegal MOV instruction"
	MOVW	X10, X11, X12			// ERROR "illegal MOV instruction"
	SLLI	$64, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SRLI	$64, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SRAI	$64, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SLLI	$-1, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SRLI	$-1, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SRAI	$-1, X5, X6			// ERROR "shift amount out of range 0 to 63"
	SLLIW	$32, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SRLIW	$32, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SRAIW	$32, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SLLIW	$-1, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SRLIW	$-1, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SRAIW	$-1, X5, X6			// ERROR "shift amount out of range 0 to 31"
	SD	X5, 4294967296(X6)		// ERROR "constant 4294967296 too large"
	SRLI	$1, X5, F1			// ERROR "expected integer register in rd position but got non-integer register F1"
	SRLI	$1, F1, X5			// ERROR "expected integer register in rs1 position but got non-integer register F1"
	FNES	F1, (X5)			// ERROR "needs an integer register output"
	RET
