Bug in operands to IA32 cvtps2dq instruction in gnu as
amodra@one.net.au
amodra@one.net.au
Sat May 12 02:55:00 GMT 2001
On Fri, May 11, 2001 at 05:55:02PM -0700, Phil Karn wrote:
> The operand table for this instruction probably needs fixing.
Indeed. Looks to me that movdq2q and movq2dq are wrong too.
include/opcode/ChangeLog
* i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
not an mmx reg. Swap xmm/mmx regs on both movdq2q and movq2dq,
and use InvMem as these insns must have register operands.
opcodes/ChangeLog
* i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
movq operands.
gas/testsuite/ChangeLog
* gas/i386/sse2.s: Correct cvtps2dq, movdq2q, and movq2dq
* gas/i386/sse2.d: Likewise. Fix pmuludq too.
* gas/i386/ssemmx2.d: Correct movq.
--
Alan Modra
More information about the Binutils
mailing list