as: i386-Bugs

1 
1 9.15.16 AT&T Syntax bugs
1 ------------------------
1 
1 The UnixWare assembler, and probably other AT&T derived ix86 Unix
1 assemblers, generate floating point instructions with reversed source
1 and destination registers in certain cases.  Unfortunately, gcc and
1 possibly many other programs use this reversed syntax, so we're stuck
1 with it.
1 
1    For example
1 
1              fsub %st,%st(3)
1 results in '%st(3)' being updated to '%st - %st(3)' rather than the
1 expected '%st(3) - %st'.  This happens with all the non-commutative
1 arithmetic floating point operations with two register operands where
1 the source register is '%st' and the destination register is '%st(i)'.
1