104 lines · plain
1# Instructions that are invalid.2#3# RUN: not llvm-mc %s -triple mips-unknown-linux-gnu -mcpu=mips32r5 -mattr=+virt 2>%t14# RUN: FileCheck %s < %t15# RUN: not llvm-mc %s -triple mips64-unknown-linux-gnu -mcpu=mips64r5 -mattr=+virt 2>%t16# RUN: FileCheck %s < %t17# RUN: not llvm-mc %s -triple mips-unknown-linux-gnu -mcpu=mips32r5 -mattr=+micromips,+virt 2>%t18# RUN: FileCheck %s < %t19 10 mfgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction11 mfgc0 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction12 mfgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction13 mfgc0 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction14 mfgc0 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction15 mfgc0 $4, 0, $5 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction16 mfgc0 $4, $5, 8 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate17 mfgc0 $4, $5, -1 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate18 mfgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:18: error: invalid operand for instruction19 mtgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction20 mtgc0 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction21 mtgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction22 mtgc0 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction23 mtgc0 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction24 mtgc0 $4, 0, $5 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction25 mtgc0 $4, $5, 8 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate26 mtgc0 $4, $5, -1 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate27 mtgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:18: error: invalid operand for instruction28 mfhgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction29 mfhgc0 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction30 mfhgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction31 mfhgc0 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction32 mfhgc0 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction33 mfhgc0 $4, 0, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction34 mfhgc0 $4, $5, 8 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate35 mfhgc0 $4, $5, -1 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate36 mfhgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction37 mthgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction38 mthgc0 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction39 mthgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction40 mthgc0 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction41 mthgc0 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction42 mthgc0 $4, 0, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction43 mthgc0 $4, $5, 8 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate44 mthgc0 $4, $5, -1 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate45 mthgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction46 hypcall $4 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate47 hypcall 0, $4 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction48 hypcall 0, $4, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction49 hypcall $4, 0, $5 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate50 hypcall $4, $5, 8 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate51 hypcall $4, $5, -1 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate52 hypcall $4, $5, 0($4) # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate53 hypcall 2048 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate54 hypcall -1 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate55 hypcall 0($4) # CHECK: :[[@LINE]]:12: error: unexpected token in argument list56 tlbginv 0 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction57 tlbginv $4 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction58 tlbginv 0, $4 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction59 tlbginv 0, $4, $5 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction60 tlbginv $4, 0, $5 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction61 tlbginv $4, $5, 8 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction62 tlbginv $4, $5, -1 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction63 tlbginv $4, $5, 0($4) # CHECK: :[[@LINE]]:11: error: invalid operand for instruction64 tlbginvf 0 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction65 tlbginvf $4 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction66 tlbginvf 0, $4 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction67 tlbginvf 0, $4, $5 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction68 tlbginvf $4, 0, $5 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction69 tlbginvf $4, $5, 8 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction70 tlbginvf $4, $5, -1 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction71 tlbginvf $4, $5, 0($4) # CHECK: :[[@LINE]]:12: error: invalid operand for instruction72 tlbgp 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction73 tlbgp $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction74 tlbgp 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction75 tlbgp 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction76 tlbgp $4, 0, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction77 tlbgp $4, $5, 8 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction78 tlbgp $4, $5, -1 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction79 tlbgp $4, $5, 0($4) # CHECK: :[[@LINE]]:9: error: invalid operand for instruction80 tlbgr 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction81 tlbgr $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction82 tlbgr 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction83 tlbgr 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction84 tlbgr $4, 0, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction85 tlbgr $4, $5, 8 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction86 tlbgr $4, $5, -1 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction87 tlbgr $4, $5, 0($4) # CHECK: :[[@LINE]]:9: error: invalid operand for instruction88 tlbgwi 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction89 tlbgwi $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction90 tlbgwi 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction91 tlbgwi 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction92 tlbgwi $4, 0, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction93 tlbgwi $4, $5, 8 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction94 tlbgwi $4, $5, -1 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction95 tlbgwi $4, $5, 0($4) # CHECK: :[[@LINE]]:10: error: invalid operand for instruction96 tlbgwr 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction97 tlbgwr $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction98 tlbgwr 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction99 tlbgwr 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction100 tlbgwr $4, 0, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction101 tlbgwr $4, $5, 8 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction102 tlbgwr $4, $5, -1 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction103 tlbgwr $4, $5, 0($4) # CHECK: :[[@LINE]]:10: error: invalid operand for instruction104