Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:SExt

163     C = ConstantExpr::getIntegerCast(C, Ty, isSigned /*Sext or ZExt*/);
193 case Instruction::SExt:
203 Opc == Instruction::SExt);
281 // If this is a vector sext from a compare, then we don't want to break the
283 if (opc == Instruction::SExt && isa<CmpInst>(V) && Ty->isVectorTy())
409 case Instruction::SExt:
671 case Instruction::SExt: // zext(sext(x)) -> sext(x).
889 /// transformSExtICmp - Transform (sext icmp) to bitwise / integer operations
905 In = Builder->CreateIntCast(In, CI.getType(), true/*SExt*/);
914 // the icmp and sext into bitwise/integer operations.
934 // sext ((x & 2^n) == 0) -> (x >> n) - 1
935 // sext ((x & 2^n) != 2^n) -> (x >> n) - 1
946 "sext");
948 // sext ((x & 2^n) != 0) -> (x << bitwidth-n) a>> bitwidth-1
949 // sext ((x & 2^n) == 2^n) -> (x << bitwidth-n) a>> bitwidth-1
958 BitWidth - 1), "sext");
963 return CastInst::CreateIntegerCast(In, CI.getType(), true/*SExt*/);
1011 case Instruction::SExt: // sext(sext(x)) -> sext(x)
1012 case Instruction::ZExt: // sext(zext(x)) -> zext(x)
1013 case Instruction::Trunc: // sext(trunc(x)) -> trunc(x) or sext(x)
1051 // eliminated before we try to optimize this sext.
1088 return BinaryOperator::CreateAShr(Builder->CreateShl(Res, ShAmt, "sext"),
1092 // If this input is a trunc from our destination, then turn sext(trunc(x))
1101 Value *Res = Builder->CreateShl(TI->getOperand(0), ShAmt, "sext");
1111 // use a sext for the whole extension. Since we don't, look deeper and check
1117 // %d = sext i8 %c to i32