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