mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
6bff3b485c
Fix early-exit analysis for memory operation pairing when operations are not emitted in ascending order. Reviewers: mcrosier, t.p.northover Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D28251 llvm-svn: 291008
13 lines
505 B
LLVM
13 lines
505 B
LLVM
; RUN: llc -mtriple=aarch64-linux-gnu -aarch64-enable-atomic-cfg-tidy=0 -disable-lsr -verify-machineinstrs -enable-misched=false -enable-post-misched=false -o - %s | FileCheck %s
|
|
|
|
define i64 @test(i64* %a) nounwind {
|
|
; CHECK: ldp x{{[0-9]+}}, x{{[0-9]+}}
|
|
; CHECK-NOT: ldr
|
|
%p1 = getelementptr inbounds i64, i64* %a, i32 64
|
|
%tmp1 = load i64, i64* %p1, align 2
|
|
%p2 = getelementptr inbounds i64, i64* %a, i32 63
|
|
%tmp2 = load i64, i64* %p2, align 2
|
|
%tmp3 = add i64 %tmp1, %tmp2
|
|
ret i64 %tmp3
|
|
}
|