33 lines
1.0 KiB
Plaintext
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: }
|