Legalize load.i128 and store.i128 with arbitrary offsets

This commit is contained in:
bjorn3
2019-07-18 12:54:59 +02:00
committed by Dan Gohman
parent 67593d997b
commit acd454890c
2 changed files with 67 additions and 7 deletions

View File

@@ -28,19 +28,19 @@ ebb0(v0: i128):
}
function u0:2(i64, i128) fast {
; check: ebb0(v0: i64 [%rdi], v2: i64 [%rsi], v3: i64 [%rdx], v4: i64 [%rbp]):
; check: ebb0(v0: i64 [%rdi], v2: i64 [%rsi], v3: i64 [%rdx], v6: i64 [%rbp]):
ebb0(v0: i64, v1: i128):
; check: store v2, v0
; check: store v3, v0+8
store v1, v0
; 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
; check: v3 = load.i64 v0+8
v1 = load.i128 v0
; check: v2 = load.i64 v0+8
; check: v3 = load.i64 v0+16
v1 = load.i128 v0+8
; check: return v2, v3, v5
return v1
}