[llvm] [LoongArch] Fix implicit PesudoXVINSGR2VR error (PR #152432)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 14 01:42:35 PDT 2025
================
@@ -6066,37 +6070,41 @@ emitPseudoXVINSGR2VR(MachineInstr &MI, MachineBasicBlock *BB,
Register Elt = MI.getOperand(2).getReg();
unsigned Idx = MI.getOperand(3).getImm();
- Register ScratchReg1 = XSrc;
- if (Idx >= HalfSize) {
- ScratchReg1 = MRI.createVirtualRegister(RC);
- BuildMI(*BB, MI, DL, TII->get(LoongArch::XVPERMI_D), ScratchReg1)
- .addReg(XSrc)
- .addImm(14);
- }
+ if (XSrc.isVirtual() && MRI.getVRegDef(XSrc)->isImplicitDef() &&
----------------
zhaoqi5 wrote:
It is better to add some separate tests (maybe in `insertelement.ll`) for this case.
https://github.com/llvm/llvm-project/pull/152432
More information about the llvm-commits
mailing list