• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/

Lines Matching defs:S32

4438   const LLT S32 = LLT::scalar(32);
4441 assert(MRI.getType(Src) == S64 && MRI.getType(Dst) == S32);
4453 auto Zero32 = MIRBuilder.buildConstant(S32, 0);
4456 auto LZ = MIRBuilder.buildCTLZ_ZERO_UNDEF(S32, Src);
4458 auto K = MIRBuilder.buildConstant(S32, 127U + 63U);
4459 auto Sub = MIRBuilder.buildSub(S32, K, LZ);
4462 auto E = MIRBuilder.buildSelect(S32, NotZero, Sub, Zero32);
4473 auto ShlE = MIRBuilder.buildShl(S32, E, MIRBuilder.buildConstant(S32, 23));
4474 auto V = MIRBuilder.buildOr(S32, ShlE, MIRBuilder.buildTrunc(S32, UShl));
4479 auto One = MIRBuilder.buildConstant(S32, 1);
4481 auto VTrunc1 = MIRBuilder.buildAnd(S32, V, One);
4482 auto Select0 = MIRBuilder.buildSelect(S32, TCmp, VTrunc1, Zero32);
4483 auto R = MIRBuilder.buildSelect(S32, RCmp, One, Select0);
4527 const LLT S32 = LLT::scalar(32);
4541 if (DstTy == S32) {
4553 auto R = MIRBuilder.buildUITOFP(S32, Xor);
4555 auto RNeg = MIRBuilder.buildFNeg(S32, R);
4573 const LLT S32 = LLT::scalar(32);
4575 if (SrcTy != S64 && SrcTy != S32)
4577 if (DstTy != S32 && DstTy != S64)
4616 const LLT S32 = LLT::scalar(32);
4619 if (SrcTy.getScalarType() != S32 || DstTy.getScalarType() != S64)
4689 const LLT S32 = LLT::scalar(32);
4692 auto Unmerge = MIRBuilder.buildUnmerge(S32, Src);
4696 auto E = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 20));
4697 E = MIRBuilder.buildAnd(S32, E, MIRBuilder.buildConstant(S32, ExpMask));
4702 S32, E, MIRBuilder.buildConstant(S32, -ExpBiasf64 + ExpBiasf16));
4704 auto M = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 8));
4705 M = MIRBuilder.buildAnd(S32, M, MIRBuilder.buildConstant(S32, 0xffe));
4707 auto MaskedSig = MIRBuilder.buildAnd(S32, UH,
4708 MIRBuilder.buildConstant(S32, 0x1ff));
4709 MaskedSig = MIRBuilder.buildOr(S32, MaskedSig, U);
4711 auto Zero = MIRBuilder.buildConstant(S32, 0);
4713 auto Lo40Set = MIRBuilder.buildZExt(S32, SigCmpNE0);
4714 M = MIRBuilder.buildOr(S32, M, Lo40Set);
4717 auto Bits0x200 = MIRBuilder.buildConstant(S32, 0x0200);
4719 auto SelectCC = MIRBuilder.buildSelect(S32, CmpM_NE0, Bits0x200, Zero);
4721 auto Bits0x7c00 = MIRBuilder.buildConstant(S32, 0x7c00);
4722 auto I = MIRBuilder.buildOr(S32, SelectCC, Bits0x7c00);
4725 auto EShl12 = MIRBuilder.buildShl(S32, E, MIRBuilder.buildConstant(S32, 12));
4726 auto N = MIRBuilder.buildOr(S32, M, EShl12);
4729 auto One = MIRBuilder.buildConstant(S32, 1);
4730 auto OneSubExp = MIRBuilder.buildSub(S32, One, E);
4731 auto B = MIRBuilder.buildSMax(S32, OneSubExp, Zero);
4732 B = MIRBuilder.buildSMin(S32, B, MIRBuilder.buildConstant(S32, 13));
4734 auto SigSetHigh = MIRBuilder.buildOr(S32, M,
4735 MIRBuilder.buildConstant(S32, 0x1000));
4737 auto D = MIRBuilder.buildLShr(S32, SigSetHigh, B);
4738 auto D0 = MIRBuilder.buildShl(S32, D, B);
4742 auto D1 = MIRBuilder.buildZExt(S32, D0_NE_SigSetHigh);
4743 D = MIRBuilder.buildOr(S32, D, D1);
4746 auto V = MIRBuilder.buildSelect(S32, CmpELtOne, D, N);
4748 auto VLow3 = MIRBuilder.buildAnd(S32, V, MIRBuilder.buildConstant(S32, 7));
4749 V = MIRBuilder.buildLShr(S32, V, MIRBuilder.buildConstant(S32, 2));
4752 MIRBuilder.buildConstant(S32, 3));
4753 auto V0 = MIRBuilder.buildZExt(S32, VLow3Eq3);
4756 MIRBuilder.buildConstant(S32, 5));
4757 auto V1 = MIRBuilder.buildZExt(S32, VLow3Gt5);
4759 V1 = MIRBuilder.buildOr(S32, V0, V1);
4760 V = MIRBuilder.buildAdd(S32, V, V1);
4763 E, MIRBuilder.buildConstant(S32, 30));
4764 V = MIRBuilder.buildSelect(S32, CmpEGt30,
4765 MIRBuilder.buildConstant(S32, 0x7c00), V);
4768 E, MIRBuilder.buildConstant(S32, 1039));
4769 V = MIRBuilder.buildSelect(S32, CmpEGt1039, I, V);
4772 auto Sign = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 16));
4773 Sign = MIRBuilder.buildAnd(S32, Sign, MIRBuilder.buildConstant(S32, 0x8000));
4776 V = MIRBuilder.buildOr(S32, Sign, V);