From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: binutils@sourceware.org
Cc: mludvig@suse.cz
Subject: [RFC/RFA] Proper mnemonics for VIA PadLock (i386) instructions
Date: Tue, 12 Apr 2005 19:15:00 -0000 [thread overview]
Message-ID: <200504121915.j3CJFO0P017574@elgar.sibelius.xs4all.nl> (raw)
This one is a bit nasty. The OpenBSD in-tree gas has had support for
the VIA PadLock instructions for a while. Unfortunately that support
was never submitted for inclusion into the FSF tree. A little over a
year ago Michal Ludvig committed support for these instructions.
Unfortunately he used mnemonics that differ from the instruction names
as used in the VIA documentation; the VIA names include a hyphen that
Michal left out. I presume Michal did this because gas doesn't accept
hyphens in mnemonics. That can be fixed though. This patch does
that, and adds back the missing hyphen. It also adds a missing
instruction that's going to be in the VIA cpu.
This patch keeps hyphen-less aliases for the instructions. The gas
testsuite still passes with this patch applied.
OK?
Mark
Index: gas/ChangeLog
from Mark Kettenis <kettenis@gnu.org>
* config/tc-i386.c (md_begin): Allow hyphens in mnemonics.
Index: include/opcode/ChangeLog
from Mark Kettenis <kettenis@gnu.org>
* i386.h: Insert hyphens into selected VIA PadLock extensions.
Add xcrypt-ctr. Provide aliases without hyphens.
Index: opcodes/ChangeLog
from Mark Kettenis <kettenis@gnu.org>
* i386-dis.c: Insert hyphens into selected VIA PadLock extensions.
Add xcrypt-ctr.
Index: gas/config/tc-i386.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-i386.c,v
retrieving revision 1.173
diff -u -p -r1.173 tc-i386.c
--- gas/config/tc-i386.c 12 Apr 2005 17:12:33 -0000 1.173
+++ gas/config/tc-i386.c 12 Apr 2005 19:01:12 -0000
@@ -1008,6 +1008,7 @@ md_begin ()
operand_chars['?'] = '?';
#endif
digit_chars['-'] = '-';
+ mnemonic_chars['-'] = '-';
identifier_chars['_'] = '_';
identifier_chars['.'] = '.';
Index: include/opcode/i386.h
===================================================================
RCS file: /cvs/src/src/include/opcode/i386.h,v
retrieving revision 1.56
diff -u -p -r1.56 i386.h
--- include/opcode/i386.h 12 Apr 2005 17:12:30 -0000 1.56
+++ include/opcode/i386.h 12 Apr 2005 19:01:16 -0000
@@ -1378,15 +1378,23 @@ static const template i386_optab[] =
{"rdtscp", 0, 0x0f01, 0xf9, CpuSledgehammer,NoSuf|ImmExt, { 0, 0, 0} },
/* VIA PadLock extensions. */
+{"xstore-rng",0, 0x000fa7, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcrypt-ecb",0, 0xf30fa7, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcrypt-cbc",0, 0xf30fa7, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcrypt-ctr",0, 0xf30fa7, 0xd8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcrypt-cfb",0, 0xf30fa7, 0xe0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcrypt-ofb",0, 0xf30fa7, 0xe8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"montmul", 0, 0xf30fa6, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xsha1", 0, 0xf30fa6, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xsha256", 0, 0xf30fa6, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+/* Aliases without hyphens. */
{"xstorerng", 0, 0x000fa7, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
{"xcryptecb", 0, 0xf30fa7, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
{"xcryptcbc", 0, 0xf30fa7, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
+{"xcryptctr", 0, 0xf30fa7, 0xd8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
{"xcryptcfb", 0, 0xf30fa7, 0xe0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
{"xcryptofb", 0, 0xf30fa7, 0xe8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
-{"montmul", 0, 0xf30fa6, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
-{"xsha1", 0, 0xf30fa6, 0xc8, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
-{"xsha256", 0, 0xf30fa6, 0xd0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
-/* Alias for xstorerng. */
+/* Alias for xstore-rng. */
{"xstore", 0, 0x000fa7, 0xc0, Cpu686|CpuPadLock, NoSuf|IsString|ImmExt, { 0, 0, 0} },
/* sentinel */
Index: opcodes/i386-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/i386-dis.c,v
retrieving revision 1.58
diff -u -p -r1.58 i386-dis.c
--- opcodes/i386-dis.c 1 Apr 2005 16:06:40 -0000 1.58
+++ opcodes/i386-dis.c 12 Apr 2005 19:01:19 -0000
@@ -1469,14 +1469,14 @@ static const struct dis386 grps[][8] = {
},
/* GRPPADLCK1 */
{
- { "xstorerng", OP_0f07, 0, XX, XX },
- { "xcryptecb", OP_0f07, 0, XX, XX },
- { "xcryptcbc", OP_0f07, 0, XX, XX },
- { "(bad)", OP_0f07, 0, XX, XX },
- { "xcryptcfb", OP_0f07, 0, XX, XX },
- { "xcryptofb", OP_0f07, 0, XX, XX },
- { "(bad)", OP_0f07, 0, XX, XX },
- { "(bad)", OP_0f07, 0, XX, XX },
+ { "xstore-rng", OP_0f07, 0, XX, XX },
+ { "xcrypt-ecb", OP_0f07, 0, XX, XX },
+ { "xcrypt-cbc", OP_0f07, 0, XX, XX },
+ { "xcrypt-ctr", OP_0f07, 0, XX, XX },
+ { "xcrypt-cfb", OP_0f07, 0, XX, XX },
+ { "xcrypt-ofb", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
},
/* GRPPADLCK2 */
{
next reply other threads:[~2005-04-12 19:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-12 19:15 Mark Kettenis [this message]
2005-04-12 20:32 ` Michal Ludvig
2005-04-12 20:43 ` Mark Kettenis
2005-04-13 0:38 ` Alan Modra
2005-04-13 10:43 ` Thorsten Glaser
2005-04-13 18:55 ` Mark Kettenis
2005-04-13 19:29 ` H. J. Lu
2005-04-13 19:51 ` Mark Kettenis
2005-04-13 12:29 Jan Beulich
[not found] <s25d1e96.084@emea1-mh.id2.novell.com>
2005-04-13 15:20 ` Thorsten Glaser
2005-04-14 1:26 ` Alan Modra
2005-04-16 11:40 ` Mark Kettenis
2005-04-18 4:44 ` Alan Modra
2005-04-18 21:01 ` Mark Kettenis
2005-04-13 23:35 Marc Espie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200504121915.j3CJFO0P017574@elgar.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=binutils@sourceware.org \
--cc=mludvig@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).