mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
ea5a6285ae
This is generally more readable due to the way the assembler aliases work. (This causes a lot of test changes, but it's not really as scary as it looks at first glance; it's just mechanically changing a bunch of checks for orr to check for mov instead.) Differential Revision: https://reviews.llvm.org/D59720 llvm-svn: 356954
23 lines
525 B
LLVM
23 lines
525 B
LLVM
; RUN: llc -verify-machineinstrs -enable-machine-outliner -mtriple=aarch64-linux-gnu < %s | FileCheck %s
|
|
|
|
; CHECK: OUTLINED_FUNCTION_0:
|
|
; CHECK: mov w0, #1
|
|
; CHECK-NEXT: mov w1, #2
|
|
; CHECK-NEXT: mov w2, #3
|
|
; CHECK-NEXT: mov w3, #4
|
|
; CHECK-NEXT: b z
|
|
|
|
define void @a() {
|
|
entry:
|
|
tail call void @z(i32 1, i32 2, i32 3, i32 4)
|
|
ret void
|
|
}
|
|
|
|
declare void @z(i32, i32, i32, i32)
|
|
|
|
define dso_local void @b(i32* nocapture readnone %p) {
|
|
entry:
|
|
tail call void @z(i32 1, i32 2, i32 3, i32 4)
|
|
ret void
|
|
}
|