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