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.
25 lines
672 B
Plaintext
25 lines
672 B
Plaintext
test cat
|
|
|
|
isa riscv
|
|
|
|
; regex: WS=[ \t]*
|
|
|
|
function %foo(i32, i32) {
|
|
ebb1(v0: i32 [%x8], v1: i32):
|
|
[-,-] v2 = iadd v0, v1
|
|
[-] trap heap_oob
|
|
[R#1234, %x5, %x11] v6, v7 = iadd_cout v2, v0
|
|
[Rshamt#beef, %x25] v8 = ishl_imm v6, 2
|
|
@55 v9 = iadd v8, v7
|
|
@a5 [Iret#5] return v0, v8
|
|
}
|
|
; sameln: function %foo(i32, i32) system_v {
|
|
; nextln: ebb1(v0: i32 [%x8], v1: i32):
|
|
; nextln: [-,-]$WS v2 = iadd v0, v1
|
|
; nextln: [-]$WS trap heap_oob
|
|
; nextln: [R#1234,%x5,%x11]$WS v6, v7 = iadd_cout v2, v0
|
|
; nextln: [Rshamt#beef,%x25]$WS v8 = ishl_imm v6, 2
|
|
; nextln: @0055 [-,-]$WS v9 = iadd v8, v7
|
|
; nextln: @00a5 [Iret#05]$WS return v0, v8
|
|
; nextln: }
|