2000-04-22 04:22:24 +08:00
|
|
|
Class; Events/Instructions
|
|
|
|
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
|
|
|
|
czx; czx1, czx2
|
|
|
|
fcmp-s0; fcmp[Field(sf)==s0]
|
|
|
|
fcmp-s1; fcmp[Field(sf)==s1]
|
|
|
|
fcmp-s2; fcmp[Field(sf)==s2]
|
|
|
|
fcmp-s3; fcmp[Field(sf)==s3]
|
|
|
|
fetchadd; fetchadd4, fetchadd8
|
|
|
|
fp-arith; fadd, famax, famin, fcvt.fx, fcvt.fxu, fcvt.xuf, fma, fmax, fmin, fmpy, fms, fnma, fnmpy, fnorm, fpamax, fpamin, fpcvt.fx, fpcvt.fxu, fpma, fpmax, fpmin, fpmpy, fpms, fpnma, fpnmpy, fprcpa, fprsqrta, frcpa, frsqrta, fsub
|
|
|
|
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
|
|
|
|
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
|
2001-02-15 04:30:26 +08:00
|
|
|
fr-writers; IC:fp-arith, IC:fp-non-arith\fclass, IC:mem-readers-fp, setf
|
2000-04-22 04:22:24 +08:00
|
|
|
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
|
Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog
* config/tc-ia64.c (dv_sem): Add "stop".
(specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
(specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
(specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
match above.
(mark_resources): Check IA64_RS_PRr.
gas/testsuite/ChangeLog
* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
* gas/ia64/dv-waw-err.s: Likewise.
* gas/ia64/dv-imply.d: Regenerate.
* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.
include/opcode/ChangeLog
* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
opcodes/ChangeLog
* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
* ia64-asmtab.c: Regnerate.
2000-09-23 03:43:50 +08:00
|
|
|
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
|
2000-04-22 04:22:24 +08:00
|
|
|
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-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
|
|
|
|
ld-c-clr; ld1.c.clr, ld2.c.clr, ld4.c.clr, ld8.c.clr, IC:ld-c-clr-acq
|
|
|
|
ld-c-clr-acq; ld1.c.clr.acq, ld2.c.clr.acq, ld4.c.clr.acq, ld8.c.clr.acq
|
|
|
|
ld-c-nc; ld1.c.nc, ld2.c.nc, ld4.c.nc, ld8.c.nc
|
|
|
|
ld-s; ld1.s, ld2.s, ld4.s, ld8.s
|
|
|
|
ld-sa; ld1.sa, ld2.sa, ld4.sa, ld8.sa
|
|
|
|
ldf; ldfs, ldfd, ldfe, ldf8, ldf.fill
|
|
|
|
ldf-a; ldfs.a, ldfd.a, ldfe.a, ldf8.a
|
|
|
|
ldf-c; IC:ldf-c-nc, IC:ldf-c-clr
|
|
|
|
ldf-c-clr; ldfs.c.clr, ldfd.c.clr, ldfe.c.clr, ldf8.c.clr
|
|
|
|
ldf-c-nc; ldfs.c.nc, ldfd.c.nc, ldfe.c.nc, ldf8.c.nc
|
|
|
|
ldf-s; ldfs.s, ldfd.s, ldfe.s, ldf8.s
|
|
|
|
ldf-sa; ldfs.sa, ldfd.sa, ldfe.sa, ldf8.sa
|
|
|
|
ldfp; ldfps, ldfpd, ldfp8
|
|
|
|
ldfp-a; ldfps.a, ldfpd.a, ldfp8.a
|
|
|
|
ldfp-c; IC:ldfp-c-nc, IC:ldfp-c-clr
|
|
|
|
ldfp-c-clr; ldfps.c.clr, ldfpd.c.clr, ldfp8.c.clr
|
|
|
|
ldfp-c-nc; ldfps.c.nc, ldfpd.c.nc, ldfp8.c.nc
|
|
|
|
ldfp-s; ldfps.s, ldfpd.s, ldfp8.s
|
|
|
|
ldfp-sa; ldfps.sa, ldfpd.sa, ldfp8.sa
|
|
|
|
lfetch-all; lfetch
|
|
|
|
lfetch-fault; lfetch[Field(lftype)==fault]
|
|
|
|
lfetch-nofault; lfetch[Field(lftype)==]
|
|
|
|
lfetch-postinc; lfetch[Format in {M14 M15}]
|
|
|
|
mem-readers; IC:mem-readers-fp, IC:mem-readers-int
|
|
|
|
mem-readers-alat; IC:ld-a, IC:ldf-a, IC:ldfp-a, IC:ld-sa, IC:ldf-sa, IC:ldfp-sa, IC:ld-c, IC:ldf-c, IC:ldfp-c
|
|
|
|
mem-readers-fp; IC:ldf, IC:ldfp
|
|
|
|
mem-readers-int; IC:cmpxchg, IC:fetchadd, IC:xchg, IC:ld
|
|
|
|
mem-readers-spec; IC:ld-s, IC:ld-sa, IC:ldf-s, IC:ldf-sa, IC:ldfp-s, IC:ldfp-sa
|
|
|
|
mem-writers; IC:mem-writers-fp, IC:mem-writers-int
|
|
|
|
mem-writers-fp; IC:stf
|
|
|
|
mem-writers-int; IC:cmpxchg, IC:fetchadd, IC:xchg, IC:st
|
|
|
|
mix; mix1, mix2, mix4
|
|
|
|
mod-sched-brs; br.cexit, br.ctop, br.wexit, br.wtop
|
|
|
|
mod-sched-brs-counted; br.cexit, br.cloop, br.ctop
|
|
|
|
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-EC; IC:mov-from-AR-I[Field(ar3) == EC]
|
|
|
|
mov-from-AR-FPSR; IC:mov-from-AR-M[Field(ar3) == FPSR]
|
|
|
|
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}]
|
|
|
|
mov-from-AR-ITC; IC:mov-from-AR-M[Field(ar3) == ITC]
|
|
|
|
mov-from-AR-K; IC:mov-from-AR-M[Field(ar3) in {K0 K1 K2 K3 K4 K5 K6 K7}]
|
|
|
|
mov-from-AR-LC; IC:mov-from-AR-I[Field(ar3) == LC]
|
|
|
|
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-rv; IC:none
|
|
|
|
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}]
|
|
|
|
mov-from-CR-CMCV; IC:mov-from-CR[Field(cr3) == CMCV]
|
|
|
|
mov-from-CR-DCR; IC:mov-from-CR[Field(cr3) == DCR]
|
|
|
|
mov-from-CR-EOI; IC:mov-from-CR[Field(cr3) == EOI]
|
|
|
|
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-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]
|
|
|
|
mov-from-CR-IPSR; IC:mov-from-CR[Field(cr3) == IPSR]
|
|
|
|
mov-from-CR-IRR; IC:mov-from-CR[Field(cr3) in {IRR0 IRR1 IRR2 IRR3}]
|
|
|
|
mov-from-CR-ISR; IC:mov-from-CR[Field(cr3) == ISR]
|
|
|
|
mov-from-CR-ITIR; IC:mov-from-CR[Field(cr3) == ITIR]
|
|
|
|
mov-from-CR-ITM; IC:mov-from-CR[Field(cr3) == ITM]
|
|
|
|
mov-from-CR-ITV; IC:mov-from-CR[Field(cr3) == ITV]
|
|
|
|
mov-from-CR-IVA; IC:mov-from-CR[Field(cr3) == IVA]
|
|
|
|
mov-from-CR-IVR; IC:mov-from-CR[Field(cr3) == IVR]
|
|
|
|
mov-from-CR-LID; IC:mov-from-CR[Field(cr3) == LID]
|
|
|
|
mov-from-CR-LRR; IC:mov-from-CR[Field(cr3) in {LRR0 LRR1}]
|
|
|
|
mov-from-CR-PMV; IC:mov-from-CR[Field(cr3) == PMV]
|
|
|
|
mov-from-CR-PTA; IC:mov-from-CR[Field(cr3) == PTA]
|
|
|
|
mov-from-CR-rv; IC:none
|
|
|
|
mov-from-CR-TPR; IC:mov-from-CR[Field(cr3) == TPR]
|
|
|
|
mov-from-IND; mov_indirect[Format in {M43}]
|
|
|
|
mov-from-IND-CPUID; IC:mov-from-IND[Field(ireg) == cpuid]
|
|
|
|
mov-from-IND-DBR; IC:mov-from-IND[Field(ireg) == dbr]
|
|
|
|
mov-from-IND-IBR; IC:mov-from-IND[Field(ireg) == ibr]
|
|
|
|
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-RR; IC:mov-from-IND[Field(ireg) == rr]
|
|
|
|
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}]
|
|
|
|
mov-ip; mov_ip[Format in {I25}]
|
|
|
|
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-EC; IC:mov-to-AR-I[Field(ar3) == EC]
|
|
|
|
mov-to-AR-FPSR; IC:mov-to-AR-M[Field(ar3) == FPSR]
|
|
|
|
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}]
|
|
|
|
mov-to-AR-IM; mov_ar[Format in {I26 I27 M29 M30}]
|
|
|
|
mov-to-AR-ITC; IC:mov-to-AR-M[Field(ar3) == ITC]
|
|
|
|
mov-to-AR-K; IC:mov-to-AR-M[Field(ar3) in {K0 K1 K2 K3 K4 K5 K6 K7}]
|
|
|
|
mov-to-AR-LC; IC:mov-to-AR-I[Field(ar3) == LC]
|
|
|
|
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-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}]
|
|
|
|
mov-to-CR-CMCV; IC:mov-to-CR[Field(cr3) == CMCV]
|
|
|
|
mov-to-CR-DCR; IC:mov-to-CR[Field(cr3) == DCR]
|
|
|
|
mov-to-CR-EOI; IC:mov-to-CR[Field(cr3) == EOI]
|
|
|
|
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-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]
|
|
|
|
mov-to-CR-IPSR; IC:mov-to-CR[Field(cr3) == IPSR]
|
|
|
|
mov-to-CR-IRR; IC:mov-to-CR[Field(cr3) in {IRR0 IRR1 IRR2 IRR3}]
|
|
|
|
mov-to-CR-ISR; IC:mov-to-CR[Field(cr3) == ISR]
|
|
|
|
mov-to-CR-ITIR; IC:mov-to-CR[Field(cr3) == ITIR]
|
|
|
|
mov-to-CR-ITM; IC:mov-to-CR[Field(cr3) == ITM]
|
|
|
|
mov-to-CR-ITV; IC:mov-to-CR[Field(cr3) == ITV]
|
|
|
|
mov-to-CR-IVA; IC:mov-to-CR[Field(cr3) == IVA]
|
|
|
|
mov-to-CR-IVR; IC:mov-to-CR[Field(cr3) == IVR]
|
|
|
|
mov-to-CR-LID; IC:mov-to-CR[Field(cr3) == LID]
|
|
|
|
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-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]
|
|
|
|
mov-to-IND-IBR; IC:mov-to-IND[Field(ireg) == ibr]
|
|
|
|
mov-to-IND-MSR; IC:mov-to-IND[Field(ireg) == msr]
|
|
|
|
mov-to-IND-PKR; IC:mov-to-IND[Field(ireg) == pkr]
|
|
|
|
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-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
|
|
|
|
none; -
|
|
|
|
pack; pack2, pack4
|
|
|
|
padd; padd1, padd2, padd4
|
|
|
|
pavg; pavg1, pavg2
|
|
|
|
pavgsub; pavgsub1, pavgsub2
|
|
|
|
pcmp; pcmp1, pcmp2, pcmp4
|
|
|
|
pmax; pmax1, pmax2
|
|
|
|
pmin; pmin1, pmin2
|
|
|
|
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-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}]
|
Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog
* config/tc-ia64.c (dv_sem): Add "stop".
(specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
(specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
(specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
match above.
(mark_resources): Check IA64_RS_PRr.
gas/testsuite/ChangeLog
* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
* gas/ia64/dv-waw-err.s: Likewise.
* gas/ia64/dv-imply.d: Regenerate.
* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.
include/opcode/ChangeLog
* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
opcodes/ChangeLog
* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
* ia64-asmtab.c: Regnerate.
2000-09-23 03:43:50 +08:00
|
|
|
pr-readers-br; br.call, br.cond, brl.call, brl.cond, br.ret, br.wexit, br.wtop, break.b, nop.b, IC:ReservedBQP
|
2000-08-17 07:20:15 +08:00
|
|
|
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
|
2000-08-16 03:42:44 +08:00
|
|
|
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
|
2000-10-06 05:55:25 +08:00
|
|
|
pr-writers-int; IC:pr-norm-writers-int, IC:pr-unc-writers-int, IC:pr-and-writers, IC:pr-or-writers
|
2000-08-16 03:42:44 +08:00
|
|
|
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
|
|
|
|
probe-all; IC:probe-fault, IC:probe-nofault
|
|
|
|
probe-fault; probe[Format in {M40}]
|
|
|
|
probe-nofault; probe[Format in {M38 M39}]
|
|
|
|
psad; psad1
|
|
|
|
pshl; pshl2, pshl4
|
|
|
|
pshladd; pshladd2
|
|
|
|
pshr; pshr2, pshr4
|
|
|
|
pshradd; pshradd2
|
|
|
|
psub; psub1, psub2, psub4
|
|
|
|
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-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
|
Fix ia64 gas testsuite. Update ia64 DV tables. Fix ia64 gas testsuite again.
gas/ChangeLog
* config/tc-ia64.c (dv_sem): Add "stop".
(specify_resource, case IA64_RS_PR): Only handles regs 1 to 15 now.
(specify_resource, case IA64_RS_PRr): New for regs 16 to 62.
(specify_resource, case IA64_RS_PR63): Reorder (note == 7) test to
match above.
(mark_resources): Check IA64_RS_PRr.
gas/testsuite/ChangeLog
* gas/ia64/dv-raw-err.s: Add new testcases for PR%, 16 - 62.
* gas/ia64/dv-waw-err.s: Likewise.
* gas/ia64/dv-imply.d: Regenerate.
* gas/ia64/dv-mutex.d, gas/ia64/dv-raw-err.l, gas/ia64/dv-safe.d,
gas/ia64/dv-srlz.d, gas/ia64/dv-war-err.l, gas/ia64/dv-waw-err.l,
gas/ia64/opc-f.d, gas/ia64/opc-i.d, gas/ia64/opc-m.d: Likewise.
include/opcode/ChangeLog
* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
opcodes/ChangeLog
* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
* ia64-asmtab.c: Regnerate.
2000-09-23 03:43:50 +08:00
|
|
|
unpredicatable-instructions; alloc, br.cloop, br.ctop, br.cexit, br.ia, brp, bsw, clrrrb, cover, epc, flushrs, loadrs, rfi
|
2000-08-16 03:42:44 +08:00
|
|
|
user-mask-writers-partial; rum, sum
|
|
|
|
xchg; xchg1, xchg2, xchg4, xchg8
|
|
|
|
zxt; zxt1, zxt2, zxt4
|