Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:ZExt

158     C = ConstantExpr::getIntegerCast(C, Ty, isSigned /*Sext or ZExt*/);
187 case Instruction::ZExt:
196 // This also handles the case of zext(trunc(x)) -> zext(x).
401 case Instruction::ZExt:
465 // Transform trunc(lshr (zext A), Cst) to eliminate one type conversion.
501 /// transformZExtICmp - Transform (zext icmp) to bitwise / integer operations
505 // If we are just checking for a icmp eq of a single bit and zext'ing it
511 // zext (x <s 0) to i32 --> x>>u31 true if signbit set.
512 // zext (x >s -1) to i32 --> (x>>u31)^1 true if signbit clear.
522 In = Builder->CreateIntCast(In, CI.getType(), false/*ZExt*/);
534 // zext (X == 0) to i32 --> X^1 iff X has only the low bit set.
535 // zext (X == 0) to i32 --> (X>>1)^1 iff X has only the 2nd bit set.
536 // zext (X == 1) to i32 --> X iff X has only the low bit set.
537 // zext (X == 2) to i32 --> X>>1 iff X has only the 2nd bit set.
538 // zext (X != 0) to i32 --> X iff X has only the low bit set.
539 // zext (X != 0) to i32 --> X>>1 iff X has only the 2nd bit set.
540 // zext (X != 1) to i32 --> X^1 iff X has only the low bit set.
541 // zext (X != 2) to i32 --> (X>>1)^1 iff X has only the 2nd bit set.
581 return CastInst::CreateIntegerCast(In, CI.getType(), false/*ZExt*/);
640 /// %E = zext i32 %C to i64
669 case Instruction::ZExt: // zext(zext(x)) -> zext(x).
670 case Instruction::SExt: // zext(sext(x)) -> sext(x).
671 case Instruction::Trunc: // zext(trunc(x)) -> trunc(x) or zext(x)
748 // eliminated before we try to optimize this zext.
795 // If this is a TRUNC followed by a ZEXT then we are dealing with integral
808 // SrcSize < DstSize: zext(a & mask)
837 // zext (or icmp, icmp) --> or (zext icmp), (zext icmp) if at least one
838 // of the (zext icmp) will be transformed.
850 // zext(trunc(t) & C) -> (t & zext(C)).
861 // zext((trunc(t) & C) ^ C) -> ((t & zext(C)) ^ zext(C)).
876 // zext (xor i1 X, true) to i32 --> xor (zext i1 X to i32), 1
1015 case Instruction::ZExt: // sext(zext(x)) -> zext(x)
1054 // eliminated before we try to optimize this zext.
1304 // trunc or zext to the intptr_t type, then inttoptr of it. This allows the
1380 // do a ptrtoint to intptr_t then do a trunc or zext. This allows the cast
1530 case Instruction::ZExt:
1563 /// %tmp38 = zext i32 %tmp37 to i64
1565 /// %tmp32 = zext i32 %tmp31 to i64
1713 // is a trunc or zext of a bitcast from vector. If so, we can replace all