Lines Matching refs:S32

6885   const LLT S32 = LLT::scalar(32);  in lowerU64ToF32BitOps()  local
6888 assert(MRI.getType(Src) == S64 && MRI.getType(Dst) == S32); in lowerU64ToF32BitOps()
6900 auto Zero32 = MIRBuilder.buildConstant(S32, 0); in lowerU64ToF32BitOps()
6903 auto LZ = MIRBuilder.buildCTLZ_ZERO_UNDEF(S32, Src); in lowerU64ToF32BitOps()
6905 auto K = MIRBuilder.buildConstant(S32, 127U + 63U); in lowerU64ToF32BitOps()
6906 auto Sub = MIRBuilder.buildSub(S32, K, LZ); in lowerU64ToF32BitOps()
6909 auto E = MIRBuilder.buildSelect(S32, NotZero, Sub, Zero32); in lowerU64ToF32BitOps()
6920 auto ShlE = MIRBuilder.buildShl(S32, E, MIRBuilder.buildConstant(S32, 23)); in lowerU64ToF32BitOps()
6921 auto V = MIRBuilder.buildOr(S32, ShlE, MIRBuilder.buildTrunc(S32, UShl)); in lowerU64ToF32BitOps()
6926 auto One = MIRBuilder.buildConstant(S32, 1); in lowerU64ToF32BitOps()
6928 auto VTrunc1 = MIRBuilder.buildAnd(S32, V, One); in lowerU64ToF32BitOps()
6929 auto Select0 = MIRBuilder.buildSelect(S32, TCmp, VTrunc1, Zero32); in lowerU64ToF32BitOps()
6930 auto R = MIRBuilder.buildSelect(S32, RCmp, One, Select0); in lowerU64ToF32BitOps()
6966 const LLT S32 = LLT::scalar(32); in lowerSITOFP() local
6980 if (DstTy == S32) { in lowerSITOFP()
6992 auto R = MIRBuilder.buildUITOFP(S32, Xor); in lowerSITOFP()
6994 auto RNeg = MIRBuilder.buildFNeg(S32, R); in lowerSITOFP()
7008 const LLT S32 = LLT::scalar(32); in lowerFPTOUI() local
7010 if (SrcTy != S64 && SrcTy != S32) in lowerFPTOUI()
7012 if (DstTy != S32 && DstTy != S64) in lowerFPTOUI()
7048 const LLT S32 = LLT::scalar(32); in lowerFPTOSI() local
7051 if (SrcTy.getScalarType() != S32 || DstTy.getScalarType() != S64) in lowerFPTOSI()
7113 const LLT S32 = LLT::scalar(32); in lowerFPTRUNC_F64_TO_F16() local
7124 auto Src32 = MIRBuilder.buildFPTrunc(S32, Src, Flags); in lowerFPTRUNC_F64_TO_F16()
7134 auto Unmerge = MIRBuilder.buildUnmerge(S32, Src); in lowerFPTRUNC_F64_TO_F16()
7138 auto E = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 20)); in lowerFPTRUNC_F64_TO_F16()
7139 E = MIRBuilder.buildAnd(S32, E, MIRBuilder.buildConstant(S32, ExpMask)); in lowerFPTRUNC_F64_TO_F16()
7144 S32, E, MIRBuilder.buildConstant(S32, -ExpBiasf64 + ExpBiasf16)); in lowerFPTRUNC_F64_TO_F16()
7146 auto M = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 8)); in lowerFPTRUNC_F64_TO_F16()
7147 M = MIRBuilder.buildAnd(S32, M, MIRBuilder.buildConstant(S32, 0xffe)); in lowerFPTRUNC_F64_TO_F16()
7149 auto MaskedSig = MIRBuilder.buildAnd(S32, UH, in lowerFPTRUNC_F64_TO_F16()
7150 MIRBuilder.buildConstant(S32, 0x1ff)); in lowerFPTRUNC_F64_TO_F16()
7151 MaskedSig = MIRBuilder.buildOr(S32, MaskedSig, U); in lowerFPTRUNC_F64_TO_F16()
7153 auto Zero = MIRBuilder.buildConstant(S32, 0); in lowerFPTRUNC_F64_TO_F16()
7155 auto Lo40Set = MIRBuilder.buildZExt(S32, SigCmpNE0); in lowerFPTRUNC_F64_TO_F16()
7156 M = MIRBuilder.buildOr(S32, M, Lo40Set); in lowerFPTRUNC_F64_TO_F16()
7159 auto Bits0x200 = MIRBuilder.buildConstant(S32, 0x0200); in lowerFPTRUNC_F64_TO_F16()
7161 auto SelectCC = MIRBuilder.buildSelect(S32, CmpM_NE0, Bits0x200, Zero); in lowerFPTRUNC_F64_TO_F16()
7163 auto Bits0x7c00 = MIRBuilder.buildConstant(S32, 0x7c00); in lowerFPTRUNC_F64_TO_F16()
7164 auto I = MIRBuilder.buildOr(S32, SelectCC, Bits0x7c00); in lowerFPTRUNC_F64_TO_F16()
7167 auto EShl12 = MIRBuilder.buildShl(S32, E, MIRBuilder.buildConstant(S32, 12)); in lowerFPTRUNC_F64_TO_F16()
7168 auto N = MIRBuilder.buildOr(S32, M, EShl12); in lowerFPTRUNC_F64_TO_F16()
7171 auto One = MIRBuilder.buildConstant(S32, 1); in lowerFPTRUNC_F64_TO_F16()
7172 auto OneSubExp = MIRBuilder.buildSub(S32, One, E); in lowerFPTRUNC_F64_TO_F16()
7173 auto B = MIRBuilder.buildSMax(S32, OneSubExp, Zero); in lowerFPTRUNC_F64_TO_F16()
7174 B = MIRBuilder.buildSMin(S32, B, MIRBuilder.buildConstant(S32, 13)); in lowerFPTRUNC_F64_TO_F16()
7176 auto SigSetHigh = MIRBuilder.buildOr(S32, M, in lowerFPTRUNC_F64_TO_F16()
7177 MIRBuilder.buildConstant(S32, 0x1000)); in lowerFPTRUNC_F64_TO_F16()
7179 auto D = MIRBuilder.buildLShr(S32, SigSetHigh, B); in lowerFPTRUNC_F64_TO_F16()
7180 auto D0 = MIRBuilder.buildShl(S32, D, B); in lowerFPTRUNC_F64_TO_F16()
7184 auto D1 = MIRBuilder.buildZExt(S32, D0_NE_SigSetHigh); in lowerFPTRUNC_F64_TO_F16()
7185 D = MIRBuilder.buildOr(S32, D, D1); in lowerFPTRUNC_F64_TO_F16()
7188 auto V = MIRBuilder.buildSelect(S32, CmpELtOne, D, N); in lowerFPTRUNC_F64_TO_F16()
7190 auto VLow3 = MIRBuilder.buildAnd(S32, V, MIRBuilder.buildConstant(S32, 7)); in lowerFPTRUNC_F64_TO_F16()
7191 V = MIRBuilder.buildLShr(S32, V, MIRBuilder.buildConstant(S32, 2)); in lowerFPTRUNC_F64_TO_F16()
7194 MIRBuilder.buildConstant(S32, 3)); in lowerFPTRUNC_F64_TO_F16()
7195 auto V0 = MIRBuilder.buildZExt(S32, VLow3Eq3); in lowerFPTRUNC_F64_TO_F16()
7198 MIRBuilder.buildConstant(S32, 5)); in lowerFPTRUNC_F64_TO_F16()
7199 auto V1 = MIRBuilder.buildZExt(S32, VLow3Gt5); in lowerFPTRUNC_F64_TO_F16()
7201 V1 = MIRBuilder.buildOr(S32, V0, V1); in lowerFPTRUNC_F64_TO_F16()
7202 V = MIRBuilder.buildAdd(S32, V, V1); in lowerFPTRUNC_F64_TO_F16()
7205 E, MIRBuilder.buildConstant(S32, 30)); in lowerFPTRUNC_F64_TO_F16()
7206 V = MIRBuilder.buildSelect(S32, CmpEGt30, in lowerFPTRUNC_F64_TO_F16()
7207 MIRBuilder.buildConstant(S32, 0x7c00), V); in lowerFPTRUNC_F64_TO_F16()
7210 E, MIRBuilder.buildConstant(S32, 1039)); in lowerFPTRUNC_F64_TO_F16()
7211 V = MIRBuilder.buildSelect(S32, CmpEGt1039, I, V); in lowerFPTRUNC_F64_TO_F16()
7214 auto Sign = MIRBuilder.buildLShr(S32, UH, MIRBuilder.buildConstant(S32, 16)); in lowerFPTRUNC_F64_TO_F16()
7215 Sign = MIRBuilder.buildAnd(S32, Sign, MIRBuilder.buildConstant(S32, 0x8000)); in lowerFPTRUNC_F64_TO_F16()
7218 V = MIRBuilder.buildOr(S32, Sign, V); in lowerFPTRUNC_F64_TO_F16()