This is the mail archive of the binutils@sourceware.org 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: Update binutils for Itanium SDM 2.2


Why did you not also add the tf instruction? Jan

>>> "H. J. Lu" <hjl@lucon.org> 16.02.06 01:18:30 >>>
Itanium SDM has been updated to 2.2:

http://developer.intel.com/design/itanium/manuals/iiasdmanual.htm 

This patch supports SDM 2.2 and 2 new instructions, vmsw.0 and vmsw.1.


H.J.
----
gas/

2006-02-15  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-ia64.c (specify_resource): Updated for SDM 2.2.

gas/testsuite/

2006-02-15  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/ia64/dv-raw-err.s: Add check for vmsw.0.
	* gas/ia64/dv-raw-err.l: Updated.

	* gas/ia64/opc-b.s: Add vmsw.0 and vmsw.1.
	* gas/ia64/opc-b.d: Updated.

opcodes/

2006-02-15  H.J. Lu  <hongjiu.lu@intel.com>

	* ia64-gen.c (lookup_regindex): Handle ".vm".
	(print_dependency_table): Handle '\"'.

	* ia64-ic.tbl: Updated from SDM 2.2.
	* ia64-raw.tbl: Likewise.
	* ia64-waw.tbl: Likewise.
	* ia64-asmtab.c: Regenerated.

	* ia64-opc-b.c (ia64_opcodes_b): Add vmsw.0 and vmsw.1.

--- binutils/gas/config/tc-ia64.c.vmsw	2005-07-27 08:41:16.000000000 -0700
+++ binutils/gas/config/tc-ia64.c	2005-08-04 09:12:50.334203892 -0700
@@ -9405,7 +9405,7 @@ dep->name, idesc->name, (rsrc_write?"wri
 
     case IA64_RS_CRX:
       /* Handle all CR[REG] resources */
-      if (note == 0 || note == 1)
+      if (note == 0 || note == 1 || note == 17)
 	{
 	  if (idesc->operands[!rsrc_write] == IA64_OPND_CR3)
 	    {
--- binutils/gas/testsuite/gas/ia64/dv-raw-err.l.vmsw	2005-02-17 14:14:40.000000000 -0800
+++ binutils/gas/testsuite/gas/ia64/dv-raw-err.l	2005-08-04 10:19:46.819407615 -0700
@@ -291,3 +291,5 @@
 .*:592: Warning: This is the location of the conflicting usage
 .*:593: Warning: Use of 'ldfd' .* WAW dependency 'GR%, % in 1 - 127' \(impliedf\), specific resource number is 6
 .*:592: Warning: This is the location of the conflicting usage
+.*:601: Warning: Use of 'ld8' .* RAW dependency 'PSR\.vm' \(implied\)
+.*:600: Warning: This is the location of the conflicting usage
--- binutils/gas/testsuite/gas/ia64/dv-raw-err.s.vmsw	2005-02-17 14:14:40.000000000 -0800
+++ binutils/gas/testsuite/gas/ia64/dv-raw-err.s	2005-08-04 10:20:59.609429838 -0700
@@ -594,3 +594,9 @@
 	;;
 
 L:
+	br.ret.sptk     rp
+
+// PSR.vm. New in SDM 2.2
+	vmsw.0
+	ld8	r2 = [r1]
+	;;
--- binutils/gas/testsuite/gas/ia64/opc-b.d.vmsw	2005-03-28 14:54:24.000000000 -0800
+++ binutils/gas/testsuite/gas/ia64/opc-b.d	2005-08-04 09:12:50.343202411 -0700
@@ -1016,6 +1016,6 @@ Disassembly of section .text:
     2bf0:	16 f8 ff 0f 00 00 	\[BBB\]       break\.b 0x1ffff
     2bf6:	00 00 00 02 10 e0 	            hint\.b 0x0
     2bfc:	ff 3f 04 20       	            hint\.b 0x1ffff
-    2c00:	1d 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
-    2c06:	00 00 00 02 00 e0 	            nop\.f 0x0
-    2c0c:	ff 3f 00 20       	            nop\.b 0x1ffff;;
+    2c00:	17 f8 ff 0f 00 08 	\[BBB\]       nop\.b 0x1ffff
+    2c06:	00 00 00 30 00 00 	            vmsw.0
+    2c0c:	00 00 64 00       	            vmsw.1;;
--- binutils/gas/testsuite/gas/ia64/opc-b.s.vmsw	2002-12-04 18:08:01.000000000 -0800
+++ binutils/gas/testsuite/gas/ia64/opc-b.s	2005-08-04 09:12:50.347201754 -0700
@@ -831,3 +831,7 @@
 	hint.b	@pause
 	hint.b	0x1ffff
 	nop.b	0x1ffff
+
+	# instructions added by SDM2.2:
+	vmsw.0
+	vmsw.1
--- binutils/opcodes/ia64-gen.c.vmsw	2005-07-07 13:44:36.000000000 -0700
+++ binutils/opcodes/ia64-gen.c	2005-08-04 09:12:50.376196984 -0700
@@ -1400,6 +1400,8 @@ lookup_regindex (const char *name, int s
         return 44;
       else if (strstr (name, ".ia"))
         return 45;
+      else if (strstr (name, ".vm"))
+        return 46;
       else
         abort ();
     default:
@@ -1560,7 +1562,20 @@ print_dependency_table ()
               rdeps[i]->name, specifier,
               (int)rdeps[i]->mode, (int)rdeps[i]->semantics, regindex);
       if (rdeps[i]->semantics == IA64_DVS_OTHER)
-        printf ("\"%s\", ", rdeps[i]->extra);
+	{
+	  const char *quote, *rest;
+
+	  putchar ('\"');
+	  rest = rdeps[i]->extra;
+	  quote = strchr (rest, '\"');
+	  while (quote != NULL)
+	    {
+	      printf ("%.*s\\\"", (int) (quote - rest), rest);
+	      rest = quote + 1;
+	      quote = strchr (rest, '\"');
+	    }
+	  printf ("%s\", ", rest);
+	}
       else
 	printf ("NULL, ");
       printf("},\n");
--- binutils/opcodes/ia64-ic.tbl.vmsw	2003-04-08 02:50:05.000000000 -0700
+++ binutils/opcodes/ia64-ic.tbl	2005-08-04 09:12:50.383195833 -0700
@@ -20,10 +20,10 @@ fpcmp-s0;	fpcmp[Field(sf)==s0]
 fpcmp-s1;	fpcmp[Field(sf)==s1]
 fpcmp-s2;	fpcmp[Field(sf)==s2]
 fpcmp-s3;	fpcmp[Field(sf)==s3]
-fr-readers;	IC:fp-arith, IC:fp-non-arith, IC:pr-writers-fp, chk.s[Format in {M21}], getf, IC:mem-writers-fp
+fr-readers;	IC:fp-arith, IC:fp-non-arith, IC:mem-writers-fp, IC:pr-writers-fp, chk.s[Format in {M21}], getf
 fr-writers;	IC:fp-arith, IC:fp-non-arith\fclass, IC:mem-readers-fp, setf
 gr-readers;	IC:gr-readers-writers, IC:mem-readers, IC:mem-writers, chk.s, cmp, cmp4, fc, itc.i, itc.d, itr.i, itr.d, IC:mov-to-AR-gr, IC:mov-to-BR, IC:mov-to-CR, IC:mov-to-IND, IC:mov-from-IND, IC:mov-to-PR-allreg, IC:mov-to-PSR-l, IC:mov-to-PSR-um, IC:probe-all, ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, setf, tbit, tnat
-gr-readers-writers;	IC:mov-from-IND, add, addl, addp4, adds, and, andcm, IC:czx, dep\dep[Format in {I13}], extr, IC:mem-readers-int, IC:ld-all-postinc, IC:lfetch-postinc, IC:mix, IC:mux, or, IC:pack, IC:padd, IC:pavg, IC:pavgsub, IC:pcmp, IC:pmax, IC:pmin, IC:pmpy, IC:pmpyshr, popcnt, IC:probe-nofault, IC:psad, IC:pshl, IC:pshladd, IC:pshr, IC:pshradd, IC:psub, shl, shladd, shladdp4, shr, shrp, IC:st-postinc, sub, IC:sxt, tak, thash, tpa, ttag, IC:unpack, xor, IC:zxt
+gr-readers-writers;	IC:mov-from-IND, add, addl, addp4, adds, and, andcm, clz, IC:czx, dep\dep[Format in {I13}], extr, IC:mem-readers-int, IC:ld-all-postinc, IC:lfetch-postinc, IC:mix, IC:mux, or, IC:pack, IC:padd, IC:pavg, IC:pavgsub, IC:pcmp, IC:pmax, IC:pmin, IC:pmpy, IC:pmpyshr, popcnt, IC:probe-nofault, IC:psad, IC:pshl, IC:pshladd, IC:pshr, IC:pshradd, IC:psub, shl, shladd, shladdp4, shr, shrp, shrp4, IC:st-postinc, sub, IC:sxt, tak, thash, tpa, ttag, IC:unpack, xor, IC:zxt
 gr-writers;	alloc, dep, getf, IC:gr-readers-writers, IC:mem-readers-int, IC:mov-from-AR, IC:mov-from-BR, IC:mov-from-CR, IC:mov-from-PR, IC:mov-from-PSR, IC:mov-from-PSR-um, IC:mov-ip, movl
 indirect-brp;	brp[Format in {B7}]
 indirect-brs;	br.call[Format in {B5}], br.cond[Format in {B4}], br.ia, br.ret
@@ -127,8 +127,9 @@ mov-from-IND-MSR;	IC:mov-from-IND[Field(
 mov-from-IND-PKR;	IC:mov-from-IND[Field(ireg) == pkr]
 mov-from-IND-PMC;	IC:mov-from-IND[Field(ireg) == pmc]
 mov-from-IND-PMD;	IC:mov-from-IND[Field(ireg) == pmd]
-mov-from-IND-priv;	IC:mov-from-IND[Field(ireg) in {dbr ibr msr pkr pmc rr}]
+mov-from-IND-priv;	IC:mov-from-IND[Field(ireg) in {dbr ibr pkr pmc rr}]
 mov-from-IND-RR;	IC:mov-from-IND[Field(ireg) == rr]
+mov-from-interruption-CR;	IC:mov-from-CR-ITIR, IC:mov-from-CR-IFS, IC:mov-from-CR-IIM, IC:mov-from-CR-IIP, IC:mov-from-CR-IPSR, IC:mov-from-CR-ISR, IC:mov-from-CR-IFA, IC:mov-from-CR-IHA, IC:mov-from-CR-IIPA
 mov-from-PR;	mov_pr[Format in {I25}]
 mov-from-PSR;	mov_psr[Format in {M36}]
 mov-from-PSR-um;	mov_um[Format in {M36}]
@@ -194,12 +195,14 @@ mov-to-IND-PMC;	IC:mov-to-IND[Field(ireg
 mov-to-IND-PMD;	IC:mov-to-IND[Field(ireg) == pmd]
 mov-to-IND-priv;	IC:mov-to-IND
 mov-to-IND-RR;	IC:mov-to-IND[Field(ireg) == rr]
+mov-to-interruption-CR;	IC:mov-to-CR-ITIR, IC:mov-to-CR-IFS, IC:mov-to-CR-IIM, IC:mov-to-CR-IIP, IC:mov-to-CR-IPSR, IC:mov-to-CR-ISR, IC:mov-to-CR-IFA, IC:mov-to-CR-IHA, IC:mov-to-CR-IIPA
 mov-to-PR;	IC:mov-to-PR-allreg, IC:mov-to-PR-rotreg
 mov-to-PR-allreg;	mov_pr[Format in {I23}]
 mov-to-PR-rotreg;	mov_pr[Format in {I24}]
 mov-to-PSR-l;	mov_psr[Format in {M35}]
 mov-to-PSR-um;	mov_um[Format in {M35}]
 mux;	mux1, mux2
+non-access;	fc, lfetch, IC:probe-all, tpa, tak
 none;	-
 pack;	pack2, pack4
 padd;	padd1, padd2, padd4
@@ -212,19 +215,19 @@ pmpy;	pmpy2
 pmpyshr;	pmpyshr2
 pr-and-writers;	IC:pr-gen-writers-int[Field(ctype) in {and andcm}], IC:pr-gen-writers-int[Field(ctype) in {or.andcm and.orcm}]
 pr-gen-writers-fp;	fclass, fcmp
-pr-gen-writers-int;	cmp, cmp4, tbit, tnat
+pr-gen-writers-int;	cmp, cmp4, tbit, tf, tnat
 pr-norm-writers-fp;	IC:pr-gen-writers-fp[Field(ctype)==]
 pr-norm-writers-int;	IC:pr-gen-writers-int[Field(ctype)==]
 pr-or-writers;	IC:pr-gen-writers-int[Field(ctype) in {or orcm}], IC:pr-gen-writers-int[Field(ctype) in {or.andcm and.orcm}]
 pr-readers-br;	br.call, br.cond, brl.call, brl.cond, br.ret, br.wexit, br.wtop, break.b, hint.b, nop.b, IC:ReservedBQP
-pr-readers-nobr-nomovpr;	add, addl, addp4, adds, and, andcm, break.f, break.i, break.m, break.x, chk.s, IC:chk-a, cmp, cmp4, IC:cmpxchg, IC:czx, dep, extr, IC:fp-arith, IC:fp-non-arith, fc, fchkf, fclrf, fcmp, IC:fetchadd, fpcmp, fsetc, fwb, getf, hint.f, hint.i, hint.m, hint.x, IC:invala-all, itc.i, itc.d, itr.i, itr.d, IC:ld, IC:ldf, IC:ldfp, IC:lfetch-all, mf, IC:mix, IC:mov-from-AR-M, IC:mov-from-AR-IM, IC:mov-from-AR-I, IC:mov-to-AR-M, IC:mov-to-AR-I, IC:mov-to-AR-IM, IC:mov-to-BR, IC:mov-from-BR, IC:mov-to-CR, IC:mov-from-CR, IC:mov-to-IND, IC:mov-from-IND, IC:mov-ip, IC:mov-to-PSR-l, IC:mov-to-PSR-um, IC:mov-from-PSR, IC:mov-from-PSR-um, movl, IC:mux, nop.f, nop.i, nop.m, nop.x, or, IC:pack, IC:padd, IC:pavg, IC:pavgsub, IC:pcmp, IC:pmax, IC:pmin, IC:pmpy, IC:pmpyshr, popcnt, IC:probe-all, IC:psad, IC:pshl, IC:pshladd, IC:pshr, IC:pshradd, IC:psub, ptc.e, ptc.g, ptc.ga, ptc.l, ptr.d, ptr.i, IC:ReservedQP, rsm, setf, shl, shladd, shladdp4, shr, shrp, srlz.i, srlz.d, ssm, IC:st, IC:stf, sub, sum, IC:sxt, sync, tak, tbit, thash, tnat, tpa, ttag, IC:unpack, IC:xchg, xma, xmpy, xor, IC:zxt
+pr-readers-nobr-nomovpr;	add, addl, addp4, adds, and, andcm, break.f, break.i, break.m, break.x, chk.s, IC:chk-a, cmp, cmp4, IC:cmpxchg, clz, IC:czx, dep, extr, IC:fp-arith, IC:fp-non-arith, fc, fchkf, fclrf, fcmp, IC:fetchadd, fpcmp, fsetc, fwb, getf, hint.f, hint.i, hint.m, hint.x, IC:invala-all, itc.i, itc.d, itr.i, itr.d, IC:ld, IC:ldf, IC:ldfp, IC:lfetch-all, mf, IC:mix, IC:mov-from-AR-M, IC:mov-from-AR-IM, IC:mov-from-AR-I, IC:mov-to-AR-M, IC:mov-to-AR-I, IC:mov-to-AR-IM, IC:mov-to-BR, IC:mov-from-BR, IC:mov-to-CR, IC:mov-from-CR, IC:mov-to-IND, IC:mov-from-IND, IC:mov-ip, IC:mov-to-PSR-l, IC:mov-to-PSR-um, IC:mov-from-PSR, IC:mov-from-PSR-um, movl, IC:mux, nop.f, nop.i, nop.m, nop.x, or, IC:pack, IC:padd, IC:pavg, IC:pavgsub, IC:pcmp, IC:pmax, IC:pmin, IC:pmpy, IC:pmpyshr, popcnt, IC:probe-all, IC:psad, IC:pshl, IC:pshladd, IC:pshr, IC:pshradd, IC:psub, ptc.e, ptc.g, ptc.ga, ptc.l, ptr.d, ptr.i, IC:ReservedQP, rsm, setf, shl, shladd, shladdp4, shr, shrp, shrp4, srlz.i, srlz.d, ssm, IC:st, IC:stf, sub, sum, IC:sxt, sync, tak, tbit, tf, thash, tnat, tpa, ttag, IC:unpack, IC:xchg, xma, xmpy, xor, IC:zxt
 pr-unc-writers-fp;	IC:pr-gen-writers-fp[Field(ctype)==unc]+11, fprcpa+11, fprsqrta+11, frcpa+11, frsqrta+11
 pr-unc-writers-int;	IC:pr-gen-writers-int[Field(ctype)==unc]+11
 pr-writers;	IC:pr-writers-int, IC:pr-writers-fp
 pr-writers-fp;	IC:pr-norm-writers-fp, IC:pr-unc-writers-fp
 pr-writers-int;	IC:pr-norm-writers-int, IC:pr-unc-writers-int, IC:pr-and-writers, IC:pr-or-writers
 predicatable-instructions;	IC:mov-from-PR, IC:mov-to-PR, IC:pr-readers-br, IC:pr-readers-nobr-nomovpr
-priv-ops;	IC:mov-to-IND-priv, bsw, itc.i, itc.d, itr.i, itr.d, IC:mov-to-CR, IC:mov-from-CR, IC:mov-to-PSR-l, IC:mov-from-PSR, IC:mov-from-IND-priv, ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, rfi, rsm, ssm, tak, tpa
+priv-ops;	IC:mov-to-IND-priv, bsw, itc.i, itc.d, itr.i, itr.d, IC:mov-to-CR, IC:mov-from-CR, IC:mov-to-PSR-l, IC:mov-from-PSR, IC:mov-from-IND-priv, ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, rfi, rsm, ssm, tak, tpa, vmsw
 probe-all;	IC:probe-fault, IC:probe-nofault
 probe-fault;	probe[Format in {M40}]
 probe-nofault;	probe[Format in {M38 M39}]
@@ -244,7 +247,7 @@ stf;	stfs, stfd, stfe, stf8, stf.spill
 sxt;	sxt1, sxt2, sxt4
 sys-mask-writers-partial;	rsm, ssm
 unpack;	unpack1, unpack2, unpack4
-unpredicatable-instructions;	alloc, br.cloop, br.ctop, br.cexit, br.ia, brp, bsw, clrrrb, cover, epc, flushrs, loadrs, rfi
+unpredicatable-instructions;	alloc, br.cloop, br.ctop, br.cexit, br.ia, brp, bsw, clrrrb, cover, epc, flushrs, loadrs, rfi, vmsw
 user-mask-writers-partial;	rum, sum
 xchg;	xchg1, xchg2, xchg4, xchg8
 zxt;	zxt1, zxt2, zxt4
--- binutils/opcodes/ia64-opc-b.c.vmsw	2005-05-07 06:58:01.000000000 -0700
+++ binutils/opcodes/ia64-opc-b.c	2005-08-04 09:12:50.385195504 -0700
@@ -197,6 +197,8 @@ struct ia64_opcode ia64_opcodes_b[] =
     {"bsw.0",		B0, OpX6 (0, 0x0c), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
     {"bsw.1",		B0, OpX6 (0, 0x0d), {0, }, NO_PRED | LAST | PRIV, 0, NULL},
     {"epc",		B0, OpX6 (0, 0x10), {0, }, NO_PRED, 0, NULL},
+    {"vmsw.0",		B0, OpX6 (0, 0x18), {0, }, NO_PRED | PRIV, 0, NULL},
+    {"vmsw.1",		B0, OpX6 (0, 0x19), {0, }, NO_PRED | PRIV, 0, NULL},
 
     {"break.b",		B0, OpX6 (0, 0x00), {IMMU21}, EMPTY},
 
--- binutils/opcodes/ia64-raw.tbl.vmsw	2002-12-04 18:08:02.000000000 -0800
+++ binutils/opcodes/ia64-raw.tbl	2005-08-04 09:12:50.386195339 -0700
@@ -2,8 +2,8 @@ Resource Name;	Writers;	Readers;	Semanti
 ALAT;	chk.a.clr, IC:mem-readers-alat, IC:mem-writers, IC:invala-all;	IC:mem-readers-alat, IC:mem-writers, IC:chk-a, invala.e;	none
 AR[BSP];	br.call, brl.call, br.ret, cover, IC:mov-to-AR-BSPSTORE, rfi;	br.call, brl.call, br.ia, br.ret, cover, flushrs, loadrs, IC:mov-from-AR-BSP, rfi;	impliedF
 AR[BSPSTORE];	alloc, loadrs, flushrs, IC:mov-to-AR-BSPSTORE;	alloc, br.ia, flushrs, IC:mov-from-AR-BSPSTORE;	impliedF
-AR[CFLG];	IC:mov-to-AR-CFLG;	br.ia, IC:mov-from-AR-CFLG;	impliedF
 AR[CCV];	IC:mov-to-AR-CCV;	br.ia, IC:cmpxchg, IC:mov-from-AR-CCV;	impliedF
+AR[CFLG];	IC:mov-to-AR-CFLG;	br.ia, IC:mov-from-AR-CFLG;	impliedF
 AR[CSD];	ld16, IC:mov-to-AR-CSD;	br.ia, cmp8xchg16, IC:mov-from-AR-CSD, st16;	impliedF
 AR[EC];	IC:mod-sched-brs, br.ret, IC:mov-to-AR-EC;	br.call, brl.call, br.ia, IC:mod-sched-brs, IC:mov-from-AR-EC;	impliedF
 AR[EFLAG];	IC:mov-to-AR-EFLAG;	br.ia, IC:mov-from-AR-EFLAG;	impliedF
@@ -44,7 +44,7 @@ CFM;	alloc;	IC:cfm-readers;	none
 CPUID#;	IC:none;	IC:mov-from-IND-CPUID+3;	specific
 CR[CMCV];	IC:mov-to-CR-CMCV;	IC:mov-from-CR-CMCV;	data
 CR[DCR];	IC:mov-to-CR-DCR;	IC:mov-from-CR-DCR, IC:mem-readers-spec;	data
-CR[EOI];	IC:mov-to-CR-EOI;	IC:none;	SC Section 10.8.3.4
+CR[EOI];	IC:mov-to-CR-EOI;	IC:none;	SC Section 5.8.3.4, "End of External Interrupt Register (EOI Ð CR67)" on page 2:119
 CR[GPTA];	IC:mov-to-CR-GPTA;	IC:mov-from-CR-GPTA, thash;	data
 CR[IFA];	IC:mov-to-CR-IFA;	itc.i, itc.d, itr.i, itr.d;	implied
 CR[IFA];	IC:mov-to-CR-IFA;	IC:mov-from-CR-IFA;	data
@@ -65,24 +65,25 @@ CR[ITIR];	IC:mov-to-CR-ITIR;	itc.i, itc.
 CR[ITM];	IC:mov-to-CR-ITM;	IC:mov-from-CR-ITM;	data
 CR[ITV];	IC:mov-to-CR-ITV;	IC:mov-from-CR-ITV;	data
 CR[IVA];	IC:mov-to-CR-IVA;	IC:mov-from-CR-IVA;	instr
-CR[IVR];	IC:none;	IC:mov-from-CR-IVR;	SC Section 10.8.3.2
-CR[LID];	IC:mov-to-CR-LID;	IC:mov-from-CR-LID;	SC Section 10.8.3.1
+CR[IVR];	IC:none;	IC:mov-from-CR-IVR;	SC Section 5.8.3.2, "External Interrupt Vector Register (IVR Ð CR65)" on page 2:118
+CR[LID];	IC:mov-to-CR-LID;	IC:mov-from-CR-LID;	SC Section 5.8.3.1, "Local ID (LID Ð CR64)" on page 2:117
 CR[LRR%], % in 0 - 1;	IC:mov-to-CR-LRR+1;	IC:mov-from-CR-LRR+1;	data
 CR[PMV];	IC:mov-to-CR-PMV;	IC:mov-from-CR-PMV;	data
-CR[PTA];	IC:mov-to-CR-PTA;	IC:mov-from-CR-PTA, thash;	data
+CR[PTA];	IC:mov-to-CR-PTA;	IC:mov-from-CR-PTA, IC:mem-readers, IC:mem-writers, IC:non-access, thash;	data
 CR[TPR];	IC:mov-to-CR-TPR;	IC:mov-from-CR-TPR, IC:mov-from-CR-IVR;	data
-CR[TPR];	IC:mov-to-CR-TPR;	IC:mov-to-PSR-l, rfi, rsm, ssm;	SC Section 10.8.3.3
+CR[TPR];	IC:mov-to-CR-TPR;	IC:mov-to-PSR-l+17, ssm+17;	SC Section 5.8.3.3, "Task Priority Register (TPR Ð CR66)" on page 2:119
+CR[TPR];	IC:mov-to-CR-TPR;	rfi;	implied
 CR%, % in 3-7, 10-15, 18, 26-63, 75-79, 82-127;	IC:none;	IC:mov-from-CR-rv+1;	none
 DBR#;	IC:mov-to-IND-DBR+3;	IC:mov-from-IND-DBR+3;	impliedF
 DBR#;	IC:mov-to-IND-DBR+3;	IC:probe-all, IC:lfetch-all, IC:mem-readers, IC:mem-writers;	data
-DTC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, itc.i, itc.d, itr.i, itr.d;	IC:mem-readers, IC:mem-writers, fc, IC:probe-all, tak, tpa;	data
+DTC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, itc.i, itc.d, itr.i, itr.d;	IC:mem-readers, IC:mem-writers, IC:non-access;	data
 DTC;	itc.i, itc.d, itr.i, itr.d;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, itc.i, itc.d, itr.i, itr.d;	impliedF
 DTC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	none
 DTC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	itc.i, itc.d, itr.i, itr.d;	impliedF
 DTC_LIMIT*;	ptc.g, ptc.ga;	ptc.g, ptc.ga;	impliedF
-DTR;	itr.d;	IC:mem-readers, IC:mem-writers, fc, IC:probe-all, tak, tpa;	data
+DTR;	itr.d;	IC:mem-readers, IC:mem-writers, IC:non-access;	data
 DTR;	itr.d;	ptc.g, ptc.ga, ptc.l, ptr.d, itr.d;	impliedF
-DTR;	ptr.d;	IC:mem-readers, IC:mem-writers, fc, IC:probe-all, tak, tpa;	data
+DTR;	ptr.d;	IC:mem-readers, IC:mem-writers, IC:non-access;	data
 DTR;	ptr.d;	ptc.g, ptc.ga, ptc.l, ptr.d;	none
 DTR;	ptr.d;	itr.d, itc.d;	impliedF
 FR%, % in 0 - 1;	IC:none;	IC:fr-readers+1;	none
@@ -96,17 +97,17 @@ InService*;	IC:mov-to-CR-EOI;	IC:mov-fro
 InService*;	IC:mov-from-CR-IVR;	IC:mov-from-CR-IVR;	impliedF
 InService*;	IC:mov-to-CR-EOI;	IC:mov-to-CR-EOI;	impliedF
 IP;	IC:all;	IC:all;	none
-ITC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	epc;	instr
+ITC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	epc, vmsw;	instr
 ITC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	itc.i, itc.d, itr.i, itr.d;	impliedF
 ITC;	ptc.e, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d;	ptr.i, ptr.d, ptc.e, ptc.g, ptc.ga, ptc.l;	none
-ITC;	itc.i, itc.d, itr.i, itr.d;	epc;	instr
+ITC;	itc.i, itc.d, itr.i, itr.d;	epc, vmsw;	instr
 ITC;	itc.i, itc.d, itr.i, itr.d;	itc.d, itc.i, itr.d, itr.i, ptr.d, ptr.i, ptc.g, ptc.ga, ptc.l;	impliedF
 ITC_LIMIT*;	ptc.g, ptc.ga;	ptc.g, ptc.ga;	impliedF
 ITR;	itr.i;	itr.i, itc.i, ptc.g, ptc.ga, ptc.l, ptr.i;	impliedF
-ITR;	itr.i;	epc;	instr
+ITR;	itr.i;	epc, vmsw;	instr
 ITR;	ptr.i;	itc.i, itr.i;	impliedF
 ITR;	ptr.i;	ptc.g, ptc.ga, ptc.l, ptr.i;	none
-ITR;	ptr.i;	epc;	instr
+ITR;	ptr.i;	epc, vmsw;	instr
 memory;	IC:mem-writers;	IC:mem-readers;	none
 MSR#;	IC:mov-to-IND-MSR+5;	IC:mov-from-IND-MSR+5;	specific
 PKR#;	IC:mov-to-IND-PKR+3;	IC:mem-readers, IC:mem-writers, IC:mov-from-IND-PKR+4, IC:probe-all;	data
@@ -114,7 +115,7 @@ PKR#;	IC:mov-to-IND-PKR+3;	IC:mov-to-IND
 PKR#;	IC:mov-to-IND-PKR+3;	IC:mov-from-IND-PKR+3;	impliedF
 PKR#;	IC:mov-to-IND-PKR+3;	IC:mov-to-IND-PKR+3;	impliedF
 PMC#;	IC:mov-to-IND-PMC+3;	IC:mov-from-IND-PMC+3;	impliedF
-PMC#;	IC:mov-to-IND-PMC+3;	IC:mov-from-IND-PMD+3;	SC+3 Section 12.1.1
+PMC#;	IC:mov-to-IND-PMC+3;	IC:mov-from-IND-PMD+3;	SC Section 7.2.1, "Generic Performance Counter Registers" for PMC[0].fr on page 2:150
 PMD#;	IC:mov-to-IND-PMD+3;	IC:mov-from-IND-PMD+3;	impliedF
 PR0;	IC:pr-writers+1;	IC:pr-readers-br+1, IC:pr-readers-nobr-nomovpr+1, IC:mov-from-PR+12, IC:mov-to-PR+12;	none
 PR%, % in 1 - 15;	IC:pr-writers+1, IC:mov-to-PR-allreg+7;	IC:pr-readers-nobr-nomovpr+1, IC:mov-from-PR, IC:mov-to-PR+12;	impliedF
@@ -127,56 +128,69 @@ PR63;	IC:mod-sched-brs, IC:pr-writers+1,
 PR63;	IC:pr-writers-fp+1, IC:mod-sched-brs;	IC:pr-readers-br+1;	impliedF
 PR63;	IC:pr-writers-int+1, IC:mov-to-PR-allreg+7, IC:mov-to-PR-rotreg;	IC:pr-readers-br+1;	none
 PSR.ac;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um;	IC:mem-readers, IC:mem-writers;	implied
-PSR.ac;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mem-readers, IC:mem-writers;	data
-PSR.ac;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
+PSR.ac;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mem-readers, IC:mem-writers;	data
+PSR.ac;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
+PSR.ac;	rfi;	IC:mem-readers, IC:mem-writers, IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
 PSR.be;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um;	IC:mem-readers, IC:mem-writers;	implied
-PSR.be;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mem-readers, IC:mem-writers;	data
-PSR.be;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
+PSR.be;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mem-readers, IC:mem-writers;	data
+PSR.be;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
+PSR.be;	rfi;	IC:mem-readers, IC:mem-writers, IC:mov-from-PSR, IC:mov-from-PSR-um;	impliedF
 PSR.bn;	bsw, rfi;	IC:gr-readers+10, IC:gr-writers+10;	impliedF
-PSR.cpl;	epc, br.ret, rfi;	IC:priv-ops, br.call, brl.call, epc, IC:mov-from-AR-ITC, IC:mov-to-AR-ITC, IC:mov-to-AR-RSC, IC:mov-to-AR-K, IC:mov-from-IND-PMD, IC:probe-all, IC:mem-readers, IC:mem-writers, IC:lfetch-all;	implied
-PSR.da;	rfi;	IC:mem-readers, IC:lfetch-fault, IC:mem-writers, IC:probe-fault;	data
-PSR.db;	IC:mov-to-PSR-l;	IC:mem-readers, IC:mem-writers, IC:probe-fault;	data
+PSR.cpl;	epc, br.ret;	IC:priv-ops, br.call, brl.call, epc, IC:mov-from-AR-ITC, IC:mov-to-AR-ITC, IC:mov-to-AR-RSC, IC:mov-to-AR-K, IC:mov-from-IND-PMD, IC:probe-all, IC:mem-readers, IC:mem-writers, IC:lfetch-all;	implied
+PSR.cpl;	rfi;	IC:priv-ops, br.call, brl.call, epc, IC:mov-from-AR-ITC, IC:mov-to-AR-ITC, IC:mov-to-AR-RSC, IC:mov-to-AR-K, IC:mov-from-IND-PMD, IC:probe-all, IC:mem-readers, IC:mem-writers, IC:lfetch-all;	impliedF
+PSR.da;	rfi;	IC:mem-readers, IC:lfetch-all, IC:mem-writers, IC:probe-fault;	impliedF
+PSR.db;	IC:mov-to-PSR-l;	IC:lfetch-all, IC:mem-readers, IC:mem-writers, IC:probe-fault;	data
 PSR.db;	IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
-PSR.db;	rfi;	IC:mem-readers, IC:mem-writers, IC:mov-from-PSR, IC:probe-fault;	data
-PSR.dd;	rfi;	IC:mem-readers, IC:probe-fault, IC:mem-writers, IC:lfetch-fault;	data
-PSR.dfh;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:fr-readers+8, IC:fr-writers+8;	data
-PSR.dfh;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.dfl;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:fr-writers+8, IC:fr-readers+8;	data
-PSR.dfl;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.di;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	br.ia;	data
-PSR.di;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.dt;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mem-readers, IC:mem-writers;	data
-PSR.dt;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.ed;	rfi;	IC:lfetch-all, IC:mem-readers-spec;	data
-PSR.i;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
-PSR.i;	rfi;	IC:mov-from-PSR;	data
-PSR.ia;	rfi;	IC:none;	none
-PSR.ic;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.ic;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	cover, itc.i, itc.d, itr.i, itr.d, IC:mov-from-CR-ITIR, IC:mov-from-CR-IFS, IC:mov-from-CR-IIM, IC:mov-from-CR-IIP, IC:mov-from-CR-IPSR, IC:mov-from-CR-ISR, IC:mov-from-CR-IFA, IC:mov-from-CR-IHA, IC:mov-from-CR-IIPA, IC:mov-to-CR-ITIR, IC:mov-to-CR-IFS, IC:mov-to-CR-IIM, IC:mov-to-CR-IIP, IC:mov-to-CR-IPSR, IC:mov-to-CR-ISR, IC:mov-to-CR-IFA, IC:mov-to-CR-IHA, IC:mov-to-CR-IIPA;	data
-PSR.id;	rfi;	IC:none;	none
+PSR.db;	rfi;	IC:lfetch-all, IC:mem-readers, IC:mem-writers, IC:mov-from-PSR, IC:probe-fault;	impliedF
+PSR.dd;	rfi;	IC:lfetch-all, IC:mem-readers, IC:probe-fault, IC:mem-writers;	impliedF
+PSR.dfh;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:fr-readers+8, IC:fr-writers+8;	data
+PSR.dfh;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.dfh;	rfi;	IC:fr-readers+8, IC:fr-writers+8, IC:mov-from-PSR;	impliedF
+PSR.dfl;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:fr-writers+8, IC:fr-readers+8;	data
+PSR.dfl;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.dfl;	rfi;	IC:fr-writers+8, IC:fr-readers+8, IC:mov-from-PSR;	impliedF
+PSR.di;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	br.ia;	data
+PSR.di;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.di;	rfi;	br.ia, IC:mov-from-PSR;	impliedF
+PSR.dt;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mem-readers, IC:mem-writers, IC:non-access;	data
+PSR.dt;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.dt;	rfi;	IC:mem-readers, IC:mem-writers, IC:non-access, IC:mov-from-PSR;	impliedF
+PSR.ed;	rfi;	IC:lfetch-all, IC:mem-readers-spec;	impliedF
+PSR.i;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
+PSR.ia;	rfi;	IC:all;	none
+PSR.ic;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.ic;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	cover, itc.i, itc.d, itr.i, itr.d, IC:mov-from-interruption-CR, IC:mov-to-interruption-CR;	data
+PSR.ic;	rfi;	IC:mov-from-PSR, cover, itc.i, itc.d, itr.i, itr.d, IC:mov-from-interruption-CR, IC:mov-to-interruption-CR;	impliedF
+PSR.id;	rfi;	IC:all;	none
 PSR.is;	br.ia, rfi;	IC:none;	none
-PSR.it;	rfi;	IC:branches, IC:mov-from-PSR, chk, epc, fchkf;	data
+PSR.it;	rfi;	IC:branches, IC:mov-from-PSR, chk, epc, fchkf, vmsw;	impliedF
 PSR.lp;	IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
 PSR.lp;	IC:mov-to-PSR-l;	br.ret;	data
-PSR.lp;	rfi;	IC:mov-from-PSR, br.ret;	data
-PSR.mc;	rfi;	IC:mov-from-PSR;	none
+PSR.lp;	rfi;	IC:mov-from-PSR, br.ret;	impliedF
+PSR.mc;	rfi;	IC:mov-from-PSR;	impliedF
 PSR.mfh;	IC:fr-writers+9, IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR-um, IC:mov-from-PSR;	impliedF
 PSR.mfl;	IC:fr-writers+9, IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR-um, IC:mov-from-PSR;	impliedF
-PSR.pk;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mem-readers, IC:mem-writers, IC:probe-all;	data
-PSR.pk;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
+PSR.pk;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:lfetch-all, IC:mem-readers, IC:mem-writers, IC:probe-all;	data
+PSR.pk;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.pk;	rfi;	IC:lfetch-all, IC:mem-readers, IC:mem-writers, IC:mov-from-PSR, IC:probe-all;	impliedF
 PSR.pp;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.ri;	rfi;	IC:none;	none
+PSR.ri;	rfi;	IC:all;	none
 PSR.rt;	IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
 PSR.rt;	IC:mov-to-PSR-l;	alloc, flushrs, loadrs;	data
-PSR.rt;	rfi;	IC:mov-from-PSR, alloc, flushrs, loadrs;	data
-PSR.si;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.si;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-AR-ITC;	data
-PSR.sp;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
-PSR.sp;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-IND-PMD, IC:mov-to-PSR-um, rum, sum;	data
-PSR.ss;	rfi;	IC:all;	data
-PSR.tb;	IC:mov-to-PSR-l, rfi;	IC:branches, chk, fchkf;	data
-PSR.tb;	IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR;	impliedF
+PSR.rt;	rfi;	IC:mov-from-PSR, alloc, flushrs, loadrs;	impliedF
+PSR.si;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.si;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-AR-ITC;	data
+PSR.si;	rfi;	IC:mov-from-AR-ITC, IC:mov-from-PSR;	impliedF
+PSR.sp;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.sp;	IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l;	IC:mov-from-IND-PMD, IC:mov-to-PSR-um, rum, sum;	data
+PSR.sp;	rfi;	IC:mov-from-IND-PMD, IC:mov-from-PSR, IC:mov-to-PSR-um, rum, sum;	impliedF
+PSR.ss;	rfi;	IC:all;	impliedF
+PSR.tb;	IC:mov-to-PSR-l;	IC:branches, chk, fchkf;	data
+PSR.tb;	IC:mov-to-PSR-l;	IC:mov-from-PSR;	impliedF
+PSR.tb;	rfi;	IC:branches, chk, fchkf, IC:mov-from-PSR;	impliedF
 PSR.up;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:mov-from-PSR-um, IC:mov-from-PSR;	impliedF
-RR#;	IC:mov-to-IND-RR+6;	IC:mem-readers, IC:mem-writers, itc.i, itc.d, itr.i, itr.d, IC:probe-all, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, tak, thash, tpa, ttag;	data
+PSR.vm;	vmsw;	IC:mem-readers, IC:mem-writers, IC:mov-from-AR-ITC, IC:mov-from-IND-CPUID, IC:mov-to-AR-ITC, IC:priv-ops\vmsw, cover, thash, ttag;	implied
+PSR.vm;	rfi;	IC:mem-readers, IC:mem-writers, IC:mov-from-AR-ITC, IC:mov-from-IND-CPUID, IC:mov-to-AR-ITC, IC:priv-ops\vmsw, cover, thash, ttag;	impliedF
+RR#;	IC:mov-to-IND-RR+6;	IC:mem-readers, IC:mem-writers, itc.i, itc.d, itr.i, itr.d, IC:non-access, ptc.g, ptc.ga, ptc.l, ptr.i, ptr.d, thash, ttag;	data
 RR#;	IC:mov-to-IND-RR+6;	IC:mov-from-IND-RR+6;	impliedF
 RSE;	IC:rse-writers+14;	IC:rse-readers+14;	impliedF
--- binutils/opcodes/ia64-waw.tbl.vmsw	2002-12-04 18:08:02.000000000 -0800
+++ binutils/opcodes/ia64-waw.tbl	2005-08-04 09:12:50.388195010 -0700
@@ -6,10 +6,10 @@ AR[CCV];	IC:mov-to-AR-CCV;	IC:mov-to-AR-
 AR[CFLG];	IC:mov-to-AR-CFLG;	IC:mov-to-AR-CFLG;	impliedF
 AR[CSD];	ld16, IC:mov-to-AR-CSD;	ld16, IC:mov-to-AR-CSD;	impliedF
 AR[EC];	br.ret, IC:mod-sched-brs, IC:mov-to-AR-EC;	br.ret, IC:mod-sched-brs, IC:mov-to-AR-EC;	impliedF
-AR[EFLAG];	mov-to-AR-EFLAG;	mov-to-AR-EFLAG;	impliedF
-AR[FCR];	mov-to-AR-FCR;	mov-to-AR-FCR;	impliedF
-AR[FDR];	mov-to-AR-FDR;	mov-to-AR-FDR;	impliedF
-AR[FIR];	mov-to-AR-FIR;	mov-to-AR-FIR;	impliedF
+AR[EFLAG];	IC:mov-to-AR-EFLAG;	IC:mov-to-AR-EFLAG;	impliedF
+AR[FCR];	IC:mov-to-AR-FCR;	IC:mov-to-AR-FCR;	impliedF
+AR[FDR];	IC:mov-to-AR-FDR;	IC:mov-to-AR-FDR;	impliedF
+AR[FIR];	IC:mov-to-AR-FIR;	IC:mov-to-AR-FIR;	impliedF
 AR[FPSR].sf0.controls;	IC:mov-to-AR-FPSR, fsetc.s0;	IC:mov-to-AR-FPSR, fsetc.s0;	impliedF
 AR[FPSR].sf1.controls;	IC:mov-to-AR-FPSR, fsetc.s1;	IC:mov-to-AR-FPSR, fsetc.s1;	impliedF
 AR[FPSR].sf2.controls;	IC:mov-to-AR-FPSR, fsetc.s2;	IC:mov-to-AR-FPSR, fsetc.s2;	impliedF
@@ -32,6 +32,7 @@ AR[PFS];	br.call, brl.call;	br.call, brl
 AR[PFS];	br.call, brl.call;	IC:mov-to-AR-PFS;	impliedF
 AR[RNAT];	alloc, flushrs, loadrs, IC:mov-to-AR-RNAT, IC:mov-to-AR-BSPSTORE;	alloc, flushrs, loadrs, IC:mov-to-AR-RNAT, IC:mov-to-AR-BSPSTORE;	impliedF
 AR[RSC];	IC:mov-to-AR-RSC;	IC:mov-to-AR-RSC;	impliedF
+AR[SSD];	IC:mov-to-AR-SSD;	IC:mov-to-AR-SSD;	impliedF
 AR[UNAT]{%}, % in 0 - 63;	IC:mov-to-AR-UNAT, st8.spill;	IC:mov-to-AR-UNAT, st8.spill;	impliedF
 AR%, % in 8-15, 20, 22-23, 31, 33-35, 37-39, 41-43, 45-47, 67-111;	IC:none;	IC:none;	none
 AR%, % in 48 - 63, 112-127;	IC:mov-to-AR-ig+1;	IC:mov-to-AR-ig+1;	impliedF
@@ -42,7 +43,7 @@ CFM;	IC:mod-sched-brs, br.call, brl.call
 CPUID#;	IC:none;	IC:none;	none
 CR[CMCV];	IC:mov-to-CR-CMCV;	IC:mov-to-CR-CMCV;	impliedF
 CR[DCR];	IC:mov-to-CR-DCR;	IC:mov-to-CR-DCR;	impliedF
-CR[EOI];	IC:mov-to-CR-EOI;	IC:mov-to-CR-EOI;	SC Section 10.8.3.4
+CR[EOI];	IC:mov-to-CR-EOI;	IC:mov-to-CR-EOI;	SC Section 5.8.3.4, "End of External Interrupt Register (EOI Ð CR67)" on page 2:119
 CR[GPTA];	IC:mov-to-CR-GPTA;	IC:mov-to-CR-GPTA;	impliedF
 CR[IFA];	IC:mov-to-CR-IFA;	IC:mov-to-CR-IFA;	impliedF
 CR[IFS];	IC:mov-to-CR-IFS, cover;	IC:mov-to-CR-IFS, cover;	impliedF
@@ -131,5 +132,6 @@ PSR.sp;	IC:sys-mask-writers-partial+7, I
 PSR.ss;	rfi;	rfi;	impliedF
 PSR.tb;	IC:mov-to-PSR-l, rfi;	IC:mov-to-PSR-l, rfi;	impliedF
 PSR.up;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	IC:user-mask-writers-partial+7, IC:mov-to-PSR-um, IC:sys-mask-writers-partial+7, IC:mov-to-PSR-l, rfi;	impliedF
+PSR.vm;	rfi, vmsw;	rfi, vmsw;	impliedF
 RR#;	IC:mov-to-IND-RR+6;	IC:mov-to-IND-RR+6;	impliedF
 RSE;	IC:rse-writers+14;	IC:rse-writers+14;	impliedF


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