Skip to content

Commit 0801940

Browse files
committed
[RISCV] Avoid pointer element type access for masked atomicrmw intrinsics
masked.atomicrmw.*.i32 intrinsics access an i32 (and then possibly mask it), so hardcode MVT::i32 as the access type here, rather than determining it from the pointer element type. Differential Revision: https://reviews.llvm.org/D118336
1 parent 438f0e1 commit 0801940

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,17 +1121,15 @@ bool RISCVTargetLowering::getTgtMemIntrinsic(IntrinsicInfo &Info,
11211121
case Intrinsic::riscv_masked_atomicrmw_min_i32:
11221122
case Intrinsic::riscv_masked_atomicrmw_umax_i32:
11231123
case Intrinsic::riscv_masked_atomicrmw_umin_i32:
1124-
case Intrinsic::riscv_masked_cmpxchg_i32: {
1125-
PointerType *PtrTy = cast<PointerType>(I.getArgOperand(0)->getType());
1124+
case Intrinsic::riscv_masked_cmpxchg_i32:
11261125
Info.opc = ISD::INTRINSIC_W_CHAIN;
1127-
Info.memVT = MVT::getVT(PtrTy->getPointerElementType());
1126+
Info.memVT = MVT::i32;
11281127
Info.ptrVal = I.getArgOperand(0);
11291128
Info.offset = 0;
11301129
Info.align = Align(4);
11311130
Info.flags = MachineMemOperand::MOLoad | MachineMemOperand::MOStore |
11321131
MachineMemOperand::MOVolatile;
11331132
return true;
1134-
}
11351133
case Intrinsic::riscv_masked_strided_load:
11361134
Info.opc = ISD::INTRINSIC_W_CHAIN;
11371135
Info.ptrVal = I.getArgOperand(1);

0 commit comments

Comments
 (0)