47 lines · plain
1# Instructions that are valid for the current ISA but should be rejected by the assembler (e.g.2# invalid set of operands or operand's restrictions not met).3 4# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 2>%t15# RUN: FileCheck %s < %t16 7 .text8 .set noreorder9 addiu $2, $3, -32769 # CHECK: :[[@LINE]]:23: error: expected 16-bit signed immediate10 addiu $2, $3, 65536 # CHECK: :[[@LINE]]:23: error: expected 16-bit signed immediate11 andi $2, $3, -1 # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate12 andi $2, $3, 65536 # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate13 cache -1, 255($7) # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate14 cache 32, 255($7) # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate15 # FIXME: Check '0 < pos + size <= 32' constraint on ext16 ext $2, $3, -1, 1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate17 ext $2, $3, 32, 1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate18 ext $2, $3, 1, 0 # CHECK: :[[@LINE]]:24: error: expected immediate in range 1 .. 3219 ext $2, $3, 1, 33 # CHECK: :[[@LINE]]:24: error: expected immediate in range 1 .. 3220 # FIXME: Check size on ins21 ins $2, $3, -1, 1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate22 ins $2, $3, 32, 1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate23 jalr.hb $31 # CHECK: :[[@LINE]]:9: error: source and destination must be different24 jalr.hb $31, $31 # CHECK: :[[@LINE]]:9: error: source and destination must be different25 lwc2 $2, -32769($3) # CHECK: :[[@LINE]]:18: error: expected memory with 16-bit signed offset26 lwc2 $2, 32768($3) # CHECK: :[[@LINE]]:18: error: expected memory with 16-bit signed offset27 ori $2, $3, -1 # CHECK: :[[@LINE]]:21: error: expected 16-bit unsigned immediate28 ori $2, $3, 65536 # CHECK: :[[@LINE]]:21: error: expected 16-bit unsigned immediate29 pref -1, 255($7) # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate30 pref 32, 255($7) # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate31 sdbbp -1 # CHECK: :[[@LINE]]:15: error: expected 20-bit unsigned immediate32 sdbbp 1048576 # CHECK: :[[@LINE]]:15: error: expected 20-bit unsigned immediate33 sll $2, $3, -1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate34 sll $2, $3, 32 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate35 srl $2, $3, -1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate36 srl $2, $3, 32 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate37 sra $2, $3, -1 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate38 sra $2, $3, 32 # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate39 sync -1 # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate40 sync 32 # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate41 syscall -1 # CHECK: :[[@LINE]]:17: error: expected 20-bit unsigned immediate42 syscall 1048576 # CHECK: :[[@LINE]]:17: error: expected 20-bit unsigned immediate43 rotr $2, $3, -1 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate44 rotr $2, $3, 32 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate45 xori $2, $3, -1 # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate46 xori $2, $3, 65536 # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate47