mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 15:13:49 -04:00
2f17a1b1cc
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316035 91177308-0d34-0410-b5e6-96231b3b80d8
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()
|