mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-05 18:27:59 +00:00
c967f8b495
If the address of a local is used in a comparison, AArch64 can fold the address-calculation into the comparison via "adds". Unfortunately, a couple of places (both hit in this one test) are not ready to deal with that yet and just assume the first source operand is a register. llvm-svn: 316035
20 lines
359 B
LLVM
20 lines
359 B
LLVM
; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s
|
|
|
|
; CHECK: test_frameindex_cmp:
|
|
; CHECK: cmn sp, #{{[0-9]+}}
|
|
define void @test_frameindex_cmp() {
|
|
%stack = alloca i8
|
|
%stack.int = ptrtoint i8* %stack to i64
|
|
%cmp = icmp ne i64 %stack.int, 0
|
|
br i1 %cmp, label %bb1, label %bb2
|
|
|
|
bb1:
|
|
call void @bar()
|
|
ret void
|
|
|
|
bb2:
|
|
ret void
|
|
}
|
|
|
|
declare void @bar()
|