target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux-gnu"
define i32 @test(ptr %p) #0 {
.lr.ph:
%0 = atomicrmw uinc_wrap ptr %p, i32 0 monotonic, align 4
ret i32 %0
}
attributes #0 = { "target-features"="+outline-atomics" }
llc ./reduced.ll results in:
LLVM ERROR: Cannot select: t4: i32,ch = AtomicLoadUIncWrap<(load store monotonic (s32) on %ir.p)> t0, t2, Constant:i32<0>
t2: i64,ch = CopyFromReg t0, Register:i64 %0
In function: test