| Index: src/IceTargetLoweringX8632.cpp
 | 
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
 | 
| index 82d20b422e22c7829a6f248469f88a0fd00c53bd..456fb3567aa227b1c335c2b45aa75efd042cc99e 100644
 | 
| --- a/src/IceTargetLoweringX8632.cpp
 | 
| +++ b/src/IceTargetLoweringX8632.cpp
 | 
| @@ -618,8 +618,7 @@ void TargetX8632::finishArgumentLowering(Variable *Arg, Variable *FramePtr,
 | 
|    if (Arg->hasReg()) {
 | 
|      assert(Ty != IceType_i64);
 | 
|      OperandX8632Mem *Mem = OperandX8632Mem::create(
 | 
| -        Func, Ty, FramePtr,
 | 
| -        Ctx->getConstantInt32(IceType_i32, Arg->getStackOffset()));
 | 
| +        Func, Ty, FramePtr, Ctx->getConstantInt32(Arg->getStackOffset()));
 | 
|      if (isVectorType(Arg->getType())) {
 | 
|        _movp(Arg, Mem);
 | 
|      } else {
 | 
| @@ -839,7 +838,7 @@ void TargetX8632::addProlog(CfgNode *Node) {
 | 
|    // Generate "sub esp, SpillAreaSizeBytes"
 | 
|    if (SpillAreaSizeBytes)
 | 
|      _sub(getPhysicalRegister(RegX8632::Reg_esp),
 | 
| -         Ctx->getConstantInt32(IceType_i32, SpillAreaSizeBytes));
 | 
| +         Ctx->getConstantInt32(SpillAreaSizeBytes));
 | 
|    Ctx->statsUpdateFrameBytes(SpillAreaSizeBytes);
 | 
|  
 | 
|    resetStackAdjustment();
 | 
| @@ -951,7 +950,7 @@ void TargetX8632::addEpilog(CfgNode *Node) {
 | 
|    } else {
 | 
|      // add esp, SpillAreaSizeBytes
 | 
|      if (SpillAreaSizeBytes)
 | 
| -      _add(esp, Ctx->getConstantInt32(IceType_i32, SpillAreaSizeBytes));
 | 
| +      _add(esp, Ctx->getConstantInt32(SpillAreaSizeBytes));
 | 
|    }
 | 
|  
 | 
|    // Add pop instructions for preserved registers.
 | 
| @@ -1069,8 +1068,7 @@ Operand *TargetX8632::loOperand(Operand *Operand) {
 | 
|      return Var->getLo();
 | 
|    }
 | 
|    if (ConstantInteger64 *Const = llvm::dyn_cast<ConstantInteger64>(Operand)) {
 | 
| -    return Ctx->getConstantInt32(IceType_i32,
 | 
| -                                 static_cast<uint32_t>(Const->getValue()));
 | 
| +    return Ctx->getConstantInt32(static_cast<uint32_t>(Const->getValue()));
 | 
|    }
 | 
|    if (OperandX8632Mem *Mem = llvm::dyn_cast<OperandX8632Mem>(Operand)) {
 | 
|      return OperandX8632Mem::create(Func, IceType_i32, Mem->getBase(),
 | 
| @@ -1091,20 +1089,20 @@ Operand *TargetX8632::hiOperand(Operand *Operand) {
 | 
|    }
 | 
|    if (ConstantInteger64 *Const = llvm::dyn_cast<ConstantInteger64>(Operand)) {
 | 
|      return Ctx->getConstantInt32(
 | 
| -        IceType_i32, static_cast<uint32_t>(Const->getValue() >> 32));
 | 
| +        static_cast<uint32_t>(Const->getValue() >> 32));
 | 
|    }
 | 
|    if (OperandX8632Mem *Mem = llvm::dyn_cast<OperandX8632Mem>(Operand)) {
 | 
|      Constant *Offset = Mem->getOffset();
 | 
|      if (Offset == NULL)
 | 
| -      Offset = Ctx->getConstantInt32(IceType_i32, 4);
 | 
| +      Offset = Ctx->getConstantInt32(4);
 | 
|      else if (ConstantInteger32 *IntOffset =
 | 
|                   llvm::dyn_cast<ConstantInteger32>(Offset)) {
 | 
| -      Offset = Ctx->getConstantInt32(IceType_i32, 4 + IntOffset->getValue());
 | 
| +      Offset = Ctx->getConstantInt32(4 + IntOffset->getValue());
 | 
|      } else if (ConstantRelocatable *SymOffset =
 | 
|                     llvm::dyn_cast<ConstantRelocatable>(Offset)) {
 | 
|        assert(!Utils::WouldOverflowAdd(SymOffset->getOffset(), 4));
 | 
| -      Offset = Ctx->getConstantSym(IceType_i32, 4 + SymOffset->getOffset(),
 | 
| -                                   SymOffset->getName());
 | 
| +      Offset =
 | 
| +          Ctx->getConstantSym(4 + SymOffset->getOffset(), SymOffset->getName());
 | 
|      }
 | 
|      return OperandX8632Mem::create(Func, IceType_i32, Mem->getBase(), Offset,
 | 
|                                     Mem->getIndex(), Mem->getShift(),
 | 
| @@ -1168,20 +1166,20 @@ void TargetX8632::lowerAlloca(const InstAlloca *Inst) {
 | 
|  
 | 
|    uint32_t Alignment = std::max(AlignmentParam, X86_STACK_ALIGNMENT_BYTES);
 | 
|    if (Alignment > X86_STACK_ALIGNMENT_BYTES) {
 | 
| -    _and(esp, Ctx->getConstantInt32(IceType_i32, -Alignment));
 | 
| +    _and(esp, Ctx->getConstantInt32(-Alignment));
 | 
|    }
 | 
|    if (ConstantInteger32 *ConstantTotalSize =
 | 
|            llvm::dyn_cast<ConstantInteger32>(TotalSize)) {
 | 
|      uint32_t Value = ConstantTotalSize->getValue();
 | 
|      Value = applyAlignment(Value, Alignment);
 | 
| -    _sub(esp, Ctx->getConstantInt32(IceType_i32, Value));
 | 
| +    _sub(esp, Ctx->getConstantInt32(Value));
 | 
|    } else {
 | 
|      // Non-constant sizes need to be adjusted to the next highest
 | 
|      // multiple of the required alignment at runtime.
 | 
|      Variable *T = makeReg(IceType_i32);
 | 
|      _mov(T, TotalSize);
 | 
| -    _add(T, Ctx->getConstantInt32(IceType_i32, Alignment - 1));
 | 
| -    _and(T, Ctx->getConstantInt32(IceType_i32, -Alignment));
 | 
| +    _add(T, Ctx->getConstantInt32(Alignment - 1));
 | 
| +    _and(T, Ctx->getConstantInt32(-Alignment));
 | 
|      _sub(esp, T);
 | 
|    }
 | 
|    _mov(Dest, esp);
 | 
| @@ -1291,7 +1289,7 @@ void TargetX8632::lowerArithmetic(const InstArithmetic *Inst) {
 | 
|        //   a.lo = t2
 | 
|        //   a.hi = t3
 | 
|        Variable *T_1 = NULL, *T_2 = NULL, *T_3 = NULL;
 | 
| -      Constant *BitTest = Ctx->getConstantInt32(IceType_i32, 0x20);
 | 
| +      Constant *BitTest = Ctx->getConstantInt32(0x20);
 | 
|        Constant *Zero = Ctx->getConstantZero(IceType_i32);
 | 
|        InstX8632Label *Label = InstX8632Label::create(Func, this);
 | 
|        _mov(T_1, Src1Lo, RegX8632::Reg_ecx);
 | 
| @@ -1326,7 +1324,7 @@ void TargetX8632::lowerArithmetic(const InstArithmetic *Inst) {
 | 
|        //   a.lo = t2
 | 
|        //   a.hi = t3
 | 
|        Variable *T_1 = NULL, *T_2 = NULL, *T_3 = NULL;
 | 
| -      Constant *BitTest = Ctx->getConstantInt32(IceType_i32, 0x20);
 | 
| +      Constant *BitTest = Ctx->getConstantInt32(0x20);
 | 
|        Constant *Zero = Ctx->getConstantZero(IceType_i32);
 | 
|        InstX8632Label *Label = InstX8632Label::create(Func, this);
 | 
|        _mov(T_1, Src1Lo, RegX8632::Reg_ecx);
 | 
| @@ -1361,8 +1359,8 @@ void TargetX8632::lowerArithmetic(const InstArithmetic *Inst) {
 | 
|        //   a.lo = t2
 | 
|        //   a.hi = t3
 | 
|        Variable *T_1 = NULL, *T_2 = NULL, *T_3 = NULL;
 | 
| -      Constant *BitTest = Ctx->getConstantInt32(IceType_i32, 0x20);
 | 
| -      Constant *SignExtend = Ctx->getConstantInt32(IceType_i32, 0x1f);
 | 
| +      Constant *BitTest = Ctx->getConstantInt32(0x20);
 | 
| +      Constant *SignExtend = Ctx->getConstantInt32(0x1f);
 | 
|        InstX8632Label *Label = InstX8632Label::create(Func, this);
 | 
|        _mov(T_1, Src1Lo, RegX8632::Reg_ecx);
 | 
|        _mov(T_2, Src0Lo);
 | 
| @@ -1483,7 +1481,7 @@ void TargetX8632::lowerArithmetic(const InstArithmetic *Inst) {
 | 
|          // Mask that directs pshufd to create a vector with entries
 | 
|          // Src[1, 0, 3, 0]
 | 
|          const unsigned Constant1030 = 0x31;
 | 
| -        Constant *Mask1030 = Ctx->getConstantInt32(IceType_i8, Constant1030);
 | 
| +        Constant *Mask1030 = Ctx->getConstantInt8(Constant1030);
 | 
|          // Mask that directs shufps to create a vector with entries
 | 
|          // Dest[0, 2], Src[0, 2]
 | 
|          const unsigned Mask0202 = 0x88;
 | 
| @@ -1499,8 +1497,8 @@ void TargetX8632::lowerArithmetic(const InstArithmetic *Inst) {
 | 
|          _pshufd(T3, Src1, Mask1030);
 | 
|          _pmuludq(T1, Src1);
 | 
|          _pmuludq(T2, T3);
 | 
| -        _shufps(T1, T2, Ctx->getConstantInt32(IceType_i8, Mask0202));
 | 
| -        _pshufd(T4, T1, Ctx->getConstantInt32(IceType_i8, Mask0213));
 | 
| +        _shufps(T1, T2, Ctx->getConstantInt8(Mask0202));
 | 
| +        _pshufd(T4, T1, Ctx->getConstantInt8(Mask0213));
 | 
|          _movp(Dest, T4);
 | 
|        } else {
 | 
|          assert(Dest->getType() == IceType_v16i8);
 | 
| @@ -1795,8 +1793,7 @@ void TargetX8632::lowerCall(const InstCall *Instr) {
 | 
|          ParameterAreaSizeBytes = applyStackAlignment(ParameterAreaSizeBytes);
 | 
|        }
 | 
|        Variable *esp = Func->getTarget()->getPhysicalRegister(RegX8632::Reg_esp);
 | 
| -      Constant *Loc =
 | 
| -          Ctx->getConstantInt32(IceType_i32, ParameterAreaSizeBytes);
 | 
| +      Constant *Loc = Ctx->getConstantInt32(ParameterAreaSizeBytes);
 | 
|        StackArgLocations.push_back(OperandX8632Mem::create(Func, Ty, esp, Loc));
 | 
|        ParameterAreaSizeBytes += typeWidthInBytesOnStack(Arg->getType());
 | 
|      }
 | 
| @@ -1888,7 +1885,7 @@ void TargetX8632::lowerCall(const InstCall *Instr) {
 | 
|    // of resetting the stack offset during emission.
 | 
|    if (ParameterAreaSizeBytes) {
 | 
|      Variable *esp = Func->getTarget()->getPhysicalRegister(RegX8632::Reg_esp);
 | 
| -    _add(esp, Ctx->getConstantInt32(IceType_i32, ParameterAreaSizeBytes));
 | 
| +    _add(esp, Ctx->getConstantInt32(ParameterAreaSizeBytes));
 | 
|    }
 | 
|  
 | 
|    // Insert a register-kill pseudo instruction.
 | 
| @@ -1965,8 +1962,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|          // width = width(elty) - 1; dest = (src << width) >> width
 | 
|          SizeT ShiftAmount =
 | 
|              X86_CHAR_BIT * typeWidthInBytes(typeElementType(DestTy)) - 1;
 | 
| -        Constant *ShiftConstant =
 | 
| -            Ctx->getConstantInt32(IceType_i8, ShiftAmount);
 | 
| +        Constant *ShiftConstant = Ctx->getConstantInt8(ShiftAmount);
 | 
|          Variable *T = makeReg(DestTy);
 | 
|          _movp(T, Src0RM);
 | 
|          _psll(T, ShiftConstant);
 | 
| @@ -1975,7 +1971,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|        }
 | 
|      } else if (Dest->getType() == IceType_i64) {
 | 
|        // t1=movsx src; t2=t1; t2=sar t2, 31; dst.lo=t1; dst.hi=t2
 | 
| -      Constant *Shift = Ctx->getConstantInt32(IceType_i32, 31);
 | 
| +      Constant *Shift = Ctx->getConstantInt32(31);
 | 
|        Variable *DestLo = llvm::cast<Variable>(loOperand(Dest));
 | 
|        Variable *DestHi = llvm::cast<Variable>(hiOperand(Dest));
 | 
|        Variable *T_Lo = makeReg(DestLo->getType());
 | 
| @@ -2001,7 +1997,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|        // sar t1, dst_bitwidth - 1
 | 
|        // dst = t1
 | 
|        size_t DestBits = X86_CHAR_BIT * typeWidthInBytes(Dest->getType());
 | 
| -      Constant *ShiftAmount = Ctx->getConstantInt32(IceType_i32, DestBits - 1);
 | 
| +      Constant *ShiftAmount = Ctx->getConstantInt32(DestBits - 1);
 | 
|        Variable *T = makeReg(Dest->getType());
 | 
|        if (typeWidthInBytes(Dest->getType()) <=
 | 
|            typeWidthInBytes(Src0RM->getType())) {
 | 
| @@ -2044,14 +2040,14 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|          _movzx(Tmp, Src0RM);
 | 
|        }
 | 
|        if (Src0RM->getType() == IceType_i1) {
 | 
| -        Constant *One = Ctx->getConstantInt32(IceType_i32, 1);
 | 
| +        Constant *One = Ctx->getConstantInt32(1);
 | 
|          _and(Tmp, One);
 | 
|        }
 | 
|        _mov(DestLo, Tmp);
 | 
|        _mov(DestHi, Zero);
 | 
|      } else if (Src0RM->getType() == IceType_i1) {
 | 
|        // t = Src0RM; t &= 1; Dest = t
 | 
| -      Constant *One = Ctx->getConstantInt32(IceType_i32, 1);
 | 
| +      Constant *One = Ctx->getConstantInt32(1);
 | 
|        Type DestTy = Dest->getType();
 | 
|        Variable *T;
 | 
|        if (DestTy == IceType_i8) {
 | 
| @@ -2091,7 +2087,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|        Variable *T = NULL;
 | 
|        _mov(T, Src0RM);
 | 
|        if (Dest->getType() == IceType_i1)
 | 
| -        _and(T, Ctx->getConstantInt32(IceType_i1, 1));
 | 
| +        _and(T, Ctx->getConstantInt1(1));
 | 
|        _mov(Dest, T);
 | 
|      }
 | 
|      break;
 | 
| @@ -2137,7 +2133,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|        _cvt(T_1, Src0RM, InstX8632Cvt::Tss2si);
 | 
|        _mov(T_2, T_1); // T_1 and T_2 may have different integer types
 | 
|        if (Dest->getType() == IceType_i1)
 | 
| -        _and(T_2, Ctx->getConstantInt32(IceType_i1, 1));
 | 
| +        _and(T_2, Ctx->getConstantInt1(1));
 | 
|        _mov(Dest, T_2);
 | 
|      }
 | 
|      break;
 | 
| @@ -2173,7 +2169,7 @@ void TargetX8632::lowerCast(const InstCast *Inst) {
 | 
|        _cvt(T_1, Src0RM, InstX8632Cvt::Tss2si);
 | 
|        _mov(T_2, T_1); // T_1 and T_2 may have different integer types
 | 
|        if (Dest->getType() == IceType_i1)
 | 
| -        _and(T_2, Ctx->getConstantInt32(IceType_i1, 1));
 | 
| +        _and(T_2, Ctx->getConstantInt1(1));
 | 
|        _mov(Dest, T_2);
 | 
|      }
 | 
|      break;
 | 
| @@ -2402,7 +2398,7 @@ void TargetX8632::lowerExtractElement(const InstExtractElement *Inst) {
 | 
|        Ty == IceType_v8i16 || Ty == IceType_v8i1 || InstructionSet >= SSE4_1;
 | 
|    if (CanUsePextr && Ty != IceType_v4f32) {
 | 
|      // Use pextrb, pextrw, or pextrd.
 | 
| -    Constant *Mask = Ctx->getConstantInt32(IceType_i8, Index);
 | 
| +    Constant *Mask = Ctx->getConstantInt8(Index);
 | 
|      Variable *SourceVectR = legalizeToVar(SourceVectNotLegalized);
 | 
|      _pextr(ExtractedElementR, SourceVectR, Mask);
 | 
|    } else if (Ty == IceType_v4i32 || Ty == IceType_v4f32 || Ty == IceType_v4i1) {
 | 
| @@ -2411,7 +2407,7 @@ void TargetX8632::lowerExtractElement(const InstExtractElement *Inst) {
 | 
|      if (Index) {
 | 
|        // The shuffle only needs to occur if the element to be extracted
 | 
|        // is not at the lowest index.
 | 
| -      Constant *Mask = Ctx->getConstantInt32(IceType_i8, Index);
 | 
| +      Constant *Mask = Ctx->getConstantInt8(Index);
 | 
|        T = makeReg(Ty);
 | 
|        _pshufd(T, legalize(SourceVectNotLegalized, Legal_Reg | Legal_Mem), Mask);
 | 
|      } else {
 | 
| @@ -2549,8 +2545,7 @@ void TargetX8632::lowerFcmp(const InstFcmp *Inst) {
 | 
|      _mov(T, Src0);
 | 
|      _ucomiss(T, Src1RM);
 | 
|    }
 | 
| -  Constant *Default =
 | 
| -      Ctx->getConstantInt32(IceType_i32, TableFcmp[Index].Default);
 | 
| +  Constant *Default = Ctx->getConstantInt32(TableFcmp[Index].Default);
 | 
|    _mov(Dest, Default);
 | 
|    if (HasC1) {
 | 
|      InstX8632Label *Label = InstX8632Label::create(Func, this);
 | 
| @@ -2558,8 +2553,7 @@ void TargetX8632::lowerFcmp(const InstFcmp *Inst) {
 | 
|      if (HasC2) {
 | 
|        _br(TableFcmp[Index].C2, Label);
 | 
|      }
 | 
| -    Constant *NonDefault =
 | 
| -        Ctx->getConstantInt32(IceType_i32, !TableFcmp[Index].Default);
 | 
| +    Constant *NonDefault = Ctx->getConstantInt32(!TableFcmp[Index].Default);
 | 
|      _mov_nonkillable(Dest, NonDefault);
 | 
|      Context.insert(Label);
 | 
|    }
 | 
| @@ -2700,7 +2694,7 @@ void TargetX8632::lowerIcmp(const InstIcmp *Inst) {
 | 
|  
 | 
|    // a=icmp cond, b, c ==> cmp b,c; a=1; br cond,L1; FakeUse(a); a=0; L1:
 | 
|    Constant *Zero = Ctx->getConstantZero(IceType_i32);
 | 
| -  Constant *One = Ctx->getConstantInt32(IceType_i32, 1);
 | 
| +  Constant *One = Ctx->getConstantInt32(1);
 | 
|    if (Src0->getType() == IceType_i64) {
 | 
|      InstIcmp::ICond Condition = Inst->getCondition();
 | 
|      size_t Index = static_cast<size_t>(Condition);
 | 
| @@ -2778,9 +2772,9 @@ void TargetX8632::lowerInsertElement(const InstInsertElement *Inst) {
 | 
|      Variable *T = makeReg(Ty);
 | 
|      _movp(T, SourceVectRM);
 | 
|      if (Ty == IceType_v4f32)
 | 
| -      _insertps(T, ElementRM, Ctx->getConstantInt32(IceType_i8, Index << 4));
 | 
| +      _insertps(T, ElementRM, Ctx->getConstantInt8(Index << 4));
 | 
|      else
 | 
| -      _pinsr(T, ElementRM, Ctx->getConstantInt32(IceType_i8, Index));
 | 
| +      _pinsr(T, ElementRM, Ctx->getConstantInt8(Index));
 | 
|      _movp(Inst->getDest(), T);
 | 
|    } else if (Ty == IceType_v4i32 || Ty == IceType_v4f32 || Ty == IceType_v4i1) {
 | 
|      // Use shufps or movss.
 | 
| @@ -2831,10 +2825,8 @@ void TargetX8632::lowerInsertElement(const InstInsertElement *Inst) {
 | 
|      const unsigned char Mask1[3] = { 0, 192, 128 };
 | 
|      const unsigned char Mask2[3] = { 227, 196, 52 };
 | 
|  
 | 
| -    Constant *Mask1Constant =
 | 
| -        Ctx->getConstantInt32(IceType_i8, Mask1[Index - 1]);
 | 
| -    Constant *Mask2Constant =
 | 
| -        Ctx->getConstantInt32(IceType_i8, Mask2[Index - 1]);
 | 
| +    Constant *Mask1Constant = Ctx->getConstantInt8(Mask1[Index - 1]);
 | 
| +    Constant *Mask2Constant = Ctx->getConstantInt8(Mask2[Index - 1]);
 | 
|  
 | 
|      if (Index == 1) {
 | 
|        _shufps(ElementR, SourceVectRM, Mask1Constant);
 | 
| @@ -2926,7 +2918,7 @@ void TargetX8632::lowerIntrinsicCall(const InstIntrinsicCall *Instr) {
 | 
|        case 2:
 | 
|        case 4:
 | 
|        case 8:
 | 
| -        Result = Ctx->getConstantInt32(IceType_i32, 1);
 | 
| +        Result = Ctx->getConstantInt32(1);
 | 
|          break;
 | 
|        }
 | 
|        _mov(Dest, Result);
 | 
| @@ -3032,7 +3024,7 @@ void TargetX8632::lowerIntrinsicCall(const InstIntrinsicCall *Instr) {
 | 
|      } else {
 | 
|        assert(Val->getType() == IceType_i16);
 | 
|        Val = legalize(Val);
 | 
| -      Constant *Eight = Ctx->getConstantInt32(IceType_i16, 8);
 | 
| +      Constant *Eight = Ctx->getConstantInt16(8);
 | 
|        Variable *T = NULL;
 | 
|        _mov(T, Val);
 | 
|        _rol(T, Eight);
 | 
| @@ -3516,12 +3508,12 @@ void TargetX8632::lowerCountZeros(bool Cttz, Type Ty, Variable *Dest,
 | 
|      _bsr(T, FirstValRM);
 | 
|    }
 | 
|    Variable *T_Dest = makeReg(IceType_i32);
 | 
| -  Constant *ThirtyTwo = Ctx->getConstantInt32(IceType_i32, 32);
 | 
| -  Constant *ThirtyOne = Ctx->getConstantInt32(IceType_i32, 31);
 | 
| +  Constant *ThirtyTwo = Ctx->getConstantInt32(32);
 | 
| +  Constant *ThirtyOne = Ctx->getConstantInt32(31);
 | 
|    if (Cttz) {
 | 
|      _mov(T_Dest, ThirtyTwo);
 | 
|    } else {
 | 
| -    Constant *SixtyThree = Ctx->getConstantInt32(IceType_i32, 63);
 | 
| +    Constant *SixtyThree = Ctx->getConstantInt32(63);
 | 
|      _mov(T_Dest, SixtyThree);
 | 
|    }
 | 
|    _cmov(T_Dest, T, CondX86::Br_ne);
 | 
| @@ -3860,7 +3852,7 @@ void TargetX8632::doAddressOptLoad() {
 | 
|    computeAddressOpt(Func, Inst, Base, Index, Shift, Offset);
 | 
|    if (Base && Addr != Base) {
 | 
|      Inst->setDeleted();
 | 
| -    Constant *OffsetOp = Ctx->getConstantInt32(IceType_i32, Offset);
 | 
| +    Constant *OffsetOp = Ctx->getConstantInt32(Offset);
 | 
|      Addr = OperandX8632Mem::create(Func, Dest->getType(), Base, OffsetOp, Index,
 | 
|                                     Shift, SegmentReg);
 | 
|      Context.insert(InstLoad::create(Func, Dest, Addr));
 | 
| @@ -3926,7 +3918,7 @@ void TargetX8632::lowerSelect(const InstSelect *Inst) {
 | 
|          Operand *ConditionRM = legalize(Condition, Legal_Reg | Legal_Mem);
 | 
|          Variable *xmm0 = makeReg(IceType_v4i32, RegX8632::Reg_xmm0);
 | 
|          _movp(xmm0, ConditionRM);
 | 
| -        _psll(xmm0, Ctx->getConstantInt32(IceType_i8, 31));
 | 
| +        _psll(xmm0, Ctx->getConstantInt8(31));
 | 
|          _movp(T, SrcFRM);
 | 
|          _blendvps(T, SrcTRM, xmm0);
 | 
|          _movp(Dest, T);
 | 
| @@ -4038,7 +4030,7 @@ void TargetX8632::doAddressOptStore() {
 | 
|    computeAddressOpt(Func, Inst, Base, Index, Shift, Offset);
 | 
|    if (Base && Addr != Base) {
 | 
|      Inst->setDeleted();
 | 
| -    Constant *OffsetOp = Ctx->getConstantInt32(IceType_i32, Offset);
 | 
| +    Constant *OffsetOp = Ctx->getConstantInt32(Offset);
 | 
|      Addr = OperandX8632Mem::create(Func, Data->getType(), Base, OffsetOp, Index,
 | 
|                                     Shift, SegmentReg);
 | 
|      Context.insert(InstStore::create(Func, Data, Addr));
 | 
| @@ -4062,9 +4054,8 @@ void TargetX8632::lowerSwitch(const InstSwitch *Inst) {
 | 
|        Src0Hi = legalize(Src0Hi, Legal_Reg | Legal_Mem);
 | 
|      }
 | 
|      for (SizeT I = 0; I < NumCases; ++I) {
 | 
| -      Constant *ValueLo = Ctx->getConstantInt32(IceType_i32, Inst->getValue(I));
 | 
| -      Constant *ValueHi =
 | 
| -          Ctx->getConstantInt32(IceType_i32, Inst->getValue(I) >> 32);
 | 
| +      Constant *ValueLo = Ctx->getConstantInt32(Inst->getValue(I));
 | 
| +      Constant *ValueHi = Ctx->getConstantInt32(Inst->getValue(I) >> 32);
 | 
|        InstX8632Label *Label = InstX8632Label::create(Func, this);
 | 
|        _cmp(Src0Lo, ValueLo);
 | 
|        _br(CondX86::Br_ne, Label);
 | 
| @@ -4082,7 +4073,7 @@ void TargetX8632::lowerSwitch(const InstSwitch *Inst) {
 | 
|    else
 | 
|      Src0 = legalize(Src0, Legal_Reg | Legal_Mem);
 | 
|    for (SizeT I = 0; I < NumCases; ++I) {
 | 
| -    Constant *Value = Ctx->getConstantInt32(IceType_i32, Inst->getValue(I));
 | 
| +    Constant *Value = Ctx->getConstantInt32(Inst->getValue(I));
 | 
|      _cmp(Src0, Value);
 | 
|      _br(CondX86::Br_e, Inst->getLabel(I));
 | 
|    }
 | 
| @@ -4100,7 +4091,7 @@ void TargetX8632::scalarizeArithmetic(InstArithmetic::OpKind Kind,
 | 
|  
 | 
|    Operand *T = Ctx->getConstantUndef(Ty);
 | 
|    for (SizeT I = 0; I < NumElements; ++I) {
 | 
| -    Constant *Index = Ctx->getConstantInt32(IceType_i32, I);
 | 
| +    Constant *Index = Ctx->getConstantInt32(I);
 | 
|  
 | 
|      // Extract the next two inputs.
 | 
|      Variable *Op0 = Func->makeVariable(ElementTy);
 | 
| @@ -4348,13 +4339,12 @@ Variable *TargetX8632::makeVectorOfHighOrderBits(Type Ty, int32_t RegNum) {
 | 
|    if (Ty == IceType_v4f32 || Ty == IceType_v4i32 || Ty == IceType_v8i16) {
 | 
|      Variable *Reg = makeVectorOfOnes(Ty, RegNum);
 | 
|      SizeT Shift = typeWidthInBytes(typeElementType(Ty)) * X86_CHAR_BIT - 1;
 | 
| -    _psll(Reg, Ctx->getConstantInt32(IceType_i8, Shift));
 | 
| +    _psll(Reg, Ctx->getConstantInt8(Shift));
 | 
|      return Reg;
 | 
|    } else {
 | 
|      // SSE has no left shift operation for vectors of 8 bit integers.
 | 
|      const uint32_t HIGH_ORDER_BITS_MASK = 0x80808080;
 | 
| -    Constant *ConstantMask =
 | 
| -        Ctx->getConstantInt32(IceType_i32, HIGH_ORDER_BITS_MASK);
 | 
| +    Constant *ConstantMask = Ctx->getConstantInt32(HIGH_ORDER_BITS_MASK);
 | 
|      Variable *Reg = makeReg(Ty, RegNum);
 | 
|      _movd(Reg, legalize(ConstantMask, Legal_Reg | Legal_Mem));
 | 
|      _pshufd(Reg, Reg, Ctx->getConstantZero(IceType_i8));
 | 
| @@ -4375,7 +4365,7 @@ OperandX8632Mem *TargetX8632::getMemoryOperandForStackSlot(Type Ty,
 | 
|    const Type PointerType = IceType_i32;
 | 
|    Variable *Loc = makeReg(PointerType);
 | 
|    _lea(Loc, Slot);
 | 
| -  Constant *ConstantOffset = Ctx->getConstantInt32(IceType_i32, Offset);
 | 
| +  Constant *ConstantOffset = Ctx->getConstantInt32(Offset);
 | 
|    return OperandX8632Mem::create(Func, Ty, Loc, ConstantOffset);
 | 
|  }
 | 
|  
 | 
| 
 |