llvm-project/llvm/test/Bitcode/upgrade-aarch64-ldstxr.ll
Arthur Eubanks 250620f76e [OpaquePtr][AArch64] Use elementtype on ldxr/stxr
Includes verifier changes checking the elementtype, clang codegen
changes to emit the elementtype, and ISel changes using the elementtype.

Reviewed By: #opaque-pointers, nikic

Differential Revision: https://reviews.llvm.org/D120527
2022-03-14 10:09:59 -07:00

20 lines
782 B
LLVM

; RUN: llvm-dis < %S/upgrade-aarch64-ldstxr.bc | FileCheck %s
define void @f(i32* %p) {
; CHECK: call i64 @llvm.aarch64.ldxr.p0i32(i32* elementtype(i32)
%a = call i64 @llvm.aarch64.ldxr.p0i32(i32* %p)
; CHECK: call i32 @llvm.aarch64.stxr.p0i32(i64 0, i32* elementtype(i32)
%c = call i32 @llvm.aarch64.stxr.p0i32(i64 0, i32* %p)
; CHECK: call i64 @llvm.aarch64.ldaxr.p0i32(i32* elementtype(i32)
%a2 = call i64 @llvm.aarch64.ldaxr.p0i32(i32* %p)
; CHECK: call i32 @llvm.aarch64.stlxr.p0i32(i64 0, i32* elementtype(i32)
%c2 = call i32 @llvm.aarch64.stlxr.p0i32(i64 0, i32* %p)
ret void
}
declare i64 @llvm.aarch64.ldxr.p0i32(i32*)
declare i64 @llvm.aarch64.ldaxr.p0i32(i32*)
declare i32 @llvm.aarch64.stxr.p0i32(i64, i32*)
declare i32 @llvm.aarch64.stlxr.p0i32(i64, i32*)