mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
ARM: use NOEN loads and stores if possible when handling struct byval.
This change is to be enabled in clang. rdar://9877866 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158684 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -28,5 +28,19 @@ entry:
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
; Generate a loop using NEON instructions
|
||||
define i32 @h() nounwind ssp {
|
||||
entry:
|
||||
; CHECK: h:
|
||||
; CHECK: vld1
|
||||
; CHECK: sub
|
||||
; CHECK: vst1
|
||||
; CHECK: bne
|
||||
%st = alloca %struct.LargeStruct, align 16
|
||||
%call = call i32 @e3(%struct.LargeStruct* byval align 16 %st)
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
declare i32 @e1(%struct.SmallStruct* nocapture byval %in) nounwind
|
||||
declare i32 @e2(%struct.LargeStruct* nocapture byval %in) nounwind
|
||||
declare i32 @e3(%struct.LargeStruct* nocapture byval align 16 %in) nounwind
|
||||
|
||||
Reference in New Issue
Block a user