Lines Matching defs:CSEB
30 CSEMIRBuilder CSEB(B.getState());
32 CSEB.setInsertPt(B.getMBB(), B.getInsertPt());
35 CSEB.buildInstr(TargetOpcode::G_ADD, {AddReg}, {MIBInput, MIBInput});
38 CSEB.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput});
41 CSEB.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput});
44 CSEB.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput1});
48 auto MIBCst = CSEB.buildConstant(s32, 0);
49 auto MIBCst1 = CSEB.buildConstant(s32, 0);
52 auto MIBCF1 = CSEB.buildInstr(TargetOpcode::G_ADD, {s32}, {MIBCst, MIBCst});
56 auto MIBFP0 = CSEB.buildFConstant(s32, 1.0);
57 auto MIBFP0_1 = CSEB.buildFConstant(s32, 1.0);
63 auto Splat0 = CSEB.buildConstant(LLT::fixed_vector(2, s32), 0);
68 auto FSplat = CSEB.buildFConstant(LLT::fixed_vector(2, s32), 1.0);
74 auto MIBUnmerge = CSEB.buildUnmerge({s32, s32}, Copies[0]);
75 auto MIBUnmerge2 = CSEB.buildUnmerge({s32, s32}, Copies[0]);
80 auto MIBFAdd = CSEB.buildFAdd(s32, Copies[0], Copies[1]);
81 auto MIBFAdd2 = CSEB.buildFAdd(s32, Copies[0], Copies[1]);
85 CSEB.buildFAdd(s32, Copies[0], Copies[1], MachineInstr::FmNsz);
95 auto MIBFSub = CSEB.buildFSub(s32, Copies[0], Copies[1]);
96 auto MIBFSub2 = CSEB.buildFSub(s32, Copies[0], Copies[1]);
100 CSEB.buildFSub(s32, Copies[0], Copies[1], MachineInstr::FmNoNans);
110 auto MIBFMul = CSEB.buildFMul(s32, Copies[0], Copies[1]);
111 auto MIBFMul2 = CSEB.buildFMul(s32, Copies[0], Copies[1]);
115 CSEB.buildFMul(s32, Copies[0], Copies[1], MachineInstr::FmNoNans);
125 auto MIBFDiv = CSEB.buildFDiv(s32, Copies[0], Copies[1]);
126 auto MIBFDiv2 = CSEB.buildFDiv(s32, Copies[0], Copies[1]);
130 CSEB.buildFDiv(s32, Copies[0], Copies[1], MachineInstr::FmNoNans);
140 auto MIBFAbs = CSEB.buildFAbs(s32, Copies[0]);
141 auto MIBFAbs2 = CSEB.buildFAbs(s32, Copies[0]);
144 auto MIBFAbs3 = CSEB.buildFAbs(s32, Copies[0], MachineInstr::FmNsz);
154 auto MIBFMinNum = CSEB.buildFMinNum(s32, Copies[0], Copies[1]);
155 auto MIBFMinNum2 = CSEB.buildFMinNum(s32, Copies[0], Copies[1]);
159 CSEB.buildFMinNum(s32, Copies[0], Copies[1], MachineInstr::FmNsz);
168 auto MIBFMaxNum = CSEB.buildFMaxNum(s32, Copies[0], Copies[1]);
169 auto MIBFMaxNum2 = CSEB.buildFMaxNum(s32, Copies[0], Copies[1]);
173 CSEB.buildFMaxNum(s32, Copies[0], Copies[1], MachineInstr::FmNsz);
183 auto MIBFMinNumIEEE = CSEB.buildFMinNumIEEE(s32, Copies[0], Copies[1]);
184 auto MIBFMinNumIEEE2 = CSEB.buildFMinNumIEEE(s32, Copies[0], Copies[1]);
188 CSEB.buildFMinNumIEEE(s32, Copies[0], Copies[1], MachineInstr::FmNsz);
197 auto MIBFMaxNumIEEE = CSEB.buildFMaxNumIEEE(s32, Copies[0], Copies[1]);
198 auto MIBFMaxNumIEEE2 = CSEB.buildFMaxNumIEEE(s32, Copies[0], Copies[1]);
202 CSEB.buildFMaxNumIEEE(s32, Copies[0], Copies[1], MachineInstr::FmNsz);
214 CSEB.buildBuildVector(LLT::fixed_vector(4, 32), {Reg1, Reg2, Reg1, Reg2});
216 CSEB.buildBuildVector(LLT::fixed_vector(4, 32), {Reg1, Reg2, Reg1, Reg2});
222 auto BuildVecTrunc1 = CSEB.buildBuildVectorTrunc(LLT::fixed_vector(4, 16),
224 auto BuildVecTrunc2 = CSEB.buildBuildVectorTrunc(LLT::fixed_vector(4, 16),
231 auto Undef0 = CSEB.buildUndef(s32);
232 auto Undef1 = CSEB.buildUndef(s32);
251 CSEB.buildInstr(TargetOpcode::G_AND, {s32}, {Copies[0], Copies[1]});
254 auto ExtractMIB = CSEB.buildInstr(TargetOpcode::G_EXTRACT, {s16},
256 auto ExtractMIB1 = CSEB.buildInstr(TargetOpcode::G_EXTRACT, {s16},
258 auto ExtractMIB2 = CSEB.buildInstr(TargetOpcode::G_EXTRACT, {s16},
264 auto SextInRegMIB = CSEB.buildSExtInReg(s16, Copies[0], 0);
265 auto SextInRegMIB1 = CSEB.buildSExtInReg(s16, Copies[0], 0);
266 auto SextInRegMIB2 = CSEB.buildSExtInReg(s16, Copies[0], 1);
284 CSEMIRBuilder CSEB(B.getState());
285 CSEB.setInsertPt(*EntryMBB, EntryMBB->begin());
287 CSEB.buildInstr(TargetOpcode::G_ADD, {s16}, {MIBInput, MIBInput});
292 auto MIBZeroTmp = CSEB.buildConstant(s16, 0);
296 auto Undef0 = CSEB.buildUndef(s16);
297 auto Undef1 = CSEB.buildUndef(s16);
315 CSEMIRBuilder CSEB(B.getState());
316 CSEB.buildConstant(s32, 0);
317 auto MIBCst2 = CSEB.buildConstant(s32, 2);
320 CSEB.setInsertPt(CSEB.getMBB(), --CSEB.getInsertPt());
321 auto MIBCst3 = CSEB.buildConstant(s32, 2);
323 EXPECT_TRUE(CSEB.getInsertPt() == CSEB.getMBB().end());
337 CSEMIRBuilder CSEB(B.getState());
338 auto Cst8 = CSEB.buildConstant(s32, 8);
339 auto *CtlzDef = &*CSEB.buildCTLZ(s32, Cst8);
344 auto Cst16 = CSEB.buildConstant(s32, 16);
345 auto Cst32 = CSEB.buildConstant(s32, 32);
346 auto Cst64 = CSEB.buildConstant(s32, 64);
348 auto BV = CSEB.buildBuildVector(VecTy, {Cst8.getReg(0), Cst16.getReg(0),
350 CSEB.buildCTLZ(VecTy, BV);
379 CSEMIRBuilder CSEB(B.getState());
380 auto Cst8 = CSEB.buildConstant(s32, 8);
381 auto *CttzDef = &*CSEB.buildCTTZ(s32, Cst8);
386 auto Cst16 = CSEB.buildConstant(s32, 16);
387 auto Cst32 = CSEB.buildConstant(s32, 32);
388 auto Cst64 = CSEB.buildConstant(s32, 64);
390 auto BV = CSEB.buildBuildVector(VecTy, {Cst8.getReg(0), Cst16.getReg(0),
392 CSEB.buildCTTZ(VecTy, BV);
422 CSEMIRBuilder CSEB(B.getState());
424 auto One = CSEB.buildConstant(s32, 1);
425 auto Two = CSEB.buildConstant(s32, 2);
426 auto MinusOne = CSEB.buildConstant(s32, -1);
427 auto MinusTwo = CSEB.buildConstant(s32, -2);
431 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_EQ, s1, One, One);
438 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_NE, s1, One, Two);
445 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_UGT, s1, Two, One);
452 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_UGE, s1, One, One);
459 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_ULT, s1, One, Two);
466 auto I = CSEB.buildICmp(CmpInst::Predicate::ICMP_ULE, s1, Two, Two);
474 CSEB.buildICmp(CmpInst::Predicate::ICMP_SGT, s1, MinusOne, MinusTwo);
482 CSEB.buildICmp(CmpInst::Predicate::ICMP_SGE, s1, MinusOne, MinusOne);
490 CSEB.buildICmp(CmpInst::Predicate::ICMP_SLT, s1, MinusTwo, MinusOne);
498 CSEB.buildICmp(CmpInst::Predicate::ICMP_SLE, s1, MinusTwo, MinusOne);
505 auto Three = CSEB.buildConstant(s32, 3);
506 auto MinusThree = CSEB.buildConstant(s32, -3);
507 auto OneOne = CSEB.buildBuildVector(VecTy, {One.getReg(0), One.getReg(0)});
508 auto OneTwo = CSEB.buildBuildVector(VecTy, {One.getReg(0), Two.getReg(0)});
510 CSEB.buildBuildVector(VecTy, {Two.getReg(0), Three.getReg(0)});
512 CSEB.buildBuildVector(VecTy, {MinusOne.getReg(0), MinusOne.getReg(0)});
514 CSEB.buildBuildVector(VecTy, {MinusOne.getReg(0), MinusTwo.getReg(0)});
516 CSEB.buildBuildVector(VecTy, {MinusTwo.getReg(0), MinusThree.getReg(0)});
519 CSEB.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy, OneOne, OneOne);
522 CSEB.buildICmp(CmpInst::Predicate::ICMP_NE, DstTy, OneOne, OneTwo);
525 CSEB.buildICmp(CmpInst::Predicate::ICMP_UGT, DstTy, TwoThree, OneTwo);
528 CSEB.buildICmp(CmpInst::Predicate::ICMP_UGE, DstTy, OneTwo, OneOne);
531 CSEB.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, OneOne, OneTwo);
534 CSEB.buildICmp(CmpInst::Predicate::ICMP_ULE, DstTy, OneTwo, OneOne);
537 CSEB.buildICmp(CmpInst::Predicate::ICMP_SGT, DstTy, MinusOneTwo,
541 CSEB.buildICmp(CmpInst::Predicate::ICMP_SGE, DstTy, MinusOneTwo, MinusOneOne);
544 CSEB.buildICmp(CmpInst::Predicate::ICMP_SLT, DstTy, MinusTwoThree,
548 CSEB.buildICmp(CmpInst::Predicate::ICMP_SLE, DstTy, MinusOneTwo, MinusOneOne);