summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2016-03-24 14:53:40 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2016-03-24 14:53:40 +0000
commit15f8fb6f83c01606acecaad4c8a3341c29e712e0 (patch)
treec6f2c955d7fdd99d26aaeb863577cda06fbcbde6 /llvm/lib
parent6af7700ddfdbd8fa2967c18967c6cc24eb00d3e4 (diff)
downloadbcm5719-llvm-15f8fb6f83c01606acecaad4c8a3341c29e712e0.tar.gz
bcm5719-llvm-15f8fb6f83c01606acecaad4c8a3341c29e712e0.zip
[mips] Range check vsplat_simm5 and vsplat_simm10
Summary: Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D18177 llvm-svn: 264287
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/MipsInstrInfo.td6
-rw-r--r--llvm/lib/Target/Mips/MipsMSAInstrInfo.td5
2 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/Target/Mips/MipsInstrInfo.td b/llvm/lib/Target/Mips/MipsInstrInfo.td
index cb1f705e2f8..02c7a590747 100644
--- a/llvm/lib/Target/Mips/MipsInstrInfo.td
+++ b/llvm/lib/Target/Mips/MipsInstrInfo.td
@@ -755,6 +755,12 @@ foreach I = {10} in
!cast<AsmOperandClass>("ConstantSImm" # I # "AsmOperandClass");
}
+foreach I = {5, 10} in
+ def vsplat_simm # I : Operand<vAny> {
+ let ParserMatchClass =
+ !cast<AsmOperandClass>("ConstantSImm" # I # "AsmOperandClass");
+ }
+
def simm7_lsl2 : Operand<OtherVT> {
let EncoderMethod = "getSImm7Lsl2Encoding";
let DecoderMethod = "DecodeSImmWithOffsetAndScale<" # I # ", 0, 4>";
diff --git a/llvm/lib/Target/Mips/MipsMSAInstrInfo.td b/llvm/lib/Target/Mips/MipsMSAInstrInfo.td
index 89e530b8e10..9c33eeaa530 100644
--- a/llvm/lib/Target/Mips/MipsMSAInstrInfo.td
+++ b/llvm/lib/Target/Mips/MipsMSAInstrInfo.td
@@ -70,11 +70,6 @@ def immZExt4Ptr : ImmLeaf<iPTR, [{return isUInt<4>(Imm);}]>;
// Operands
-
-def vsplat_simm5 : Operand<vAny>;
-
-def vsplat_simm10 : Operand<vAny>;
-
def immZExt2Lsa : ImmLeaf<i32, [{return isUInt<2>(Imm - 1);}]>;
// Pattern fragments
OpenPOWER on IntegriCloud