[PATCH] D139628: [ARM][CodeGen] Add integer support for complex deinterleaving
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 12 00:55:23 PST 2022
dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.
Sounds like a nice addition. LGTM
================
Comment at: llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp:638
ComplexDeinterleavingRotation Rotation;
- if (Real->getOpcode() == Instruction::FSub &&
- Imag->getOpcode() == Instruction::FAdd)
- Rotation = ComplexDeinterleavingRotation::Rotation_90;
- else if (Real->getOpcode() == Instruction::FAdd &&
- Imag->getOpcode() == Instruction::FSub)
- Rotation = ComplexDeinterleavingRotation::Rotation_270;
- else {
- LLVM_DEBUG(dbgs() << " - Unhandled case, rotation is not assigned.\n");
+ if ((Real->getOpcode() == Instruction::FSub && Imag->getOpcode() == Instruction::FAdd) ||
+ (Real->getOpcode() == Instruction::Sub && Imag->getOpcode() == Instruction::Add))
----------------
These lines look pretty long
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:21838
bool ARMTargetLowering::isComplexDeinterleavingSupported() const {
- return Subtarget->hasMVEFloatOps();
+ return Subtarget->hasMVEFloatOps() || Subtarget->hasMVEIntegerOps();
}
----------------
hasMVEFloatOps requires hasMVEIntegerOps, so this only need check for hasMVEIntegerOps
================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:21858
+
+ if(Operation != ComplexDeinterleavingOperation::CAdd)
+ return false;
----------------
Formatting
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139628/new/
https://reviews.llvm.org/D139628
More information about the llvm-commits
mailing list