[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/14859] Redundant ASP generated for jecxz
From: |
kyukhin at gcc dot gnu.org |
Subject: |
[Bug gas/14859] Redundant ASP generated for jecxz |
Date: |
Tue, 20 Nov 2012 06:53:51 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=14859
--- Comment #1 from Kirill Yukhin <kyukhin at gcc dot gnu.org> 2012-11-20
06:53:51 UTC ---
Got following problem if jecxz.
Having following test:
jecxz 1
jrcxz 1
je 1
objdump is:
0000000000000000 <.text>:
0: 67 67 e3 00 addr64 jecxz 0x4
4: e3 00 jrcxz 0x6
6: 0f 84 00 00 00 00 je 0xc
You can see that ASP is doubled for jecxz.
Seems like a bug.
Possible fix would be:
$ git diff opcodes/i386-opc.tbl
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index f2b2f14..e7001e9 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -389,8 +389,7 @@ jg, 1, 0x7f, None, 1, 0,
Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf,
// jcxz vs. jecxz is chosen on the basis of the address size prefix.
jcxz, 1, 0xe3, None, 1, CpuNo64,
JumpByte|Size16|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {
Disp8|Disp16|Disp32 }
-jecxz, 1, 0xe3, None, 1, CpuNo64,
JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {
Disp8|Disp16|Disp32 }
-jecxz, 1, 0x67e3, None, 2, Cpu64,
JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {
Disp8|Disp32|Disp32S }
+jecxz, 1, 0xe3, None, 1, 0,
JumpByte|Size32|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {
Disp8|Disp16|Disp32 }
jrcxz, 1, 0xe3, None, 1, Cpu64,
JumpByte|Size64|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, {
Disp8|Disp32|Disp32S }
// The loop instructions also use the address size prefix to select
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug gas/14859] New: Redundant ASP generated for jecxz, kyukhin at gcc dot gnu.org, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz,
kyukhin at gcc dot gnu.org <=
- [Bug gas/14859] Redundant ASP generated for jecxz, kyukhin at gcc dot gnu.org, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, mikpe at it dot uu.se, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, hjl.tools at gmail dot com, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, cvs-commit at gcc dot gnu.org, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, cvs-commit at gcc dot gnu.org, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, hjl.tools at gmail dot com, 2012/11/20
- [Bug gas/14859] Redundant ASP generated for jecxz, hjl.tools at gmail dot com, 2012/11/20