Searched refs:trunc (Results 176 - 200 of 208) sorted by relevance

123456789

/freebsd-current/contrib/llvm-project/clang/lib/AST/
H A DExprConstant.cpp2754 Int = Int.trunc(NewBitWidth).extend(OldBitWidth);
2772 Result = Value.trunc(LHS.getBitWidth());
7277 APSInt Truncated = Val.trunc(IntWidth);
9385 "Alignment should not be changed by ext/trunc");
9600 DesiredVal = Desired.trunc(Info.Ctx.getCharWidth()).getZExtValue();
13672 APSInt Result = TrueResult.trunc(Info.Ctx.getIntWidth(E->getType()));
/freebsd-current/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp803 uint64_t Byte = IntBits.lshr(I * 8).trunc(8).getZExtValue();
878 APInt HighValue = SplatBits.lshr(HalfSize).trunc(HalfSize);
879 APInt LowValue = SplatBits.trunc(HalfSize);
2670 // with (sext (trunc X)) into a comparison with (shl X, 32).
6570 // If we have (trunc (extract_vector_elt X, Y)), try to turn it into
6627 // Convert (zext (xor (trunc X), C)) into (xor (trunc X), C') if the size
7728 SrcDemE = SrcDemE.trunc(NumElts / 2);
7768 APInt DemEls = DemandedElts.trunc(NumSrc0Els);
/freebsd-current/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp1132 Value *TruncA = Builder.CreateTrunc(A, NewType, A->getName() + ".trunc");
1133 Value *TruncB = Builder.CreateTrunc(B, NewType, B->getName() + ".trunc");
1407 /// Fold icmp (trunc X), C.
1414 // icmp slt trunc(signum(V)) 1 --> icmp slt V, 1
1429 // (trunc (1 << Y) to iN) == 0 --> Y u>= N
1430 // (trunc (1 << Y) to iN) != 0 --> Y u< N
1435 // (trunc (1 << Y) to iN) == 2**C --> Y == C
1436 // (trunc (1 << Y) to iN) != 2**C --> Y != C
1443 // (trunc X to i8) == C --> (X & 0xff) == (zext C)
1452 // Simplify icmp eq (trunc
[all...]
H A DInstCombineAndOrXor.cpp757 /// %t0 = trunc i32 %arg to i8
1083 // For a trunc(lshr Y, Shift) pattern, make sure we're only extracting bits
2307 // bitwidth of X and OP behaves well when given trunc(C1) and X.
2332 Constant *TruncC1 = ConstantInt::get(X->getType(), C1->trunc(XWidth));
2336 Constant *TruncC = ConstantInt::get(X->getType(), C->trunc(XWidth));
2343 // and (bo (zext X), Y), C --> zext (bo X, (trunc Y))
2353 // and (bo Y, (zext X)), C --> zext (bo (trunc Y), X)
3269 // (trunc x) == C1 & (and x, CA) == C2 -> (and x, CA|CMAX) == C1|C2
3270 // (trunc x) != C1 | (and x, CA) != C2 -> (and x, CA|CMAX) != C1|C2
3278 // (trunc
[all...]
H A DInstCombineCasts.cpp66 // This also handles the case of zext(trunc(x)) -> zext(x).
254 /// Ty will always be a type smaller than V. We should return true if trunc(V)
256 /// then trunc(inst(x,y)) can be computed as inst(trunc(x),trunc(y)), which only
342 // trunc(trunc(x)) -> trunc(x)
346 // trunc(ext(x)) -> ext(x) if the source type is smaller than the new dest
347 // trunc(ex
[all...]
H A DInstCombineAddSub.cpp818 // (zext (X +nuw C2)) + C1 --> zext (X + (C2 + trunc(C1)))
825 ConstantInt::get(X->getType(), *C2 + C1->trunc(C2->getBitWidth()));
2541 // trunc(p)-trunc(q) -> trunc(p-q)
H A DInstCombineCalls.cpp1879 // bswap(trunc(bswap(x))) -> trunc(lshr(x, c))
2483 case Intrinsic::trunc: {
/freebsd-current/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DLegalizerHelper.cpp1234 Val.lshr(Offset).trunc(NarrowSize));
1245 Val.lshr(NumParts * NarrowSize).trunc(LeftoverBits));
1265 LLVM_DEBUG(dbgs() << "Can't narrow trunc to type " << NarrowTy << "\n");
2193 // Now trunc the NewOp to the original result.
2233 // Use a shift that will preserve the number of sign bits when the trunc is
3363 // v1 = i24 trunc v5
3476 // TODO: Handle vector trunc stores
6999 // t = trunc(x);
7031 // result = trunc(src);
8212 APInt Scalar = ValVRegAndVal->Value.trunc(
[all...]
H A DCombinerHelper.cpp581 // and emit a variant of (extend (trunc X)) for the others according to the
2035 Csts.emplace_back(Val.trunc(ShiftAmt));
2540 // TODO: Fix truncstore combine to handle (trunc(lshr (trunc x), k)).
3995 // trunc in front.
4616 // set VReg will cause type mismatch if it comes from extend/trunc
4838 // add_64(x, y) & 65535 == zext(add_16(trunc(x), trunc(y))) & 65535
5253 .trunc(W);
H A DIRTranslator.cpp1884 case Intrinsic::trunc:
/freebsd-current/contrib/llvm-project/llvm/lib/Support/
H A DAPFloat.cpp3995 significand = significand.trunc(significand.getActiveBits());
/freebsd-current/contrib/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/
H A DDWARFASTParserClang.cpp2859 result = result.trunc(type_bits);
/freebsd-current/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelDAGToDAG.cpp3980 .trunc(VT.getFixedSizeInBits())
4020 .trunc(VT.getFixedSizeInBits())
/freebsd-current/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeIntegerTypes.cpp3594 Lo = DAG.getConstant(Cst.trunc(NBitWidth), dl, NVT, IsTarget, IsOpaque);
3595 Hi = DAG.getConstant(Cst.lshr(NBitWidth).trunc(NBitWidth), dl, NVT, IsTarget,
H A DLegalizeDAG.cpp479 SDValue Lo = DAG.getConstant(IntVal.trunc(32), dl, MVT::i32);
480 SDValue Hi = DAG.getConstant(IntVal.lshr(32).trunc(32), dl, MVT::i32);
H A DDAGCombiner.cpp824 /// (trunc (and X, C)) -> (and (trunc X), (trunc C))
827 /// requirements are checked by the function (e.g. that trunc is
2546 // Peek through trunc to shift amount type.
3418 // fold (uaddo_carry 0, 0, X) -> (and (ext/trunc X), 1) and no carry.
3773 // sub(a,trunc(umin(zext(a),b))) -> usubsat(a,trunc(umin(b,SatLimit)))
5531 const APInt &C1 = N1C->getAPIntValue().trunc(N1.getScalarValueSizeInBits());
5532 const APInt &C2 = N3C->getAPIntValue().trunc(N
[all...]
/freebsd-current/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUISelLowering.cpp1919 // fq = trunc(fq);
2327 // result = trunc(src)
2488 // result = trunc(src);
3407 // tf := trunc(val);
4115 // trunc (srl (bitcast (build_vector x, y))), 16 -> trunc (bitcast y)
4137 // i16 (trunc (srl i64:x, K)), K <= 16 ->
4138 // i16 (trunc (srl (i32 (trunc x), K)))
5621 LHSKnown = LHSKnown.trunc(2
[all...]
H A DAMDGPUInstructionSelector.cpp2640 .addImm(Imm.trunc(32).getZExtValue());
/freebsd-current/contrib/llvm-project/llvm/lib/Analysis/
H A DInstructionSimplify.cpp721 // As that strip may trace through `addrspacecast`, need to sext or trunc
884 // trunc(X) - trunc(Y) -> trunc(X - Y) if everything simplifies.
890 // It does! Now see if "trunc V" simplifies.
893 // It does, return the simplified "trunc V".
6070 case Intrinsic::trunc:
6090 case Intrinsic::trunc:
/freebsd-current/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyLibCalls.cpp3645 return replaceUnaryCall(CI, Builder, Intrinsic::trunc);
/freebsd-current/sys/ufs/ffs/
H A Dffs_softdep.c8512 int trunc)
8524 if (bp && (trunc || newblk->nb_jnewblk)) {
8540 if (trunc && (freefrag = newblk->nb_freefrag) != NULL) {
10861 ("free_indirdep: Indir trunc list not empty."));
8508 cancel_allocindir( struct allocindir *aip, struct buf *bp, struct freeblks *freeblks, int trunc) argument
/freebsd-current/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp3711 Ops.push_back(DAG.getConstant(V.trunc(32), dl, EltVT));
3712 Ops.push_back(DAG.getConstant(V.lshr(32).trunc(32), dl, EltVT));
4777 SrcEltBits[0] = SrcEltBits[0].trunc(SrcEltSizeInBits);
5882 // Peek through trunc/aext/zext.
10000 // Try to lower trunc+vector_shuffle to a vpmovdb or a vpmovdw instruction.
12219 assert(VT.isInteger() && "Unexpected non-integer trunc broadcast!");
12247 // Hopefully, we can fold away the trunc/srl/load into the broadcast.
20231 /// e.g. trunc <8 x i32> X to <8 x i16> -->
21632 /// trunc(X + copysign(nextafter(0.5, 0.0), X)).
22365 // Match icmp(bitcast(vXi1 trunc(
[all...]
H A DX86ISelDAGToDAG.cpp3962 // *logically* shifted (potentially with one-use trunc inbetween),
4706 MaskVal = MaskVal.trunc(32);
/freebsd-current/contrib/llvm-project/clang/lib/Sema/
H A DSemaOpenMP.cpp8651 NoNeedToConvert = LRes.trunc(BW).extend(BW + 1) == LRes;
8652 LRes = LRes.trunc(BW);
8660 NoNeedToConvert && LRes.trunc(BW).extend(BW + 1) == LRes;
8662 LRes = LRes.trunc(BW);
8682 NoNeedToConvert = URes.trunc(BW).extend(BW + 1) == URes;
/freebsd-current/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXISelLowering.cpp614 // Turn FP truncstore into trunc + store.
2315 Value = Value.trunc(8);
2838 // v = trunc i16 to i1
5258 // If we get here, the AND is unnecessary. Just replace it with the trunc

Completed in 1307 milliseconds

123456789