47 lines
1.0 KiB
Plaintext
47 lines
1.0 KiB
Plaintext
test compile
|
|
target x86_64
|
|
|
|
function u0:0(i64, i64) -> i128 fast {
|
|
ebb0(v0: i64, v1: i64):
|
|
;check: ebb0(v0: i64 [%rdi], v1: i64 [%rsi], v3: i64 [%rbp]):
|
|
|
|
v2 = iconcat.i64 v0, v1
|
|
; check: regmove v0, %rdi -> %rax
|
|
; check: regmove v1, %rsi -> %rdx
|
|
|
|
return v2
|
|
; check: v4 = x86_pop.i64
|
|
; check: return v0, v1, v4
|
|
}
|
|
|
|
function u0:1(i128) -> i64, i64 fast {
|
|
ebb0(v0: i128):
|
|
; check: ebb0(v3: i64 [%rdi], v4: i64 [%rsi], v5: i64 [%rbp]):
|
|
|
|
v1, v2 = isplit v0
|
|
; check: regmove v3, %rdi -> %rax
|
|
; check: regmove v4, %rsi -> %rdx
|
|
|
|
return v1, v2
|
|
; check: v6 = x86_pop.i64
|
|
; check: return v3, v4, v6
|
|
}
|
|
|
|
function u0:2(i64, i128) fast {
|
|
; check: ebb0(v0: i64 [%rdi], v2: i64 [%rsi], v3: i64 [%rdx], v6: i64 [%rbp]):
|
|
ebb0(v0: i64, v1: i128):
|
|
; check: store v2, v0+8
|
|
; check: store v3, v0+16
|
|
store v1, v0+8
|
|
return
|
|
}
|
|
|
|
function u0:3(i64) -> i128 fast {
|
|
ebb0(v0: i64):
|
|
; check: v2 = load.i64 v0+8
|
|
; check: v3 = load.i64 v0+16
|
|
v1 = load.i128 v0+8
|
|
; check: return v2, v3, v5
|
|
return v1
|
|
}
|