PERFORCE change 231257 for review

Brooks Davis brooks at FreeBSD.org
Thu Jul 18 16:28:40 UTC 2013


http://p4web.freebsd.org/@@231257?ac=10

Change 231257 by brooks at brooks_zenith on 2013/07/18 16:28:39

	Merge binutils updates from github.com/CTSRD-CHERI/binutils.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/contrib/binutils/opcodes/mips-dis.c#5 edit
.. //depot/projects/ctsrd/cheribsd/src/contrib/binutils/opcodes/mips-opc.c#11 edit

Differences ...

==== //depot/projects/ctsrd/cheribsd/src/contrib/binutils/opcodes/mips-dis.c#5 (text+ko) ====

@@ -921,11 +921,15 @@
 
 	    case 'o':
 	      delta = ((l >> OP_SH_CDELTA) & OP_MASK_CDELTA);
+              if (delta > (OP_MASK_CDELTA >> 1))
+                delta -= (OP_MASK_CDELTA + 1);
 	      (*info->fprintf_func) (info->stream, "%d", delta);
 	      break;
 
 	    case 'O':
               delta = ((l >> OP_SH_CDELTA2) & OP_MASK_CDELTA2);
+              if (delta > (OP_MASK_CDELTA2 >> 1))
+                delta -= (OP_MASK_CDELTA2 + 1);
               (*info->fprintf_func) (info->stream, "%d", delta);
 	      break;
 

==== //depot/projects/ctsrd/cheribsd/src/contrib/binutils/opcodes/mips-opc.c#11 (text+ko) ====

@@ -208,65 +208,80 @@
 {"clcr",     "+x,d(+w)",    0xd8000000, 0xfc0007ff, 0, 0, I1},
 {"csci",     "+x,+o(+w)",   0xf8000000, 0xfc00f800, 0, 0, I1},
 {"clci",     "+x,+o(+w)",   0xd8000000, 0xfc00f800, 0, 0, I1},
+
 {"clbu",     "v,d,+O(+w)",  0xc8000000, 0xfc000007, 0, 0, I1},
 {"clhu",     "v,d,+O(+w)",  0xc8000001, 0xfc000007, 0, 0, I1},
 {"clwu",     "v,d,+O(+w)",  0xc8000002, 0xfc000007, 0, 0, I1},
 /* there is no cldu */
+{"cld",      "v,d,+O(+w)",  0xc8000003, 0xfc000007, 0, 0, I1},
 {"clb",	     "v,d,+O(+w)",  0xc8000004, 0xfc000007, 0, 0, I1},
 {"clh",	     "v,d,+O(+w)",  0xc8000005, 0xfc000007, 0, 0, I1},
 {"clw",      "v,d,+O(+w)",  0xc8000006, 0xfc000007, 0, 0, I1},
-{"cld",      "v,d,+O(+w)",  0xc8000007, 0xfc000007, 0, 0, I1},
+
 {"clbur",    "v,d(+w)",     0xc8000000, 0xfc0007ff, 0, 0, I1},
 {"clhur",    "v,d(+w)",     0xc8000001, 0xfc0007ff, 0, 0, I1},
 {"clwur",    "v,d(+w)",     0xc8000002, 0xfc0007ff, 0, 0, I1},
 /* there is no cldur */
+{"cldr",     "v,d(+w)",     0xc8000003, 0xfc0007ff, 0, 0, I1},
 {"clbr",     "v,d(+w)",     0xc8000004, 0xfc0007ff, 0, 0, I1},
 {"clhr",     "v,d(+w)",     0xc8000005, 0xfc0007ff, 0, 0, I1},
 {"clwr",     "v,d(+w)",     0xc8000006, 0xfc0007ff, 0, 0, I1},
-{"cldr",     "v,d(+w)",     0xc8000007, 0xfc0007ff, 0, 0, I1},
+
 {"clbui",    "v,+O(+w)",    0xc8000000, 0xfc00f807, 0, 0, I1},
 {"clhui",    "v,+O(+w)",    0xc8000001, 0xfc00f807, 0, 0, I1},
 {"clwui",    "v,+O(+w)",    0xc8000002, 0xfc00f807, 0, 0, I1},
-/* there is no cldui */
+/* There is no cldui. Call this opcode cldi as sign-extend and zero-extend
+ * are the same for double-words
+ */
+{"cldi",     "v,+O(+w)",    0xc8000003, 0xfc00f807, 0, 0, I1},
 {"clbi",     "v,+O(+w)",    0xc8000004, 0xfc00f807, 0, 0, I1},
 {"clhi",     "v,+O(+w)",    0xc8000005, 0xfc00f807, 0, 0, I1},
 {"clwi",     "v,+O(+w)",    0xc8000006, 0xfc00f807, 0, 0, I1},
-{"cldi",     "v,+O(+w)",    0xc8000007, 0xfc00f807, 0, 0, I1},
 
-{"csbh",     "v,d,+O(+w)",  0xe8000000, 0xfc000007, 0, 0, I1},
-{"cshh",     "v,d,+O(+w)",  0xe8000001, 0xfc000007, 0, 0, I1},
-{"cswh",     "v,d,+O(+w)",  0xe8000002, 0xfc000007, 0, 0, I1},
+{"csb",	     "v,d,+O(+w)",  0xe8000000, 0xfc000007, 0, 0, I1},
+{"csh",	     "v,d,+O(+w)",  0xe8000001, 0xfc000007, 0, 0, I1},
+{"csw",      "v,d,+O(+w)",  0xe8000002, 0xfc000007, 0, 0, I1},
+{"csd",      "v,d,+O(+w)",  0xe8000003, 0xfc000007, 0, 0, I1},
+{"csbh",     "v,d,+O(+w)",  0xe8000004, 0xfc000007, 0, 0, I1},
+{"cshh",     "v,d,+O(+w)",  0xe8000005, 0xfc000007, 0, 0, I1},
+{"cswh",     "v,d,+O(+w)",  0xe8000006, 0xfc000007, 0, 0, I1},
 /* there is no csdh */
-{"csb",	     "v,d,+O(+w)",  0xe8000004, 0xfc000007, 0, 0, I1},
-{"csh",	     "v,d,+O(+w)",  0xe8000005, 0xfc000007, 0, 0, I1},
-{"csw",      "v,d,+O(+w)",  0xe8000006, 0xfc000007, 0, 0, I1},
-{"csd",      "v,d,+O(+w)",  0xe8000007, 0xfc000007, 0, 0, I1},
 
-{"csbhr",    "v,d(+w)",     0xe8000000, 0xfc0007ff, 0, 0, I1},
-{"cshhr",    "v,d(+w)",     0xe8000001, 0xfc0007ff, 0, 0, I1},
-{"cswhr",    "v,d(+w)",     0xe8000002, 0xfc0007ff, 0, 0, I1},
+{"csbr",     "v,d(+w)",     0xe8000000, 0xfc0007ff, 0, 0, I1},
+{"cshr",     "v,d(+w)",     0xe8000001, 0xfc0007ff, 0, 0, I1},
+{"cswr",     "v,d(+w)",     0xe8000002, 0xfc0007ff, 0, 0, I1},
+{"csdr",     "v,d(+w)",     0xe8000003, 0xfc0007ff, 0, 0, I1},
+{"csbhr",    "v,d(+w)",     0xe8000004, 0xfc0007ff, 0, 0, I1},
+{"cshhr",    "v,d(+w)",     0xe8000005, 0xfc0007ff, 0, 0, I1},
+{"cswhr",    "v,d(+w)",     0xe8000006, 0xfc0007ff, 0, 0, I1},
 /* there is no csdhr */
-{"csbr",     "v,d(+w)",     0xe8000004, 0xfc0007ff, 0, 0, I1},
-{"cshr",     "v,d(+w)",     0xe8000005, 0xfc0007ff, 0, 0, I1},
-{"cswr",     "v,d(+w)",     0xe8000006, 0xfc0007ff, 0, 0, I1},
-{"csdr",     "v,d(+w)",     0xe8000007, 0xfc0007ff, 0, 0, I1},
 
-{"csbhi",     "v,+O(+w)",   0xe8000000, 0xfc00f807, 0, 0, I1},
-{"cshhi",     "v,+O(+w)",   0xe8000001, 0xfc00f807, 0, 0, I1},
-{"cswhi",     "v,+O(+w)",   0xe8000002, 0xfc00f807, 0, 0, I1},
+{"csbi",      "v,+O(+w)",   0xe8000000, 0xfc00f807, 0, 0, I1},
+{"cshi",      "v,+O(+w)",   0xe8000001, 0xfc00f807, 0, 0, I1},
+{"cswi",      "v,+O(+w)",   0xe8000002, 0xfc00f807, 0, 0, I1},
+{"csdi",      "v,+O(+w)",   0xe8000003, 0xfc00f807, 0, 0, I1},
+{"csbhi",     "v,+O(+w)",   0xe8000004, 0xfc00f807, 0, 0, I1},
+{"cshhi",     "v,+O(+w)",   0xe8000005, 0xfc00f807, 0, 0, I1},
+{"cswhi",     "v,+O(+w)",   0xe8000006, 0xfc00f807, 0, 0, I1},
 /* there is no csdhi */
-{"csbi",      "v,+O(+w)",   0xe8000004, 0xfc00f807, 0, 0, I1},
-{"cshi",      "v,+O(+w)",   0xe8000005, 0xfc00f807, 0, 0, I1},
-{"cswi",      "v,+O(+w)",   0xe8000006, 0xfc00f807, 0, 0, I1},
-{"csdi",      "v,+O(+w)",   0xe8000007, 0xfc00f807, 0, 0, I1},
+
+{"clld",      "v,d,+O(+w)", 0xc8000007, 0xfc000007, 0, 0, I1},
+{"cscd",      "v,d,+O(+w)", 0xc8000007, 0xfc000007, 0, 0, I1},
+{"clldr",     "v,d(+w)",    0xc8000007, 0xfc0007ff, 0, 0, I1},
+{"cscdr",     "v,d(+w)",    0xe8000007, 0xfc0007ff, 0, 0, I1},
+{"clldi",     "v,+O(+w)",   0xc8000007, 0xfc00f807, 0, 0, I1},
+{"cscdi",     "v,+O(+w)",   0xe8000007, 0xfc00f807, 0, 0, I1},
 
-{"cjr",       "m(+b)",      0x49000000, 0xffff003f, 0, 0, I1},
-{"cjalr",     "m(+b)",      0x48e00000, 0xffff003f, 0, 0, I1},
 {"csealcode", "+w,+b",      0x48200000, 0xffe007ff, 0, 0, I1},
 {"csealdata", "+w,+b,+v",   0x48400000, 0xffe0003f, 0, 0, I1},
 {"cunseal",   "+w,+b,+v",   0x48600000, 0xffe0003f, 0, 0, I1},
 {"ccall",     "+w,+b",      0x48a00000, 0xffe007ff, 0, 0, I1},
 {"creturn", "",		    0x48c00000, 0xffffffff, 0, 0, I1},
+{"cjalr",     "m(+b)",      0x48e00000, 0xffff003f, 0, 0, I1},
+{"cjr",       "m(+b)",      0x49000000, 0xffff003f, 0, 0, I1},
+{"cbtu",      "+w,p",       0x49200000, 0xffe00000, 0, 0, I1},
+{"cbts",      "+w,p",       0x49400000, 0xffe00000, 0, 0, I1},
+
 {"b",       "p",	0x10000000, 0xffff0000,	UBD,			INSN2_ALIAS,	I1	},/* beq 0,0 */
 {"b",       "p",	0x04010000, 0xffff0000,	UBD,			INSN2_ALIAS,	I1	},/* bgez 0 */
 {"bal",     "p",	0x04110000, 0xffff0000,	UBD|WR_31,		INSN2_ALIAS,	I1	},/* bgezal 0*/


More information about the p4-projects mailing list