Stream: git-wasmtime

Topic: wasmtime / Issue #1943 Incorrect moves for x64 FLT in new...


view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2020 at 17:22):

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 ret

But 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 ret

It is not clear to me what change in this patch introduces these moves nor how to fix them. Any suggestions?


Last updated: Oct 23 2024 at 20:03 UTC