This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed] New PA 2.0 opcode entries
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: binutils at sources dot redhat dot com
- Date: Sat, 24 Sep 2005 22:52:51 -0400 (EDT)
- Subject: [committed] New PA 2.0 opcode entries
This patch adds two new "fdc" and one new "fic" entries to the
pa_opcodes table. The new "fic" entry replaces an entry that was
present in earlier versions of binutils. I had noticed that it
was incorrect and deleted it. This caused the linux people to
complain. The old opcode generated wrong code which unfortunately
sometimes flushed the wrong cache line.
The following change builds and checks with no regressions. Committed
to head.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
2005-09-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* hppa.h (pa_opcodes): Add new "fdc" and "fic" opcode entries.
Index: hppa.h
===================================================================
RCS file: /cvs/src/src/include/opcode/hppa.h,v
retrieving revision 1.59
diff -u -3 -p -r1.59 hppa.h
--- hppa.h 3 Aug 2005 15:08:52 -0000 1.59
+++ hppa.h 25 Sep 2005 02:16:55 -0000
@@ -306,7 +306,7 @@ static const char *const completer_chars
3) Where implicit addressing is available for an opcode, the
implicit opcode should precede the explicit opcode, and
- 4) Opcodes without FLAG_STRICT should be order as follows: long
+ 4) Opcodes without FLAG_STRICT should be ordered as follows: long
immediate opcodes, short immediate opcodes and finally register
index opcodes. */
@@ -753,8 +753,11 @@ static const struct pa_opcode pa_opcodes
{ "iitlbp", 0x04000000, 0xfc001fff, "x,(S,b)", pa10, 0},
{ "pdc", 0x04001380, 0xfc00ffdf, "cZx(b)", pa10, 0},
{ "pdc", 0x04001380, 0xfc003fdf, "cZx(s,b)", pa10, 0},
+{ "fdc", 0x04003280, 0xfc00ffff, "5(b)", pa20, FLAG_STRICT},
+{ "fdc", 0x04003280, 0xfc003fff, "5(s,b)", pa20, FLAG_STRICT},
{ "fdc", 0x04001280, 0xfc00ffdf, "cZx(b)", pa10, 0},
{ "fdc", 0x04001280, 0xfc003fdf, "cZx(s,b)", pa10, 0},
+{ "fic", 0x040013c0, 0xfc00dfdf, "cZx(b)", pa20, FLAG_STRICT},
{ "fic", 0x04000280, 0xfc001fdf, "cZx(S,b)", pa10, 0},
{ "fdce", 0x040012c0, 0xfc00ffdf, "cZx(b)", pa10, 0},
{ "fdce", 0x040012c0, 0xfc003fdf, "cZx(s,b)", pa10, 0},