mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Fix up this test to use explicit triples (Win64 passes a different number of arguments in registers).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131676 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
861b9c6a39
commit
24a69c7be2
@ -1,4 +1,5 @@
|
|||||||
; RUN: llc < %s -march=x86-64 | FileCheck %s
|
; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | FileCheck %s -check-prefix=X64
|
||||||
|
; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck %s -check-prefix=WIN64
|
||||||
|
|
||||||
@.str = private unnamed_addr constant [5 x i8] c"%ld\0A\00"
|
@.str = private unnamed_addr constant [5 x i8] c"%ld\0A\00"
|
||||||
@sel = external global i8*
|
@sel = external global i8*
|
||||||
@ -8,8 +9,10 @@
|
|||||||
@sel6 = external global i8*
|
@sel6 = external global i8*
|
||||||
@sel7 = external global i8*
|
@sel7 = external global i8*
|
||||||
|
|
||||||
; CHECK: @foo
|
; X64: @foo
|
||||||
; CHECK: jmp
|
; X64: jmp
|
||||||
|
; WIN64: @foo
|
||||||
|
; WIN64: jmp
|
||||||
define void @foo(i64 %arg) nounwind optsize ssp noredzone {
|
define void @foo(i64 %arg) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
%call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([5 x i8]* @.str, i64 0, i64 0), i64 %arg) nounwind optsize noredzone
|
%call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([5 x i8]* @.str, i64 0, i64 0), i64 %arg) nounwind optsize noredzone
|
||||||
@ -18,8 +21,10 @@ entry:
|
|||||||
|
|
||||||
declare i32 @printf(i8*, ...) optsize noredzone
|
declare i32 @printf(i8*, ...) optsize noredzone
|
||||||
|
|
||||||
; CHECK: @bar
|
; X64: @bar
|
||||||
; CHECK: jmp
|
; X64: jmp
|
||||||
|
; WIN64: @bar
|
||||||
|
; WIN64: jmp
|
||||||
define void @bar(i64 %arg) nounwind optsize ssp noredzone {
|
define void @bar(i64 %arg) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
tail call void @bar2(i8* getelementptr inbounds ([5 x i8]* @.str, i64 0, i64 0), i64 %arg) nounwind optsize noredzone
|
tail call void @bar2(i8* getelementptr inbounds ([5 x i8]* @.str, i64 0, i64 0), i64 %arg) nounwind optsize noredzone
|
||||||
@ -28,8 +33,10 @@ entry:
|
|||||||
|
|
||||||
declare void @bar2(i8*, i64) optsize noredzone
|
declare void @bar2(i8*, i64) optsize noredzone
|
||||||
|
|
||||||
; CHECK: @foo2
|
; X64: @foo2
|
||||||
; CHECK: jmp
|
; X64: jmp
|
||||||
|
; WIN64: @foo2
|
||||||
|
; WIN64: jmp
|
||||||
define i8* @foo2(i8* %arg) nounwind optsize ssp noredzone {
|
define i8* @foo2(i8* %arg) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
%tmp1 = load i8** @sel, align 8, !tbaa !0
|
%tmp1 = load i8** @sel, align 8, !tbaa !0
|
||||||
@ -39,8 +46,10 @@ entry:
|
|||||||
|
|
||||||
declare i8* @x2(i8*, i8*, ...) optsize noredzone
|
declare i8* @x2(i8*, i8*, ...) optsize noredzone
|
||||||
|
|
||||||
; CHECK: @foo6
|
; X64: @foo6
|
||||||
; CHECK: jmp
|
; X64: jmp
|
||||||
|
; WIN64: @foo6
|
||||||
|
; WIN64: callq
|
||||||
define i8* @foo6(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
define i8* @foo6(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
||||||
@ -53,8 +62,10 @@ entry:
|
|||||||
|
|
||||||
declare i8* @x3(i8*, i8*, i8*, ...) optsize noredzone
|
declare i8* @x3(i8*, i8*, i8*, ...) optsize noredzone
|
||||||
|
|
||||||
; CHECK: @foo7
|
; X64: @foo7
|
||||||
; CHECK: callq
|
; X64: callq
|
||||||
|
; WIN64: @foo7
|
||||||
|
; WIN64: callq
|
||||||
define i8* @foo7(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
define i8* @foo7(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
||||||
@ -68,8 +79,10 @@ entry:
|
|||||||
|
|
||||||
declare i8* @x7(i8*, i8*, i8*, i8*, i8*, i8*, i8*, ...) optsize noredzone
|
declare i8* @x7(i8*, i8*, i8*, i8*, i8*, i8*, i8*, ...) optsize noredzone
|
||||||
|
|
||||||
; CHECK: @foo8
|
; X64: @foo8
|
||||||
; CHECK: callq
|
; X64: callq
|
||||||
|
; WIN64: @foo8
|
||||||
|
; WIN64: callq
|
||||||
define i8* @foo8(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
define i8* @foo8(i8* %arg1, i8* %arg2) nounwind optsize ssp noredzone {
|
||||||
entry:
|
entry:
|
||||||
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
%tmp2 = load i8** @sel3, align 8, !tbaa !0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user