Home | History | Annotate | Download | only in InstCombine

Lines Matching full:sext

157     C = ConstantExpr::getIntegerCast(C, Ty, isSigned /*Sext or ZExt*/);
187 case Instruction::SExt:
197 Opc == Instruction::SExt);
272 // If this is a vector sext from a compare, then we don't want to break the
274 if (opc == Instruction::SExt && isa<CmpInst>(V) && Ty->isVectorTy())
400 case Instruction::SExt:
664 case Instruction::SExt: // zext(sext(x)) -> sext(x).
882 /// transformSExtICmp - Transform (sext icmp) to bitwise / integer operations
898 In = Builder->CreateIntCast(In, CI.getType(), true/*SExt*/);
907 // the icmp and sext into bitwise/integer operations.
927 // sext ((x & 2^n) == 0) -> (x >> n) - 1
928 // sext ((x & 2^n) != 2^n) -> (x >> n) - 1
939 "sext");
941 // sext ((x & 2^n) != 0) -> (x << bitwidth-n) a>> bitwidth-1
942 // sext ((x & 2^n) == 2^n) -> (x << bitwidth-n) a>> bitwidth-1
951 BitWidth - 1), "sext");
956 return CastInst::CreateIntegerCast(In, CI.getType(), true/*SExt*/);
1007 case Instruction::SExt: // sext(sext(x)) -> sext(x)
1008 case Instruction::ZExt: // sext(zext(x)) -> zext(x)
1009 case Instruction::Trunc: // sext(trunc(x)) -> trunc(x) or sext(x)
1084 return BinaryOperator::CreateAShr(Builder->CreateShl(Res, ShAmt, "sext"),
1088 // If this input is a trunc from our destination, then turn sext(trunc(x))
1097 Value *Res = Builder->CreateShl(TI->getOperand(0), ShAmt, "sext");
1107 // use a sext for the whole extension. Since we don't, look deeper and check
1113 // %d = sext i8 %c to i32