Lines Matching refs:Zext
1022 // fold (aext (zext x)) -> (zext x)
1641 // add (sext i1), X -> sub X, (zext i1)
1646 SDValue ZExt = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0));
1647 return DAG.getNode(ISD::SUB, DL, VT, N1, ZExt);
2450 // fold (OP (zext x), (zext y)) -> (zext (OP x, y))
2648 SDValue Zext = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N),
2652 CombineTo(N, Zext);
2657 CombineTo(N0.getNode(), Zext);
3667 // If the shift amount is sign/zext/any-extended just peel it off.
3757 // fold (not (zext (setcc x, y))) -> (zext (not (setcc x, y)))
4047 // fold (shl (zext (srl x, C)), C) -> (zext (shl (srl x, C), C))
4048 // Only fold this if the inner zext has no other uses to avoid increasing
4794 // tryToFoldExtendOfConstant - Try to fold a sext/zext/aext
4796 // This function is called by the DAGCombiner when visiting sext/zext/aext
4811 // fold (zext c1) -> c1
4817 // fold (zext (build_vector AllConstants) -> (build_vector AllConstants)
4875 // Sign bits will be lost after a zext.
5149 // fold (sext x) -> (zext x) if the sign bit is known zero.
5203 // fold (zext (zext x)) -> (zext x)
5204 // fold (zext (aext x)) -> (zext x)
5209 // fold (zext (truncate x)) -> (zext x) or
5210 // (zext (truncate x)) -> (truncate x)
5233 // fold (zext (truncate (load x))) -> (zext (smaller load x))
5234 // fold (zext (truncate (srl (load x), c))) -> (zext (small load (x+c/n)))
5248 // fold (zext (truncate x)) -> (and x, mask)
5252 // fold (zext (truncate (load x))) -> (zext (smaller load x))
5253 // fold (zext (truncate (srl (load x), c))) -> (zext (smaller load (x+c/n)))
5277 // Fold (zext (and (trunc x), cst)) -> (and x, cst),
5292 Mask = Mask.zext(VT.getSizeInBits());
5297 // fold (zext (load x)) -> (zext (truncate (zextload x)))
5326 // fold (zext (and/or/xor (load x), cst)) ->
5327 // (and/or/xor (zextload x), (zext cst))
5347 Mask = Mask.zext(VT.getSizeInBits());
5362 // fold (zext (zextload x)) -> (zext (truncate (zextload x)))
5363 // fold (zext ( extload x)) -> (zext (truncate (zextload x)))
5390 // zext(setcc) -> (and (vsetcc), (1, 1, ...) for vectors.
5426 // zext(setcc x,y,cc) -> select_cc x, y, 1, 0, cc
5434 // (zext (shl (zext x), cst)) -> (shl (zext x), cst)
5474 // fold (aext (zext x)) -> (zext x)
5500 return TruncOp; // x iff x size == zext size.
5520 Mask = Mask.zext(VT.getSizeInBits());
6414 zextOrTrunc(SrcBitSize).zext(DstBitSize);
6448 if (isS2V && i == 0 && j == 0 && ThisVal.zext(SrcBitSize) == OpVal)
7057 // fold (sint_to_fp (zext (setcc x, y, cc))) ->
8074 /// [Inst = zext Slice to Ty2], only if SliceTy <> Ty2
8192 UsedBits = UsedBits.zext(BitWidth);
8256 // Check that the zext is legal if it needs one.
8363 // 3. Check that we do not have a zext in the way.
8599 "It takes more than a zext to get to the loaded slice!!");
9266 StoreInt|=C->getAPIntValue().zext(StoreBW);
9268 StoreInt|= C->getValueAPF().bitcastToAPInt().zext(StoreBW);
9319 // must not be zext, volatile, indexed, and they must be consecutive.
11281 // If the caller doesn't want us to simplify this into a zext of a compare,