================
@@ -6356,6 +6356,88 @@ SDValue
AArch64TargetLowering::LowerINTRINSIC_VOID(SDValue Op,
Op.getOperand(0), // Chain
DAG.getTargetConstant(24, DL, MVT::i32), // Rt
Op.getOperand(2)); // Addr
+ case Intrinsic::aarch64_stshh: {
+ SDValue Chain = Op.getOperand(0);
+ auto *PolicyC = cast<ConstantSDNode>(Op.getOperand(2));
+ SDValue Policy =
+ DAG.getTargetConstant(PolicyC->getZExtValue(), DL, MVT::i32);
+ SDValue Ops[] = {Policy, Chain};
+ MachineSDNode *N = DAG.getMachineNode(AArch64::STSHH, DL, MVT::Other, Ops);
+ return SDValue(N, 0);
+ }
+ case Intrinsic::aarch64_stshh_atomic_store: {
----------------
jthackray wrote:
Thanks, I've removed the `@llvm.aarch64.stshh` intrinsic, as it's not defined
by the ACLE, and not really useful on its own (without the STR following). I've
adjusted the code so this block is now tested.
https://github.com/llvm/llvm-project/pull/181386
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits