Files
clang-p2996/llvm/test/Bitcode/arm-intrinsics.ll
Arthur Eubanks 2371c5a0e0 [OpaquePtr][ARM] Use elementtype on ldrex/ldaex/stlex/strex
Includes verifier changes checking the elementtype, clang codegen
changes to emit the elementtype, and ISel changes using the elementtype.

Basically the same as D120527.

Reviewed By: #opaque-pointers, nikic

Differential Revision: https://reviews.llvm.org/D121847
2022-03-16 14:11:53 -07:00

19 lines
731 B
LLVM

; RUN: llvm-dis < %S/arm-intrinsics.bc | FileCheck %s
define void @f(i32* %p) {
; CHECK: call i32 @llvm.arm.ldrex.p0i32(i32* elementtype(i32)
%a = call i32 @llvm.arm.ldrex.p0i32(i32* %p)
; CHECK: call i32 @llvm.arm.strex.p0i32(i32 0, i32* elementtype(i32)
%c = call i32 @llvm.arm.strex.p0i32(i32 0, i32* %p)
; CHECK: call i32 @llvm.arm.ldaex.p0i32(i32* elementtype(i32)
%a2 = call i32 @llvm.arm.ldaex.p0i32(i32* %p)
; CHECK: call i32 @llvm.arm.stlex.p0i32(i32 0, i32* elementtype(i32)
%c2 = call i32 @llvm.arm.stlex.p0i32(i32 0, i32* %p)
ret void
}
declare i32 @llvm.arm.ldrex.p0i32(i32*)
declare i32 @llvm.arm.ldaex.p0i32(i32*)
declare i32 @llvm.arm.stlex.p0i32(i32, i32*)
declare i32 @llvm.arm.strex.p0i32(i32, i32*)