📄 itanium2.md
字号:
(final_presence_set "2_1mf_bs" "2_1mf.i, 2_1mf.b")(final_presence_set "2_0b_bs" "2_0b.bb")(final_presence_set "2_1b_bs" "2_1b.bb")(final_presence_set "2_0bb_bs" "2_0bb.b")(final_presence_set "2_1bb_bs" "2_1bb.b")(final_presence_set "2_0mb_bs" "2_0mb.b")(final_presence_set "2_1mb_bs" "2_1mb.b")(exclusion_set "2_0m_bs" "2_0mi.i, 2_0mm.i, 2_0mm.f, 2_0mf.i, 2_0mb.b,\ 2_0mi.b, 2_0mf.b, 2_0mm.b, 2_0mlx., 2_m0_stop")(exclusion_set "2_1m_bs" "2_1mi.i, 2_1mm.i, 2_1mm.f, 2_1mf.i, 2_1mb.b,\ 2_1mi.b, 2_1mf.b, 2_1mm.b, 2_1mlx., 2_m1_stop")(exclusion_set "2_0mi_bs" "2_0mii., 2_0mib., 2_mi0_stop")(exclusion_set "2_1mi_bs" "2_1mii., 2_1mib., 2_mi1_stop")(exclusion_set "2_0mm_bs" "2_0mmi., 2_0mmf., 2_0mmb.")(exclusion_set "2_1mm_bs" "2_1mmi., 2_1mmf., 2_1mmb.")(exclusion_set "2_0mf_bs" "2_0mfi., 2_0mfb.")(exclusion_set "2_1mf_bs" "2_1mfi., 2_1mfb.")(exclusion_set "2_0b_bs" "2_0bb.b")(exclusion_set "2_1b_bs" "2_1bb.b")(exclusion_set "2_0bb_bs" "2_0bbb.")(exclusion_set "2_1bb_bs" "2_1bbb.")(exclusion_set "2_0mb_bs" "2_0mbb.")(exclusion_set "2_1mb_bs" "2_1mbb.")(exclusion_set "2_0m_bs, 2_0mi_bs, 2_0mm_bs, 2_0mf_bs, 2_0b_bs, 2_0bb_bs, 2_0mb_bs, 2_1m_bs, 2_1mi_bs, 2_1mm_bs, 2_1mf_bs, 2_1b_bs, 2_1bb_bs, 2_1mb_bs" "2_stop")(final_presence_set "2_0mi.i, 2_0mm.i, 2_0mf.i, 2_0mm.f, 2_0mb.b,\ 2_0mi.b, 2_0mm.b, 2_0mf.b, 2_0mlx." "2_m_cont")(final_presence_set "2_0mii., 2_0mib." "2_mi_cont")(final_presence_set "2_0mmi., 2_0mmf., 2_0mmb." "2_mm_cont")(final_presence_set "2_0mfi., 2_0mfb." "2_mf_cont")(final_presence_set "2_0bb.b" "2_b_cont")(final_presence_set "2_0bbb." "2_bb_cont")(final_presence_set "2_0mbb." "2_mb_cont")(exclusion_set "2_0m.ii, 2_0m.mi, 2_0m.fi, 2_0m.mf, 2_0b.bb, 2_0m.bb,\ 2_0m.ib, 2_0m.mb, 2_0m.fb, 2_0m.lx" "2_m_cont, 2_mi_cont, 2_mm_cont, 2_mf_cont,\ 2_mb_cont, 2_b_cont, 2_bb_cont")(exclusion_set "2_empty" "2_m_cont,2_mi_cont,2_mm_cont,2_mf_cont,\ 2_mb_cont,2_b_cont,2_bb_cont");; For m;mi bundle(final_presence_set "2_m0_stop" "2_0m.mi")(final_presence_set "2_0mm.i" "2_0mmi_cont")(exclusion_set "2_0mmi_cont" "2_0m.ii, 2_0m.mi, 2_0m.fi, 2_0m.mf, 2_0b.bb, 2_0m.bb,\ 2_0m.ib, 2_0m.mb, 2_0m.fb, 2_0m.lx")(exclusion_set "2_m0_stop" "2_0mm.i")(final_presence_set "2_m1_stop" "2_1m.mi")(exclusion_set "2_m1_stop" "2_1mm.i")(final_presence_set "2_m_stop" "2_m0_stop, 2_m1_stop");; For mi;i bundle(final_presence_set "2_mi0_stop" "2_0mi.i")(final_presence_set "2_0mii." "2_0mii_cont")(exclusion_set "2_0mii_cont" "2_0m.ii, 2_0m.mi, 2_0m.fi, 2_0m.mf, 2_0b.bb, 2_0m.bb,\ 2_0m.ib, 2_0m.mb, 2_0m.fb, 2_0m.lx")(exclusion_set "2_mi0_stop" "2_0mii.")(final_presence_set "2_mi1_stop" "2_1mi.i")(exclusion_set "2_mi1_stop" "2_1mii.")(final_presence_set "2_mi_stop" "2_mi0_stop, 2_mi1_stop")(final_absence_set "2_0m.ii,2_0mi.i,2_0mii.,2_0m.mi,2_0mm.i,2_0mmi.,2_0m.fi,2_0mf.i,2_0mfi.,\ 2_0m.mf,2_0mm.f,2_0mmf.,2_0b.bb,2_0bb.b,2_0bbb.,2_0m.bb,2_0mb.b,2_0mbb.,\ 2_0m.ib,2_0mi.b,2_0mib.,2_0m.mb,2_0mm.b,2_0mmb.,2_0m.fb,2_0mf.b,2_0mfb.,\ 2_0m.lx,2_0mlx., \ 2_1m.ii,2_1mi.i,2_1mii.,2_1m.mi,2_1mm.i,2_1mmi.,2_1m.fi,2_1mf.i,2_1mfi.,\ 2_1m.mf,2_1mm.f,2_1mmf.,2_1b.bb,2_1bb.b,2_1bbb.,2_1m.bb,2_1mb.b,2_1mbb.,\ 2_1m.ib,2_1mi.b,2_1mib.,2_1m.mb,2_1mm.b,2_1mmb.,2_1m.fb,2_1mf.b,2_1mfb.,\ 2_1m.lx,2_1mlx." "2_m0_stop,2_m1_stop,2_mi0_stop,2_mi1_stop")(define_insn_reservation "2_stop_bit" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "stop_bit")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_stop|2_m0_stop|2_m1_stop|2_mi0_stop|2_mi1_stop")(define_insn_reservation "2_br" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "br")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_B")(define_insn_reservation "2_scall" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "scall")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_B")(define_insn_reservation "2_fcmp" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fcmp")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_F")(define_insn_reservation "2_fcvtfx" 4 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fcvtfx")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_F")(define_insn_reservation "2_fld" 6 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fld")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M")(define_insn_reservation "2_fldp" 6 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fldp")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um01")(define_insn_reservation "2_fmac" 4 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fmac")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_F")(define_insn_reservation "2_fmisc" 4 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "fmisc")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_F");; There is only one insn `mov = ar.bsp' for frar_i:;; Latency time ???(define_insn_reservation "2_frar_i" 13 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "frar_i")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0");; There is only two insns `mov = ar.unat' or `mov = ar.ccv' for frar_m:;; Latency time ???(define_insn_reservation "2_frar_m" 6 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "frar_m")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um2")(define_insn_reservation "2_frbr" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "frbr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0")(define_insn_reservation "2_frfr" 5 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "frfr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um2")(define_insn_reservation "2_frpr" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "frpr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0")(define_insn_reservation "2_ialu" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "ialu")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_A")(define_insn_reservation "2_icmp" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "icmp")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_A")(define_insn_reservation "2_ilog" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "ilog")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_A")(define_insn_reservation "2_mmalua" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "mmalua")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_A");; Latency time ???(define_insn_reservation "2_ishf" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "ishf")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0")(define_insn_reservation "2_ld" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "ld")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um01")(define_insn_reservation "2_long_i" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "long_i")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_L")(define_insn_reservation "2_mmmul" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "mmmul")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0");; Latency time ???(define_insn_reservation "2_mmshf" 2 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "mmshf")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I");; Latency time ???(define_insn_reservation "2_mmshfi" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "mmshfi")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I");; Now we have only one insn (flushrs) of such class. We assume that flushrs;; is the 1st syllable of the bundle after stop bit.(define_insn_reservation "2_rse_m" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "rse_m")) (eq (symbol_ref "bundling_p") (const_int 0))) "(2_0m.ii|2_0m.mi|2_0m.fi|2_0m.mf|2_0m.bb\ |2_0m.ib|2_0m.mb|2_0m.fb|2_0m.lx)+2_um0")(define_insn_reservation "2_sem" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "sem")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um23")(define_insn_reservation "2_stf" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "stf")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um23")(define_insn_reservation "2_st" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "st")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um23")(define_insn_reservation "2_syst_m0" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "syst_m0")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um2")(define_insn_reservation "2_syst_m" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "syst_m")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um0");; Reservation???(define_insn_reservation "2_tbit" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "tbit")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0");; There is only ony insn `mov ar.pfs =' for toar_i:(define_insn_reservation "2_toar_i" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "toar_i")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0");; There are only ony 2 insns `mov ar.ccv =' and `mov ar.unat =' for toar_m:;; Latency time ???(define_insn_reservation "2_toar_m" 5 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "toar_m")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um2");; Latency time ???(define_insn_reservation "2_tobr" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "tobr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0")(define_insn_reservation "2_tofr" 5 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "tofr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um23");; Latency time ???(define_insn_reservation "2_topr" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "topr")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I+2_only_ui0")(define_insn_reservation "2_xmpy" 4 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "xmpy")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_F");; Latency time ???(define_insn_reservation "2_xtd" 1 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "xtd")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I")(define_insn_reservation "2_chk_s" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "chk_s")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I|2_M_only_um23")(define_insn_reservation "2_lfetch" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "lfetch")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M_only_um01")(define_insn_reservation "2_nop_m" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "nop_m")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_M0")(define_insn_reservation "2_nop_b" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "nop_b")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_NB")(define_insn_reservation "2_nop_i" 0 (and (and (eq_attr "cpu" "itanium2") (eq_attr "itanium_class" "nop_i")) (eq (symbol_ref "bundling_p") (const_int 0))) "2_I0")(define_insn_reservation "2_nop_f" 0 (and (and (eq_attr "cpu" "itanium2")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -