From b3be1e45dde6dc45394b8c7654237c7beba46ca7 Mon Sep 17 00:00:00 2001 From: "Kazushi (Jam) Marukawa" Date: Wed, 14 Jul 2021 05:01:10 +0900 Subject: [PATCH] [VE] Set getExtendForAtomicOps to ISD::ANY_EXTEND The implementation of subword atomics does not actually guarantee the result is zero-extended, which now caused failures after https://reviews.llvm.org/D101342 was landed. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D106225 --- lib/Target/VE/VEISelLowering.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Target/VE/VEISelLowering.h b/lib/Target/VE/VEISelLowering.h index 883cd21a552..b4ce8906fd5 100644 --- a/lib/Target/VE/VEISelLowering.h +++ b/lib/Target/VE/VEISelLowering.h @@ -98,6 +98,9 @@ public: AtomicOrdering Ord) const override; TargetLoweringBase::AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const override; + ISD::NodeType getExtendForAtomicOps() const override { + return ISD::ANY_EXTEND; + } /// Custom Lower { SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;