jlb6740 edited Issue #1943:
@bnjbvr @julian-seward1
Hi, I believe the recent patch https://github.com/bytecodealliance/wasmtime/pull/1915 introduce different behavior with register allocation. Before the patch a floating point add lowered to this:
Disassembly of 10 bytes:
0: 55 push rbp
1: 48 89 e5 mov rbp, rsp
4: f3 0f 58 c1 addss xmm0, xmm1
8: 5d pop rbp
9: c3 retBut afterwards it lowered to this:
Disassembly of 18 bytes:
0: 55 push rbp
1: 48 89 e5 mov rbp, rsp
4: f3 0f 10 c8 movss xmm1, xmm0
8: f3 0f 58 c8 addss xmm1, xmm0
c: f3 0f 10 c1 movss xmm0, xmm1
10: 5d pop rbp
11: c3 retIt is not clear to me what change in this patch introduces these moves nor how to fix them. Any suggestions?
Last updated: Dec 23 2024 at 12:05 UTC