blob: 2959a2f47bc6d2771e805d9aff0a26637c3b7eaf [file] [log] [blame]
// Copyright 2017 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
MOVW (F0), R1 // ERROR "illegal base register"
MOVB (F0), R1 // ERROR "illegal base register"
MOVH (F0), R1 // ERROR "illegal base register"
MOVF (F0), F1 // ERROR "illegal base register"
MOVD (F0), F1 // ERROR "illegal base register"
MOVW R1, (F0) // ERROR "illegal base register"
MOVB R2, (F0) // ERROR "illegal base register"
MOVH R3, (F0) // ERROR "illegal base register"
MOVF F4, (F0) // ERROR "illegal base register"
MOVD F5, (F0) // ERROR "illegal base register"
MOVM.IA (F1), [R0-R4] // ERROR "illegal base register"
MOVM.DA (F1), [R0-R4] // ERROR "illegal base register"
MOVM.IB (F1), [R0-R4] // ERROR "illegal base register"
MOVM.DB (F1), [R0-R4] // ERROR "illegal base register"
MOVM.IA [R0-R4], (F1) // ERROR "illegal base register"
MOVM.DA [R0-R4], (F1) // ERROR "illegal base register"
MOVM.IB [R0-R4], (F1) // ERROR "illegal base register"
MOVM.DB [R0-R4], (F1) // ERROR "illegal base register"
MOVW R0<<0(F1), R1 // ERROR "illegal base register"
MOVB R0<<0(F1), R1 // ERROR "illegal base register"
MOVW R1, R0<<0(F1) // ERROR "illegal base register"
MOVB R2, R0<<0(F1) // ERROR "illegal base register"
MOVF 0x00ffffff(F2), F1 // ERROR "illegal base register"
MOVD 0x00ffffff(F2), F1 // ERROR "illegal base register"
MOVF F2, 0x00ffffff(F2) // ERROR "illegal base register"
MOVD F2, 0x00ffffff(F2) // ERROR "illegal base register"
MULS.S R1, R2, R3, R4 // ERROR "invalid .S suffix"
ADD.P R1, R2, R3 // ERROR "invalid .P suffix"
SUB.W R2, R3 // ERROR "invalid .W suffix"
BL 4(R4) // ERROR "non-zero offset"
ADDF F0, R1, F2 // ERROR "illegal combination"
SWI (R0) // ERROR "illegal combination"
NEGF F0, F1, F2 // ERROR "illegal combination"
NEGD F0, F1, F2 // ERROR "illegal combination"
ABSF F0, F1, F2 // ERROR "illegal combination"
ABSD F0, F1, F2 // ERROR "illegal combination"
SQRTF F0, F1, F2 // ERROR "illegal combination"
SQRTD F0, F1, F2 // ERROR "illegal combination"
MOVF F0, F1, F2 // ERROR "illegal combination"
MOVD F0, F1, F2 // ERROR "illegal combination"
MOVDF F0, F1, F2 // ERROR "illegal combination"
MOVFD F0, F1, F2 // ERROR "illegal combination"
MOVM.IA 4(R1), [R0-R4] // ERROR "offset must be zero"
MOVM.DA 4(R1), [R0-R4] // ERROR "offset must be zero"
MOVM.IB 4(R1), [R0-R4] // ERROR "offset must be zero"
MOVM.DB 4(R1), [R0-R4] // ERROR "offset must be zero"
MOVM.IA [R0-R4], 4(R1) // ERROR "offset must be zero"
MOVM.DA [R0-R4], 4(R1) // ERROR "offset must be zero"
MOVM.IB [R0-R4], 4(R1) // ERROR "offset must be zero"
MOVM.DB [R0-R4], 4(R1) // ERROR "offset must be zero"
MOVW CPSR, FPSR // ERROR "illegal combination"
MOVW FPSR, CPSR // ERROR "illegal combination"
MOVW CPSR, errors(SB) // ERROR "illegal combination"
MOVW errors(SB), CPSR // ERROR "illegal combination"
MOVW FPSR, errors(SB) // ERROR "illegal combination"
MOVW errors(SB), FPSR // ERROR "illegal combination"
MOVW F0, errors(SB) // ERROR "illegal combination"
MOVW errors(SB), F0 // ERROR "illegal combination"
MOVW $20, errors(SB) // ERROR "illegal combination"
MOVW errors(SB), $20 // ERROR "illegal combination"
MOVB $245, R1 // ERROR "illegal combination"
MOVH $245, R1 // ERROR "illegal combination"
MOVB $0xff000000, R1 // ERROR "illegal combination"
MOVH $0xff000000, R1 // ERROR "illegal combination"
MOVB $0x00ffffff, R1 // ERROR "illegal combination"
MOVH $0x00ffffff, R1 // ERROR "illegal combination"
MOVB FPSR, g // ERROR "illegal combination"
MOVH FPSR, g // ERROR "illegal combination"
MOVB g, FPSR // ERROR "illegal combination"
MOVH g, FPSR // ERROR "illegal combination"
MOVB CPSR, g // ERROR "illegal combination"
MOVH CPSR, g // ERROR "illegal combination"
MOVB g, CPSR // ERROR "illegal combination"
MOVH g, CPSR // ERROR "illegal combination"
MOVB $0xff000000, CPSR // ERROR "illegal combination"
MOVH $0xff000000, CPSR // ERROR "illegal combination"
MOVB $0xff000000, FPSR // ERROR "illegal combination"
MOVH $0xff000000, FPSR // ERROR "illegal combination"
MOVB $0xffffff00, CPSR // ERROR "illegal combination"
MOVH $0xffffff00, CPSR // ERROR "illegal combination"
MOVB $0xfffffff0, FPSR // ERROR "illegal combination"
MOVH $0xfffffff0, FPSR // ERROR "illegal combination"
MOVB.IA 4(R1), [R0-R4] // ERROR "illegal combination"
MOVB.DA 4(R1), [R0-R4] // ERROR "illegal combination"
MOVH.IA 4(R1), [R0-R4] // ERROR "illegal combination"
MOVH.DA 4(R1), [R0-R4] // ERROR "illegal combination"
MOVB $0xff(R0), R1 // ERROR "illegal combination"
MOVH $0xff(R0), R1 // ERROR "illegal combination"
MOVB $errors(SB), R2 // ERROR "illegal combination"
MOVH $errors(SB), R2 // ERROR "illegal combination"
MOVB F0, R0 // ERROR "illegal combination"
MOVH F0, R0 // ERROR "illegal combination"
MOVB R0, F0 // ERROR "illegal combination"
MOVH R0, F0 // ERROR "illegal combination"
MOVB R0>>0(R1), R2 // ERROR "bad shift"
MOVB R0->0(R1), R2 // ERROR "bad shift"
MOVB R0@>0(R1), R2 // ERROR "bad shift"
MOVBS R0>>0(R1), R2 // ERROR "bad shift"
MOVBS R0->0(R1), R2 // ERROR "bad shift"
MOVBS R0@>0(R1), R2 // ERROR "bad shift"
MOVF CPSR, F1 // ERROR "illegal combination"
MOVD R1, CPSR // ERROR "illegal combination"
MOVW F1, F2 // ERROR "illegal combination"
MOVB F1, F2 // ERROR "illegal combination"
MOVH F1, F2 // ERROR "illegal combination"
MOVF R1, F2 // ERROR "illegal combination"
MOVD R1, F2 // ERROR "illegal combination"
MOVF R1, R1 // ERROR "illegal combination"
MOVD R1, R2 // ERROR "illegal combination"
MOVFW R1, R2 // ERROR "illegal combination"
MOVDW R1, R2 // ERROR "illegal combination"
MOVWF R1, R2 // ERROR "illegal combination"
MOVWD R1, R2 // ERROR "illegal combination"
MOVWD CPSR, R2 // ERROR "illegal combination"
MOVWF CPSR, R2 // ERROR "illegal combination"
MOVWD R1, CPSR // ERROR "illegal combination"
MOVWF R1, CPSR // ERROR "illegal combination"
MOVDW CPSR, R2 // ERROR "illegal combination"
MOVFW CPSR, R2 // ERROR "illegal combination"
MOVDW R1, CPSR // ERROR "illegal combination"
MOVFW R1, CPSR // ERROR "illegal combination"
END