Remove the return_reg instruction.
RISC architectures that take a return address in a register can use a special-purpose `link` return value to do so.
This commit is contained in:
@@ -4,7 +4,7 @@ isa riscv
|
||||
|
||||
; regex: V=v\d+
|
||||
|
||||
function f(i32) {
|
||||
function f() {
|
||||
sig0 = signature(i32) -> i32
|
||||
; check: sig0 = signature(i32 [%x10]) -> i32 [%x10]
|
||||
|
||||
@@ -27,6 +27,6 @@ function f(i32) {
|
||||
sig5 = signature(i64x4)
|
||||
; check: sig5 = signature(i32 [%x10], i32 [%x11], i32 [%x12], i32 [%x13], i32 [%x14], i32 [%x15], i32 [%x16], i32 [%x17])
|
||||
|
||||
ebb0(v0: i32):
|
||||
return_reg v0
|
||||
ebb0:
|
||||
return
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ ebb0(v1: i32, v2: i32):
|
||||
; check: [R#10c]
|
||||
; sameln: $v12 = imul
|
||||
|
||||
return_reg v1
|
||||
return
|
||||
; check: [Iret#19]
|
||||
; sameln: return_reg
|
||||
; sameln: return
|
||||
}
|
||||
|
||||
@@ -8,5 +8,5 @@ ebb0(v1: i32, v2: i32):
|
||||
v3 = iadd v1, v2
|
||||
; check: [R#0c,%x0]
|
||||
; sameln: iadd
|
||||
return_reg v3
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user