aboutsummaryrefslogtreecommitdiff
path: root/utils/TableGen/EDEmitter.cpp
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2011-07-27 23:01:50 +0000
committerKevin Enderby <enderby@apple.com>2011-07-27 23:01:50 +0000
commitc37d4bbf1f33c5e4b1c2f1bf1a6e2cae2ae5603a (patch)
treefcbda9c4873cb87eeb09ba0f65e1eaf73b3387bf /utils/TableGen/EDEmitter.cpp
parentfc2eb31a3c054f9611a2e88238fbb5a8842064a6 (diff)
Fix llvm-mc handing of x86 instructions that take 8-bit unsigned immediates.
llvm-mc gives an "invalid operand" error for instructions that take an unsigned immediate which have the high bit set such as: pblendw $0xc5, %xmm2, %xmm1 llvm-mc treats all x86 immediates as signed values and range checks them. A small number of x86 instructions use the imm8 field as a set of bits. This change only changes those instructions and where the high bit is not ignored. The others remain unchanged. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136287 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/EDEmitter.cpp')
-rw-r--r--utils/TableGen/EDEmitter.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/TableGen/EDEmitter.cpp b/utils/TableGen/EDEmitter.cpp
index db1b67f451..ce01e9c028 100644
--- a/utils/TableGen/EDEmitter.cpp
+++ b/utils/TableGen/EDEmitter.cpp
@@ -279,6 +279,7 @@ static int X86TypeFromOpName(LiteralConstantEmitter *type,
IMM("i16i8imm");
IMM("i32imm");
IMM("i32i8imm");
+ IMM("u32u8imm");
IMM("i64imm");
IMM("i64i8imm");
IMM("i64i32imm");