| Index: src/assembler_ia32.cpp
|
| diff --git a/src/assembler_ia32.cpp b/src/assembler_ia32.cpp
|
| index 8857a57cdce6b9040dc57d6b98d7a8452dbae398..b6601cc2267dd2062f8ef9a67d1075ee4577e2bb 100644
|
| --- a/src/assembler_ia32.cpp
|
| +++ b/src/assembler_ia32.cpp
|
| @@ -60,8 +60,7 @@ Address Address::ofConstPool(GlobalContext *Ctx, Assembler *Asm,
|
| StrBuf << ".L$" << Ty << "$" << Imm->getPoolEntryID();
|
| const RelocOffsetT Offset = 0;
|
| const bool SuppressMangling = true;
|
| - Constant *Sym =
|
| - Ctx->getConstantSym(Ty, Offset, StrBuf.str(), SuppressMangling);
|
| + Constant *Sym = Ctx->getConstantSym(Offset, StrBuf.str(), SuppressMangling);
|
| AssemblerFixup *Fixup = x86::DisplacementRelocation::create(
|
| Asm, FK_Abs_4, llvm::cast<ConstantRelocatable>(Sym));
|
| return x86::Address::Absolute(Fixup);
|
| @@ -960,7 +959,7 @@ void AssemblerX86::shufps(XmmRegister dst, XmmRegister src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0xC6);
|
| EmitXmmRegisterOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -971,7 +970,7 @@ void AssemblerX86::pshufd(Type /* Ty */, XmmRegister dst, XmmRegister src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0x70);
|
| EmitXmmRegisterOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -982,7 +981,7 @@ void AssemblerX86::pshufd(Type /* Ty */, XmmRegister dst, const Address &src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0x70);
|
| EmitOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -992,7 +991,7 @@ void AssemblerX86::shufps(Type /* Ty */, XmmRegister dst, XmmRegister src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0xC6);
|
| EmitXmmRegisterOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -1002,7 +1001,7 @@ void AssemblerX86::shufps(Type /* Ty */, XmmRegister dst, const Address &src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0xC6);
|
| EmitOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -1037,7 +1036,7 @@ void AssemblerX86::shufpd(XmmRegister dst, XmmRegister src,
|
| EmitUint8(0x0F);
|
| EmitUint8(0xC6);
|
| EmitXmmRegisterOperand(dst, src);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| EmitUint8(imm.value());
|
| }
|
|
|
| @@ -1232,7 +1231,7 @@ void AssemblerX86::andpd(XmmRegister dst, XmmRegister src) {
|
| void AssemblerX86::insertps(Type Ty, XmmRegister dst, XmmRegister src,
|
| const Immediate &imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| assert(isVectorFloatingType(Ty));
|
| (void)Ty;
|
| EmitUint8(0x66);
|
| @@ -1246,7 +1245,7 @@ void AssemblerX86::insertps(Type Ty, XmmRegister dst, XmmRegister src,
|
| void AssemblerX86::insertps(Type Ty, XmmRegister dst, const Address &src,
|
| const Immediate &imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| assert(isVectorFloatingType(Ty));
|
| (void)Ty;
|
| EmitUint8(0x66);
|
| @@ -1260,7 +1259,7 @@ void AssemblerX86::insertps(Type Ty, XmmRegister dst, const Address &src,
|
| void AssemblerX86::pinsr(Type Ty, XmmRegister dst, GPRRegister src,
|
| const Immediate &imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| if (Ty == IceType_i16) {
|
| EmitUint8(0x66);
|
| EmitUint8(0x0F);
|
| @@ -1280,7 +1279,7 @@ void AssemblerX86::pinsr(Type Ty, XmmRegister dst, GPRRegister src,
|
| void AssemblerX86::pinsr(Type Ty, XmmRegister dst, const Address &src,
|
| const Immediate &imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| if (Ty == IceType_i16) {
|
| EmitUint8(0x66);
|
| EmitUint8(0x0F);
|
| @@ -1300,7 +1299,7 @@ void AssemblerX86::pinsr(Type Ty, XmmRegister dst, const Address &src,
|
| void AssemblerX86::pextr(Type Ty, GPRRegister dst, XmmRegister src,
|
| const Immediate &imm) {
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| - assert(imm.is_uint8());
|
| + assert(imm.is_int8());
|
| if (Ty == IceType_i16) {
|
| EmitUint8(0x66);
|
| EmitUint8(0x0F);
|
| @@ -1522,7 +1521,7 @@ void AssemblerX86::test(Type Ty, GPRRegister reg, const Immediate &immediate) {
|
| // This is legal even if the register had high bits set since
|
| // this only sets flags registers based on the "AND" of the two operands,
|
| // and the immediate had zeros at those high bits.
|
| - if (immediate.is_uint8() && reg < 4) {
|
| + if (immediate.is_int8() && reg < 4) {
|
| // Use zero-extended 8-bit immediate.
|
| if (reg == RegX8632::Encoded_Reg_eax) {
|
| EmitUint8(0xA8);
|
| @@ -1551,7 +1550,7 @@ void AssemblerX86::test(Type Ty, const Address &addr,
|
| AssemblerBuffer::EnsureCapacity ensured(&buffer_);
|
| // If the immediate is short, we only test the byte addr to keep the
|
| // encoding short.
|
| - if (immediate.is_uint8()) {
|
| + if (immediate.is_int8()) {
|
| // Use zero-extended 8-bit immediate.
|
| EmitUint8(0xF6);
|
| EmitOperand(0, addr);
|
|
|