This patch insert wait after X87 instruction to make sure floating-point exceptions synchronized.
The rule is simple:
- If the X87 instruction don't raise float exception nor is a load/store instruction, or is a x87 control instruction, don't insert wait.
- If the X87 instruction is an instruction which the following instruction is an X87 exception synchronizing X87 instruction, don't insert wait.
- For other situations, insert wait instruction.
FNINIT, FNSTENV, FNSAVE, FNSTSW, FNSTCW, and FNCLEX instructions don't check for pending unmasked
exceptions, they don't synchronize exceptions.
This patch also modify some mayRaiseFPException flag which set in D68854. In D68854, we set mayRaiseFPException =1
in each X87 instruction which could raise Floating-Point Exceptions. Now, we don't set this flag to 1 in instruction which
only have #IS float-point Exceptions.
This is unused