[llvm] [AArch64]: Added code for generating XAR instruction (PR #75085)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 11 13:38:04 PST 2023
================
@@ -4273,6 +4275,41 @@ bool AArch64DAGToDAGISel::trySelectCastScalableToFixedLengthVector(SDNode *N) {
return true;
}
+bool AArch64DAGToDAGISel::trySelectXAR(SDNode *N) {
+ assert(N->getOpcode() == ISD::OR && "Expected OR instruction");
+
+ SDValue N0 = N->getOperand(0);
+ SDValue N1 = N->getOperand(1);
+
+ if (N0->getOpcode() != AArch64ISD::VSHL ||
+ N1->getOpcode() != AArch64ISD::VLSHR)
+ return false;
+
+ if (N0->getOperand(0) != N1->getOperand(0) ||
+ N0->getOperand(0)->getOpcode() != N1->getOperand(0)->getOpcode() ||
----------------
davemgreen wrote:
This line wont be needed with the one above.
https://github.com/llvm/llvm-project/pull/75085
More information about the llvm-commits
mailing list