diff options
author | Craig Topper <craig.topper@gmail.com> | 2015-01-25 02:21:16 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2015-01-25 02:21:16 +0000 |
commit | 53a846764cdd68b5187f15e3b4d5e5758053bcf1 (patch) | |
tree | a0ac7e99c6eb01903a9104ede4bd35a8b3c668a2 /llvm/utils | |
parent | fc946a0e6f2774e02d37ae84144c6ac2cc5d05f4 (diff) | |
download | bcm5719-llvm-53a846764cdd68b5187f15e3b4d5e5758053bcf1.tar.gz bcm5719-llvm-53a846764cdd68b5187f15e3b4d5e5758053bcf1.zip |
[X86] Replace i32i8imm on SSE/AVX instructions with i32u8imm which will make the assembler bounds check them. It will also make them print as unsigned.
llvm-svn: 227032
Diffstat (limited to 'llvm/utils')
-rw-r--r-- | llvm/utils/TableGen/X86RecognizableInstr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp index 4f23db0908d..88d5cfbdbdf 100644 --- a/llvm/utils/TableGen/X86RecognizableInstr.cpp +++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp @@ -933,6 +933,7 @@ OperandType RecognizableInstr::typeFromString(const std::string &s, TYPE("i8mem", TYPE_M8) TYPE("i8imm", TYPE_IMM8) TYPE("u8imm", TYPE_UIMM8) + TYPE("i32u8imm", TYPE_UIMM8) TYPE("GR8", TYPE_R8) TYPE("VR128", TYPE_XMM128) TYPE("VR128X", TYPE_XMM128) @@ -1044,6 +1045,7 @@ RecognizableInstr::immediateEncodingFromString(const std::string &s, ENCODING("i64i8imm", ENCODING_IB) ENCODING("i8imm", ENCODING_IB) ENCODING("u8imm", ENCODING_IB) + ENCODING("i32u8imm", ENCODING_IB) // This is not a typo. Instructions like BLENDVPD put // register IDs in 8-bit immediates nowadays. ENCODING("FR32", ENCODING_IB) @@ -1213,6 +1215,7 @@ RecognizableInstr::relocationEncodingFromString(const std::string &s, ENCODING("i64i8imm", ENCODING_IB) ENCODING("i8imm", ENCODING_IB) ENCODING("u8imm", ENCODING_IB) + ENCODING("i32u8imm", ENCODING_IB) ENCODING("i64i32imm_pcrel", ENCODING_ID) ENCODING("i16imm_pcrel", ENCODING_IW) ENCODING("i32imm_pcrel", ENCODING_ID) |