mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
0510f66dad
This includes Instructions: crc32b, crc32h, crc32w, crc32d, crc32cb, crc32ch, crc32cw, crc32cd Assembler directives: .set crc, .set nocrc, .module crc, .module nocrc Attribute: crc .MIPS.abiflags: CRC (0x8000) Patch by Vladimir Stefanovic. Differential Revision: https://reviews.llvm.org/D44176 llvm-svn: 327511
66 lines
4.6 KiB
ArmAsm
66 lines
4.6 KiB
ArmAsm
# Instructions that are invalid.
|
|
#
|
|
# RUN: not llvm-mc %s -arch=mips -mcpu=mips32r6 -mattr=+crc 2>%t1
|
|
# RUN: FileCheck %s < %t1
|
|
# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64r6 -mattr=+crc 2>%t1
|
|
# RUN: FileCheck %s < %t1
|
|
|
|
.set noat
|
|
crc32b $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32b $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32b $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
crc32b $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction
|
|
crc32b 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
|
|
crc32b $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32b $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32b $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
|
|
crc32h $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32h $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32h $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
crc32h $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction
|
|
crc32h 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
|
|
crc32h $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32h $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32h $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
|
|
crc32w $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32w $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32w $1, $2, 2 # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
crc32w $1, 2, $2 # CHECK: :[[@LINE]]:15: error: invalid operand for instruction
|
|
crc32w 1, $2, $2 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
|
|
crc32w $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32w $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32w $1, $2, 0($2) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction
|
|
|
|
crc32cb $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32cb $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32cb $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
crc32cb $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction
|
|
crc32cb 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction
|
|
crc32cb $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32cb $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32cb $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
|
|
crc32ch $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32ch $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32ch $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
crc32ch $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction
|
|
crc32ch 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction
|
|
crc32ch $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32ch $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32ch $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
|
|
crc32cw $1, $2, $2 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32cw $1, $2, $3 # CHECK: :[[@LINE]]:3: error: source and destination must match
|
|
crc32cw $1, $2, 2 # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
crc32cw $1, 2, $2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction
|
|
crc32cw 1, $2, $2 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction
|
|
crc32cw $1, $2 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32cw $1 # CHECK: :[[@LINE]]:3: error: too few operands for instruction
|
|
crc32cw $1, $2, 0($2) # CHECK: :[[@LINE]]:20: error: invalid operand for instruction
|
|
|
|
crc32 $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction
|
|
crcb $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction
|
|
crc $1, $2, $2 # CHECK: :[[@LINE]]:3: error: unknown instruction
|