To keep cross-compiling straightforward, Cretonne shouldn't have any behavior that depends on the host. This renames the "Native" calling convention to "SystemV", which has a defined meaning for each target, so that it's clear that the calling convention doesn't change depending on what host Cretonne is running on.
33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
test compile
|
|
set is_64bit
|
|
set is_compressed
|
|
isa intel haswell
|
|
|
|
function %foo() {
|
|
ss0 = explicit_slot 168
|
|
ebb0:
|
|
return
|
|
}
|
|
|
|
; check: function %foo(i64 fp [%rbp], i64 csr [%rbx], i64 csr [%r12], i64 csr [%r13], i64 csr [%r14], i64 csr [%r15]) -> i64 fp [%rbp], i64 csr [%rbx], i64 csr [%r12], i64 csr [%r13], i64 csr [%r14], i64 csr [%r15] system_v {
|
|
; nextln: ss0 = explicit_slot 168, offset -224
|
|
; nextln: ss1 = incoming_arg 56, offset -56
|
|
; check: ebb0(v0: i64 [%rbp], v1: i64 [%rbx], v2: i64 [%r12], v3: i64 [%r13], v4: i64 [%r14], v5: i64 [%r15]):
|
|
; nextln: x86_push v0
|
|
; nextln: copy_special %rsp -> %rbp
|
|
; nextln: x86_push v1
|
|
; nextln: x86_push v2
|
|
; nextln: x86_push v3
|
|
; nextln: x86_push v4
|
|
; nextln: x86_push v5
|
|
; nextln: adjust_sp_imm -168
|
|
; nextln: adjust_sp_imm 168
|
|
; nextln: v11 = x86_pop.i64
|
|
; nextln: v10 = x86_pop.i64
|
|
; nextln: v9 = x86_pop.i64
|
|
; nextln: v8 = x86_pop.i64
|
|
; nextln: v7 = x86_pop.i64
|
|
; nextln: v6 = x86_pop.i64
|
|
; nextln: return v6, v7, v8, v9, v10, v11
|
|
; nextln: }
|