X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Fia64-ic.tbl;h=14fe7dead703ec523c14fd3ff31cbd343b075bb8;hb=3ff0a5ba6458db28b5f0bc28afc0678a247357c0;hp=115a2763d41d16b63e41d1996488e9ec1fbfa0d3;hpb=42dc96cab86f70181020e1762b42b79a4bbab8aa;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/ia64-ic.tbl b/opcodes/ia64-ic.tbl index 115a2763d4..14fe7dead7 100644 --- a/opcodes/ia64-ic.tbl +++ b/opcodes/ia64-ic.tbl @@ -3,7 +3,7 @@ all; IC:predicatable-instructions, IC:unpredicatable-instructions branches; IC:indirect-brs, IC:ip-rel-brs cfm-readers; IC:fr-readers, IC:fr-writers, IC:gr-readers, IC:gr-writers, IC:mod-sched-brs, IC:predicatable-instructions, IC:pr-writers, alloc, br.call, brl.call, br.ret, cover, loadrs, rfi, IC:chk-a, invala.e chk-a; chk.a.clr, chk.a.nc -cmpxchg; cmpxchg1, cmpxchg2, cmpxchg4, cmpxchg8 +cmpxchg; cmpxchg1, cmpxchg2, cmpxchg4, cmpxchg8, cmp8xchg16 czx; czx1, czx2 fcmp-s0; fcmp[Field(sf)==s0] fcmp-s1; fcmp[Field(sf)==s1] @@ -15,21 +15,21 @@ fp-arith-s0; IC:fp-arith[Field(sf)==s0] fp-arith-s1; IC:fp-arith[Field(sf)==s1] fp-arith-s2; IC:fp-arith[Field(sf)==s2] fp-arith-s3; IC:fp-arith[Field(sf)==s3] -fp-non-arith; fabs, fand, fandcm, fclass, fcvt.xf, fmerge, fmix, fneg, fnegabs, for, fpabs, fpmerge, fpack, fpneg, fpnegabs, fselect, fswap, fsxt, fxor, xma +fp-non-arith; fabs, fand, fandcm, fclass, fcvt.xf, fmerge, fmix, fneg, fnegabs, for, fpabs, fpmerge, fpack, fpneg, fpnegabs, fselect, fswap, fsxt, fxor, xma, xmpy 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 +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 invala-all; invala[Format in {M24}], invala.e ip-rel-brs; IC:mod-sched-brs, br.call[Format in {B3}], brl.call, brl.cond, br.cond[Format in {B1}], br.cloop -ld; ld1, ld2, ld4, ld8, ld8.fill +ld; ld1, ld2, ld4, ld8, ld8.fill, ld16 ld-a; ld1.a, ld2.a, ld4.a, ld8.a ld-all-postinc; IC:ld[Format in {M2 M3}], IC:ldfp[Format in {M12}], IC:ldf[Format in {M7 M8}] ld-c; IC:ld-c-nc, IC:ld-c-clr @@ -71,8 +71,15 @@ mov-from-AR; IC:mov-from-AR-M, IC:mov-from-AR-I, IC:mov-from-AR-IM mov-from-AR-BSP; IC:mov-from-AR-M[Field(ar3) == BSP] mov-from-AR-BSPSTORE; IC:mov-from-AR-M[Field(ar3) == BSPSTORE] mov-from-AR-CCV; IC:mov-from-AR-M[Field(ar3) == CCV] +mov-from-AR-CFLG; IC:mov-from-AR-M[Field(ar3) == CFLG] +mov-from-AR-CSD; IC:mov-from-AR-M[Field(ar3) == CSD] mov-from-AR-EC; IC:mov-from-AR-I[Field(ar3) == EC] +mov-from-AR-EFLAG; IC:mov-from-AR-M[Field(ar3) == EFLAG] +mov-from-AR-FCR; IC:mov-from-AR-M[Field(ar3) == FCR] +mov-from-AR-FDR; IC:mov-from-AR-M[Field(ar3) == FDR] +mov-from-AR-FIR; IC:mov-from-AR-M[Field(ar3) == FIR] mov-from-AR-FPSR; IC:mov-from-AR-M[Field(ar3) == FPSR] +mov-from-AR-FSR; IC:mov-from-AR-M[Field(ar3) == FSR] mov-from-AR-I; mov_ar[Format in {I28}] mov-from-AR-ig; IC:mov-from-AR-IM[Field(ar3) in {48-63 112-127}] mov-from-AR-IM; mov_ar[Format in {I28 M31}] @@ -83,7 +90,9 @@ mov-from-AR-M; mov_ar[Format in {M31}] mov-from-AR-PFS; IC:mov-from-AR-I[Field(ar3) == PFS] mov-from-AR-RNAT; IC:mov-from-AR-M[Field(ar3) == RNAT] mov-from-AR-RSC; IC:mov-from-AR-M[Field(ar3) == RSC] +mov-from-AR-RUC; IC:mov-from-AR-M[Field(ar3) == RUC] mov-from-AR-rv; IC:none +mov-from-AR-SSD; IC:mov-from-AR-M[Field(ar3) == SSD] mov-from-AR-UNAT; IC:mov-from-AR-M[Field(ar3) == UNAT] mov-from-BR; mov_br[Format in {I22}] mov-from-CR; mov_cr[Format in {M33}] @@ -94,6 +103,7 @@ mov-from-CR-GPTA; IC:mov-from-CR[Field(cr3) == GPTA] mov-from-CR-IFA; IC:mov-from-CR[Field(cr3) == IFA] mov-from-CR-IFS; IC:mov-from-CR[Field(cr3) == IFS] mov-from-CR-IHA; IC:mov-from-CR[Field(cr3) == IHA] +mov-from-CR-IIB; IC:mov-from-CR[Field(cr3) in {IIB0 IIB1}] mov-from-CR-IIM; IC:mov-from-CR[Field(cr3) == IIM] mov-from-CR-IIP; IC:mov-from-CR[Field(cr3) == IIP] mov-from-CR-IIPA; IC:mov-from-CR[Field(cr3) == IIPA] @@ -119,8 +129,9 @@ mov-from-IND-MSR; IC:mov-from-IND[Field(ireg) == msr] 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-IIB, 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}] @@ -129,8 +140,15 @@ mov-to-AR; IC:mov-to-AR-M, IC:mov-to-AR-I mov-to-AR-BSP; IC:mov-to-AR-M[Field(ar3) == BSP] mov-to-AR-BSPSTORE; IC:mov-to-AR-M[Field(ar3) == BSPSTORE] mov-to-AR-CCV; IC:mov-to-AR-M[Field(ar3) == CCV] +mov-to-AR-CFLG; IC:mov-to-AR-M[Field(ar3) == CFLG] +mov-to-AR-CSD; IC:mov-to-AR-M[Field(ar3) == CSD] mov-to-AR-EC; IC:mov-to-AR-I[Field(ar3) == EC] +mov-to-AR-EFLAG; IC:mov-to-AR-M[Field(ar3) == EFLAG] +mov-to-AR-FCR; IC:mov-to-AR-M[Field(ar3) == FCR] +mov-to-AR-FDR; IC:mov-to-AR-M[Field(ar3) == FDR] +mov-to-AR-FIR; IC:mov-to-AR-M[Field(ar3) == FIR] mov-to-AR-FPSR; IC:mov-to-AR-M[Field(ar3) == FPSR] +mov-to-AR-FSR; IC:mov-to-AR-M[Field(ar3) == FSR] mov-to-AR-gr; IC:mov-to-AR-M[Format in {M29}], IC:mov-to-AR-I[Format in {I26}] mov-to-AR-I; mov_ar[Format in {I26 I27}] mov-to-AR-ig; IC:mov-to-AR-IM[Field(ar3) in {48-63 112-127}] @@ -142,6 +160,8 @@ mov-to-AR-M; mov_ar[Format in {M29 M30}] mov-to-AR-PFS; IC:mov-to-AR-I[Field(ar3) == PFS] mov-to-AR-RNAT; IC:mov-to-AR-M[Field(ar3) == RNAT] mov-to-AR-RSC; IC:mov-to-AR-M[Field(ar3) == RSC] +mov-to-AR-RUC; IC:mov-to-AR-M[Field(ar3) == RUC] +mov-to-AR-SSD; IC:mov-to-AR-M[Field(ar3) == SSD] mov-to-AR-UNAT; IC:mov-to-AR-M[Field(ar3) == UNAT] mov-to-BR; mov_br[Format in {I21}] mov-to-CR; mov_cr[Format in {M32}] @@ -152,6 +172,7 @@ mov-to-CR-GPTA; IC:mov-to-CR[Field(cr3) == GPTA] mov-to-CR-IFA; IC:mov-to-CR[Field(cr3) == IFA] mov-to-CR-IFS; IC:mov-to-CR[Field(cr3) == IFS] mov-to-CR-IHA; IC:mov-to-CR[Field(cr3) == IHA] +mov-to-CR-IIB; IC:mov-to-CR[Field(cr3) in {IIB0 IIB1}] mov-to-CR-IIM; IC:mov-to-CR[Field(cr3) == IIM] mov-to-CR-IIP; IC:mov-to-CR[Field(cr3) == IIP] mov-to-CR-IIPA; IC:mov-to-CR[Field(cr3) == IIPA] @@ -168,6 +189,7 @@ mov-to-CR-LRR; IC:mov-to-CR[Field(cr3) in {LRR0 LRR1}] mov-to-CR-PMV; IC:mov-to-CR[Field(cr3) == PMV] mov-to-CR-PTA; IC:mov-to-CR[Field(cr3) == PTA] mov-to-CR-TPR; IC:mov-to-CR[Field(cr3) == TPR] +mov-to-DAHR; mov_dahr[Format in {M50}] mov-to-IND; mov_indirect[Format in {M42}] mov-to-IND-CPUID; IC:mov-to-IND[Field(ireg) == cpuid] mov-to-IND-DBR; IC:mov-to-IND[Field(ireg) == dbr] @@ -178,12 +200,14 @@ mov-to-IND-PMC; IC:mov-to-IND[Field(ireg) == pmc] 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-IIB, 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 @@ -196,19 +220,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, 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, 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-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, 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}] @@ -222,13 +246,13 @@ ReservedBQP; -+15 ReservedQP; -+16 rse-readers; alloc, br.call, br.ia, br.ret, brl.call, cover, flushrs, loadrs, IC:mov-from-AR-BSP, IC:mov-from-AR-BSPSTORE, IC:mov-to-AR-BSPSTORE, IC:mov-from-AR-RNAT, IC:mov-to-AR-RNAT, rfi rse-writers; alloc, br.call, br.ia, br.ret, brl.call, cover, flushrs, loadrs, IC:mov-to-AR-BSPSTORE, rfi -st; st1, st2, st4, st8, st8.spill +st; st1, st2, st4, st8, st8.spill, st16 st-postinc; IC:stf[Format in {M10}], IC:st[Format in {M5}] 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