3 ms·
Oh yeah, maybe that one was too obscure for me. I don't think I've ever seen something use PF/AF… You do want FEAT_AFP though, so you do want ARMv8.6+.
by astrange 11mo ago
Oh yeah, maybe that one was too obscure for me. I don't think I've ever seen something use PF/AF…
You do want FEAT_AFP though, so you do want ARMv8.6+.
- bonzini 11mo agoSETP is used rarely to compute parity, though it doesn't really save anything if you can use POPCNT. PF is also used by floating point comparisons with a different meaning though that is not useful for the Arm extension from Apple. AF indeed is basically unused. The problem for both is that you need them for accurate emulation "just in case".
- astrange 11mo agoYou can eliminate flag generation almost all the time with a little optimization (slash deoptimizing if you hit an unexpected use) but it certainly is less convenient to have to implement an optimizer.
- bonzini 11mo agoThe unexpectedly hard bit is switch statements, which are the main case in which compiled code has two back to back jumps... therefore the input flags come from a different basic block and you don't know which instruction generated it.