Files
wasmtime/cranelift/filetests/postopt/fold_offset_into_address.clif

33 lines
1.0 KiB
Plaintext

test postopt
target x86_64
; Fold the immediate of an iadd_imm into an address offset.
function u0:0(i64 vmctx) -> i64 {
ebb0(v0: i64):
v1 = iadd_imm.i64 v0, 16
[RexOp1ldDisp8#808b] v2 = load.i64 notrap aligned v1
[Op1ret#c3] return v2
}
; sameln: function u0:0(i64 vmctx) -> i64 fast {
; nextln: ebb0(v0: i64):
; nextln: v1 = iadd_imm v0, 16
; nextln: [RexOp1ldDisp8#808b] v2 = load.i64 notrap aligned v0+16
; nextln: [Op1ret#c3] return v2
; nextln: }
function u0:1(i64, i64 vmctx) {
ebb0(v3: i64, v0: i64):
v1 = iadd_imm.i64 v0, 16
[RexOp1stDisp8#8089] store.i64 notrap aligned v3, v1
[Op1ret#c3] return
}
; sameln: function u0:1(i64, i64 vmctx) fast {
; nextln: ebb0(v3: i64, v0: i64):
; nextln: v1 = iadd_imm v0, 16
; nextln: [RexOp1stDisp8#8089] store notrap aligned v3, v0+16
; nextln: [Op1ret#c3] return
; nextln: }