FEX-Emu / FEX

A fast usermode x86 and x86-64 emulator for Arm64 Linux
https://fex-emu.com
MIT License
2.36k stars 123 forks source link

80-bit x87 Loadstores can use SVE masked loadstores #4126

Open Sonicadvance1 opened 1 month ago

Sonicadvance1 commented 1 month ago

Currently we need to split these in to a 64-bit and 16-bit loadstore operations. With SVE and masking loadstores this can be changed in to one. First step would probably be to convert current operations that need to do 80-bit loadstores to synthesize the required predicate and then to the loadstore. Step after that would be to add predicate registers to our RA allocator so we can cache the 80-bit predicate across multiple loadstores (like fnsave, frstor would want).

Purely a performance optimization around x87 80-bit loadstores.

pmatos commented 1 month ago

Nice one - I will be looking at implementing this next.