[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/3000] New: Disassembler: wrong operands are emitted with cvt* i
From: |
dwarak dot rajagopal at amd dot com |
Subject: |
[Bug gas/3000] New: Disassembler: wrong operands are emitted with cvt* instructions |
Date: |
4 Aug 2006 16:11:36 -0000 |
Testcase:
test.s:
.text
Foo:
cvtpd2pi %xmm0,%mm0
cvttpd2pi %xmm0,%mm0
cvtpi2pd %mm0,%xmm0
Assemble it: as test.s
Disassemble : objdump -dw a.out
0000000000000000 <foo>:
0: 66 0f 2d c0 cvtpd2pi %xmm0,%xmm0
4: 66 0f 2c c0 cvttpd2pi %xmm0,%xmm0
8: 66 0f 2a c0 cvtpi2pd %xmm0,%xmm0
As seen abovce the disassembler emits %xmm instead of %mm as register operands.
This is because cvt* are the only instructions which have both mmx and xmm
register operands and have "66" in their opcodes.
In general "66" was used in differentiating between having xmm(SSE) and mm (MMX)
operands/instructions.(eg:padd*,pand etc.,). Hence the above cvt* are special
cases and need to handled separately.
--
Summary: Disassembler: wrong operands are emitted with cvt*
instructions
Product: binutils
Version: 2.18 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gas
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: dwarak dot rajagopal at amd dot com
CC: bug-binutils at gnu dot org,dwarak dot rajagopal at amd
dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=3000
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug gas/3000] New: Disassembler: wrong operands are emitted with cvt* instructions,
dwarak dot rajagopal at amd dot com <=
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/04
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/04
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, hjl at lucon dot org, 2006/08/07
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/08
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/08
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/08
- [Bug gas/3000] Disassembler: wrong operands are emitted with cvt* instructions, dwarak dot rajagopal at amd dot com, 2006/08/18