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.
32 lines
767 B
Plaintext
32 lines
767 B
Plaintext
; It is possible to refer to instructions and EBBs that have not yet been
|
|
; defined in the lexical order.
|
|
test cat
|
|
|
|
; Defining numbers.
|
|
function %defs() {
|
|
ebb100(v20: i32):
|
|
v1000 = iconst.i32x8 5
|
|
v9200 = f64const 0x4.0p0
|
|
trap user4
|
|
}
|
|
; sameln: function %defs() system_v {
|
|
; nextln: ebb100(v20: i32):
|
|
; nextln: v1000 = iconst.i32x8 5
|
|
; nextln: v9200 = f64const 0x1.0000000000000p2
|
|
; nextln: trap user4
|
|
; nextln: }
|
|
|
|
; Using values.
|
|
function %use_value() {
|
|
ebb100(v20: i32):
|
|
v1000 = iadd_imm v20, 5
|
|
v200 = iadd v20, v1000
|
|
jump ebb100(v1000)
|
|
}
|
|
; sameln: function %use_value() system_v {
|
|
; nextln: ebb100(v20: i32):
|
|
; nextln: v1000 = iadd_imm v20, 5
|
|
; nextln: v200 = iadd v20, v1000
|
|
; nextln: jump ebb100(v1000)
|
|
; nextln: }
|