mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
[PowerPC] Add back test case for absolute calls (removed in r211174)
As requested by Hal Finkel, this adds back a test for calls to a known-constant function pointer value, and verifies that the 64-bit SVR4 indirect function call sequence is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211190 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5d5ddf9663
commit
496e7ea119
@ -42,6 +42,22 @@ define void @test_indirect(void ()* nocapture %fp) nounwind {
|
||||
ret void
|
||||
}
|
||||
|
||||
; Absolute values must use the regular indirect call sequence
|
||||
; The main purpose of this test is to ensure that BLA is not
|
||||
; used on 64-bit SVR4 (as e.g. on Darwin).
|
||||
define void @test_abs() nounwind {
|
||||
; CHECK-LABEL: test_abs:
|
||||
tail call void inttoptr (i64 1024 to void ()*)() nounwind
|
||||
; CHECK: ld [[FP:[0-9]+]], 1024(0)
|
||||
; CHECK: ld 11, 1040(0)
|
||||
; CHECK: mtctr [[FP]]
|
||||
; CHECK: li [[FD:[0-9]+]], 1024
|
||||
; CHECK: ld 2, 8([[FD]])
|
||||
; CHECK: bctrl
|
||||
; CHECK-NEXT: ld 2, 40(1)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare double @sin(double) nounwind
|
||||
|
||||
; External functions call should also have a 'nop'
|
||||
|
Loading…
x
Reference in New Issue
Block a user