This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] New VIA PadLock instructions


Michal Ludvig told me that:

> the attached patch enables (dis)assembling new instructions of the next
> version of VIA PadLock cryptocore. OK to commit?

Ehm ... once again now with the patch really attached ;-)

OK to commit?

Michal Ludvig
-- 
SUSE Labs                    mludvig@suse.cz
(+420) 296.542.396        http://www.suse.cz
Personal homepage http://www.logix.cz/michal
Index: gas/testsuite/ChangeLog
===================================================================
RCS file: /cvs/src/src/gas/testsuite/ChangeLog,v
retrieving revision 1.676
diff -u -p -r1.676 ChangeLog
--- gas/testsuite/ChangeLog	30 Jul 2004 00:29:21 -0000	1.676
+++ gas/testsuite/ChangeLog	30 Jul 2004 12:10:14 -0000
@@ -1,3 +1,8 @@
+2004-07-30  Michal Ludvig  <mludvig@suse.cz>
+
+	* gas/i386/padlock.s, gas/i386/padlock.d: New tests for
+	VIA PadLock instructions.
+
 2004-07-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* gas/sh/basic.exp: Don't do sh2a test for sh5.
Index: gas/testsuite/gas/i386/padlock.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/i386/padlock.d,v
retrieving revision 1.2
diff -u -p -r1.2 padlock.d
--- gas/testsuite/gas/i386/padlock.d	15 Mar 2004 00:45:34 -0000	1.2
+++ gas/testsuite/gas/i386/padlock.d	30 Jul 2004 12:10:14 -0000
@@ -18,4 +18,10 @@ Disassembly of section .text:
   23:[	 ]*f3 0f a7 e8 [	 ]*repz xcryptofb 
   27:[	 ]*0f a7 c0 [	 ]*xstorerng 
   2a:[	 ]*f3 0f a7 c0 [	 ]*repz xstorerng 
+  2e:[	 ]*f3 0f a6 c0 [	 ]*repz montmul 
+  32:[	 ]*f3 0f a6 c0 [	 ]*repz montmul 
+  36:[	 ]*f3 0f a6 c8 [	 ]*repz xsha1 
+  3a:[	 ]*f3 0f a6 c8 [	 ]*repz xsha1 
+  3e:[	 ]*f3 0f a6 d0 [	 ]*repz xsha256 
+  42:[	 ]*f3 0f a6 d0 [	 ]*repz xsha256 
 [ 	]*\.\.\.
Index: gas/testsuite/gas/i386/padlock.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/i386/padlock.s,v
retrieving revision 1.2
diff -u -p -r1.2 padlock.s
--- gas/testsuite/gas/i386/padlock.s	15 Mar 2004 00:45:34 -0000	1.2
+++ gas/testsuite/gas/i386/padlock.s	30 Jul 2004 12:10:14 -0000
@@ -14,5 +14,11 @@ foo:
 	rep xcryptofb
 	xstore
 	rep xstore
+	montmul
+	rep montmul
+	xsha1
+	rep xsha1
+	xsha256
+	rep xsha256
 
 	.p2align 4,0
Index: include/opcode/ChangeLog
===================================================================
RCS file: /cvs/src/src/include/opcode/ChangeLog,v
retrieving revision 1.246
diff -u -p -r1.246 ChangeLog
--- include/opcode/ChangeLog	22 Jul 2004 19:10:49 -0000	1.246
+++ include/opcode/ChangeLog	30 Jul 2004 12:10:14 -0000
@@ -1,3 +1,7 @@
+2004-08-30  Michal Ludvig  <mludvig@suse.cz>
+
+	* i386.h (i386_optab): Added montmul/xsha1/xsha256 insns.
+
 2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* i386.h (i386_optab): Allow cs/ds in 64bit for branch hints.
Index: include/opcode/i386.h
===================================================================
RCS file: /cvs/src/src/include/opcode/i386.h,v
retrieving revision 1.46
diff -u -p -r1.46 i386.h
--- include/opcode/i386.h	22 Jul 2004 19:10:49 -0000	1.46
+++ include/opcode/i386.h	30 Jul 2004 12:10:14 -0000
@@ -1378,6 +1378,9 @@ static const template i386_optab[] =
 {"xcryptcbc", 0, 0xf30fa7d0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
 {"xcryptcfb", 0, 0xf30fa7e0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
 {"xcryptofb", 0, 0xf30fa7e8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"montmul",   0, 0xf30fa6c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xsha1",     0, 0xf30fa6c8, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
+{"xsha256",   0, 0xf30fa6d0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
 /* Alias for xstorerng.  */
 {"xstore",    0, 0x000fa7c0, X, Cpu686|CpuPadLock, NoSuf|IsString, { 0, 0, 0} },
 
Index: opcodes/ChangeLog
===================================================================
RCS file: /cvs/src/src/opcodes/ChangeLog,v
retrieving revision 1.705
diff -u -p -r1.705 ChangeLog
--- opcodes/ChangeLog	29 Jul 2004 05:19:26 -0000	1.705
+++ opcodes/ChangeLog	30 Jul 2004 12:10:14 -0000
@@ -1,3 +1,10 @@
+2004-07-30  Michal Ludvig  <mludvig@suse.cz>
+
+	* i386-dis.c (GRPPADLCK): Renamed to GRPPADLCK1
+	(GRPPADLCK2): New define.
+	(twobyte_has_modrm): True for 0xA6.
+	(grps): GRPPADLCK2 for opcode 0xA6.
+
 2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
 
 	Introduce SH2a support.
Index: opcodes/i386-dis.c
===================================================================
RCS file: /cvs/src/src/opcodes/i386-dis.c,v
retrieving revision 1.49
diff -u -p -r1.49 i386-dis.c
--- opcodes/i386-dis.c	21 Jul 2004 16:09:43 -0000	1.49
+++ opcodes/i386-dis.c	30 Jul 2004 12:10:15 -0000
@@ -389,7 +389,8 @@ fetch_data (struct disassemble_info *inf
 #define GRP13	  NULL, NULL, USE_GROUPS, NULL, 20, NULL, 0
 #define GRP14	  NULL, NULL, USE_GROUPS, NULL, 21, NULL, 0
 #define GRPAMD	  NULL, NULL, USE_GROUPS, NULL, 22, NULL, 0
-#define GRPPADLCK NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0
+#define GRPPADLCK1 NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0
+#define GRPPADLCK2 NULL, NULL, USE_GROUPS, NULL, 24, NULL, 0
 
 #define PREGRP0   NULL, NULL, USE_PREFIX_USER_TABLE, NULL,  0, NULL, 0
 #define PREGRP1   NULL, NULL, USE_PREFIX_USER_TABLE, NULL,  1, NULL, 0
@@ -948,8 +949,8 @@ static const struct dis386 dis386_twobyt
   { "btS",		Ev, Gv, XX },
   { "shldS",		Ev, Gv, Ib },
   { "shldS",		Ev, Gv, CL },
-  { "(bad)",		XX, XX, XX },
-  { GRPPADLCK },
+  { GRPPADLCK2 },
+  { GRPPADLCK1 },
   /* a8 */
   { "pushT",		gs, XX, XX },
   { "popT",		gs, XX, XX },
@@ -1087,7 +1088,7 @@ static const unsigned char twobyte_has_m
   /* 70 */ 1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1, /* 7f */
   /* 80 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 8f */
   /* 90 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 9f */
-  /* a0 */ 0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1, /* af */
+  /* a0 */ 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1, /* af */
   /* b0 */ 1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1, /* bf */
   /* c0 */ 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, /* cf */
   /* d0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* df */
@@ -1451,7 +1452,7 @@ static const struct dis386 grps[][8] = {
     { "(bad)",	XX, XX, XX },
     { "(bad)",	XX, XX, XX },
   },
-  /* GRPPADLCK */
+  /* GRPPADLCK1 */
   {
     { "xstorerng", OP_0f07, 0, XX, XX },
     { "xcryptecb", OP_0f07, 0, XX, XX },
@@ -1461,6 +1462,17 @@ static const struct dis386 grps[][8] = {
     { "xcryptofb", OP_0f07, 0, XX, XX },
     { "(bad)",	   OP_0f07, 0, XX, XX },
     { "(bad)",	   OP_0f07, 0, XX, XX },
+  },
+  /* GRPPADLCK2 */
+  {
+    { "montmul", OP_0f07, 0, XX, XX },
+    { "xsha1",   OP_0f07, 0, XX, XX },
+    { "xsha256", OP_0f07, 0, XX, XX },
+    { "(bad)",	 OP_0f07, 0, XX, XX },
+    { "(bad)",   OP_0f07, 0, XX, XX },
+    { "(bad)",   OP_0f07, 0, XX, XX },
+    { "(bad)",	 OP_0f07, 0, XX, XX },
+    { "(bad)",	 OP_0f07, 0, XX, XX },
   }
 };
 

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]