Handle isplit when it is not the result of a legalization
This commit is contained in:
@@ -1,13 +1,28 @@
|
||||
test compile
|
||||
target x86_64
|
||||
|
||||
function u0:0(i128) -> i128 fast {
|
||||
ebb0(v0: i128):
|
||||
v1 = iconst.i64 0
|
||||
v2 = iconst.i64 42
|
||||
v3 = iconcat.i64 v2, v1
|
||||
return v3
|
||||
; check: v1 = iconst.i64 0
|
||||
; check: v2 = iconst.i64 42
|
||||
; check: return v2, v1, v7
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user