1 # Instructions that are invalid. 2 # 3 # RUN: not llvm-mc %s -arch=mips -mcpu=mips32r5 -mattr=+virt 2>%t1 4 # RUN: FileCheck %s < %t1 5 # RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64r5 -mattr=+virt 2>%t1 6 # RUN: FileCheck %s < %t1 7 # RUN: not llvm-mc %s -arch=mips -mcpu=mips32r5 -mattr=+micromips,+virt 2>%t1 8 # RUN: FileCheck %s < %t1 9 10 mfgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 11 mfgc0 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 12 mfgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 13 mfgc0 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 14 mfgc0 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 15 mfgc0 $4, 0, $5 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction 16 mfgc0 $4, $5, 8 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate 17 mfgc0 $4, $5, -1 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate 18 mfgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:18: error: invalid operand for instruction 19 mtgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 20 mtgc0 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 21 mtgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 22 mtgc0 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 23 mtgc0 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 24 mtgc0 $4, 0, $5 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction 25 mtgc0 $4, $5, 8 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate 26 mtgc0 $4, $5, -1 # CHECK: :[[@LINE]]:17: error: expected 3-bit unsigned immediate 27 mtgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:18: error: invalid operand for instruction 28 mfhgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 29 mfhgc0 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 30 mfhgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 31 mfhgc0 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 32 mfhgc0 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 33 mfhgc0 $4, 0, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction 34 mfhgc0 $4, $5, 8 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate 35 mfhgc0 $4, $5, -1 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate 36 mfhgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 37 mthgc0 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 38 mthgc0 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 39 mthgc0 $4 # CHECK: :[[@LINE]]:3: error: too few operands for instruction 40 mthgc0 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 41 mthgc0 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 42 mthgc0 $4, 0, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction 43 mthgc0 $4, $5, 8 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate 44 mthgc0 $4, $5, -1 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate 45 mthgc0 $4, $5, 0($4) # CHECK: :[[@LINE]]:19: error: invalid operand for instruction 46 hypcall $4 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 47 hypcall 0, $4 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction 48 hypcall 0, $4, $5 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction 49 hypcall $4, 0, $5 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 50 hypcall $4, $5, 8 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 51 hypcall $4, $5, -1 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 52 hypcall $4, $5, 0($4) # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 53 hypcall 2048 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 54 hypcall -1 # CHECK: :[[@LINE]]:11: error: expected 10-bit unsigned immediate 55 hypcall 0($4) # CHECK: :[[@LINE]]:12: error: unexpected token in argument list 56 tlbginv 0 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 57 tlbginv $4 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 58 tlbginv 0, $4 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 59 tlbginv 0, $4, $5 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 60 tlbginv $4, 0, $5 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 61 tlbginv $4, $5, 8 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 62 tlbginv $4, $5, -1 # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 63 tlbginv $4, $5, 0($4) # CHECK: :[[@LINE]]:11: error: invalid operand for instruction 64 tlbginvf 0 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 65 tlbginvf $4 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 66 tlbginvf 0, $4 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 67 tlbginvf 0, $4, $5 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 68 tlbginvf $4, 0, $5 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 69 tlbginvf $4, $5, 8 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 70 tlbginvf $4, $5, -1 # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 71 tlbginvf $4, $5, 0($4) # CHECK: :[[@LINE]]:12: error: invalid operand for instruction 72 tlbgp 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 73 tlbgp $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 74 tlbgp 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 75 tlbgp 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 76 tlbgp $4, 0, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 77 tlbgp $4, $5, 8 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 78 tlbgp $4, $5, -1 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 79 tlbgp $4, $5, 0($4) # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 80 tlbgr 0 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 81 tlbgr $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 82 tlbgr 0, $4 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 83 tlbgr 0, $4, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 84 tlbgr $4, 0, $5 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 85 tlbgr $4, $5, 8 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 86 tlbgr $4, $5, -1 # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 87 tlbgr $4, $5, 0($4) # CHECK: :[[@LINE]]:9: error: invalid operand for instruction 88 tlbgwi 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 89 tlbgwi $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 90 tlbgwi 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 91 tlbgwi 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 92 tlbgwi $4, 0, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 93 tlbgwi $4, $5, 8 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 94 tlbgwi $4, $5, -1 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 95 tlbgwi $4, $5, 0($4) # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 96 tlbgwr 0 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 97 tlbgwr $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 98 tlbgwr 0, $4 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 99 tlbgwr 0, $4, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 100 tlbgwr $4, 0, $5 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 101 tlbgwr $4, $5, 8 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 102 tlbgwr $4, $5, -1 # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 103 tlbgwr $4, $5, 0($4) # CHECK: :[[@LINE]]:10: error: invalid operand for instruction 104