mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
7b837d8c75
This adds a second implementation of the AArch64 architecture to LLVM, accessible in parallel via the "arm64" triple. The plan over the coming weeks & months is to merge the two into a single backend, during which time thorough code review should naturally occur. Everything will be easier with the target in-tree though, hence this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205090 91177308-0d34-0410-b5e6-96231b3b80d8
13 lines
397 B
LLVM
13 lines
397 B
LLVM
; RUN: llc < %s -march=arm64 | FileCheck %s
|
|
define void @foo(i64 %val) {
|
|
; CHECK: foo
|
|
; The stack frame store is not 64-bit aligned. Make sure we use an
|
|
; instruction that can handle that.
|
|
; CHECK: stur x0, [sp, #20]
|
|
%a = alloca [49 x i32], align 4
|
|
%p32 = getelementptr inbounds [49 x i32]* %a, i64 0, i64 2
|
|
%p = bitcast i32* %p32 to i64*
|
|
store i64 %val, i64* %p, align 8
|
|
ret void
|
|
}
|