DescriptionX87: [turbofan] avoid xchg instruction on Intel.
port 7440edae1da2b78a37e6fe3a558e249dc33444aa(r33282)
original commit message:
On Intel, xchg stalls the pipeline. We use xchg to implement swap
moves. In a separate exploration, the presence of xchg in a very hot
loop, due to a change in register allocation, lead to over 20% regression.
Simply changing that instruction with push/mov/pop (almost) eliminated
the regression.
In light of that, I removed uses of xchg. This leads to more instructions,
though. That is particularly problematic for long cycles, which, today,
we translate to successions of swaps.
I plan to address this cycle issue in a separate change. For now, the
goal is to unblock the initial work that lead here.
BUG=
Patch Set 1 #
Messages
Total messages: 3 (1 generated)
|