aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/c6x/c6x-sched.md
AgeCommit message (Collapse)AuthorFilesLines
2019-01-01Update copyright years.Jakub Jelinek1-4/+4
From-SVN: r267494
2018-01-03Update copyright years.Jakub Jelinek1-4/+4
From-SVN: r256169
2017-01-01Update copyright years.Jakub Jelinek1-4/+4
From-SVN: r243994
2016-01-04Update copyright years.Jakub Jelinek1-4/+4
From-SVN: r232055
2015-01-05Update copyright years.Jakub Jelinek1-4/+4
From-SVN: r219188
2014-01-02Update copyright years in gcc/Richard Sandiford1-4/+4
From-SVN: r206289
2013-01-10Update copyright years in gcc/Richard Sandiford1-4/+4
From-SVN: r195098
2011-09-02c6x.md (collapse-ndfa, [...]): New automata_options.Bernd Schmidt1-8/+8
* config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New automata_options. (d1, l1, s1, m1, d2, l2, s2, m2): Changed to define_query_cpu_unit. (l1w, s1w, l2w, s2w): Define in the main automaton. (fps1, fpl1, adddps1, adddpl1, fps2, fpl2, adddps2, adddpl2): New units. * config/c6x/c6x.c (c6x_sched_insn_info): Add unit_mask member. (c6x_unit_names): Add the new units. (c6x_unit_codes): New static array. (UNIT_QID_D1, UNIT_QID_L1, UNIT_QID_S1, UNIT_QID_M1, UNIT_QID_FPS1, UNIT_QID_FPL1, UNIT_QID_ADDDPS1, UNIT_QID_ADDDPL1, UNIT_QID_SIDE_OFFSET): New macros. (RESERVATION_S2): Adjust value. (c6x_option_override): Compute c6x_unit_codes. (assign_reservations): Take the unit_mask of the last instruction into account. Detect floating point reservations by looking for the new units. Don't assign reservations if the field is already nonzero. (struct c6x_sched_context): Add member prev_cycle_state_ctx. (init_sched_state): Initialize it. (c6x_clear_sched_context): Free it. (insn_set_clock): Clear reservation. (prev_cycle_state): New static variable. (c6x_init_sched_context): Save it. (c6x_sched_init): Allocate space for it and clear it. (c6x_sched_dfa_pre_cycle_insn): New static function. (c6x_dfa_new_cycle): Save state at the start of a new cycle. (c6x_variable_issue): Only record units in the unit_mask that were not set at the start of the cycle. (c6x_variable_issue): Compute and store the unit_mask from the current state. (reorg_split_calls): Ensure the new information remains correct. (TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_CLEAR_SCHED_CONTEXT, TARGET_SCHED_DFA_PRE_CYCLE_INSN): Define. * config/c6x/c6x.h (CPU_UNITS_QUERY): Define. * config/c6x/c6x-sched.md.in (fp4_ls_N__CROSS_, adddp_ls_N__CROSS_): Add special reservations. * config/c6x/c6x-sched.md: Regenerate. From-SVN: r178488
2011-07-15invoke.texi (C6X Options): New section.Bernd Schmidt1-0/+934
gcc/ * doc/invoke.texi (C6X Options): New section. * doc/md.texi (TI C6X family): New section. * config.gcc: Handle tic6x, in particular tic6x-*-elf and tic6x-*-uclinux. * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm, count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME): Provide C6X definitions. * config/c6x/c6x.md: New file. * config/c6x/constraints.md: New file. * config/c6x/predicates.md: New file. * config/c6x/c6x-sched.md.in: New file. * config/c6x/c6x-sched.md: New file. * config/c6x/gensched.sh: New file. * config/c6x/c6x-mult.md.in: New file. * config/c6x/genmult.sh: New file. * config/c6x/c6x-mult.md: New file. * config/c6x/sync.md: New file. * config/c6x/c6x-protos.h: New file. * config/c6x/sfp-machine.h: New file. * config/c6x/c6x.c: New file. * config/c6x/c6x.h: New file. * config/c6x/crti.s: New file. * config/c6x/crtn.s: New file. * config/c6x/lib1funcs.asm: New file. * config/c6x/c6x-modes.def: New file. * config/c6x/genopt.sh: New file. * config/c6x/c6x.opt: New file. * config/c6x/c6x-tables.opt: New file. * config/c6x/c6x-opts.h: New file. * config/c6x/c6x-isas.def: New file. * config/c6x/elf.h: New file. * config/c6x/elf-common.h: New file. * config/c6x/uclinux-elf.h: New file. * config/c6x/t-c6x: New file. * config/c6x/t-c6x-elf: New file. * config/c6x/t-c6x-uclinux: New file. * config/c6x/t-c6x-softfp: New file. * config/c6x/gtd.c: New file. * config/c6x/gtf.c: New file. * config/c6x/ltd.c: New file. * config/c6x/ltf.c: New file. * config/c6x/ged.c: New file. * config/c6x/gef.c: New file. * config/c6x/led.c: New file. * config/c6x/lef.c: New file. * config/c6x/eqd.c: New file. * config/c6x/eqf.c: New file. * config/c6x/libgcc-c6xeabi.ver: New file. contrib/ * gcc_update: Add C6X generated files. * contrib/config-list.mk: Add c6x-elf and c6x-uclinux. libgcc/ * config.host: Handle tic6x-*-*. * config/c6x/c6x-abi.h: New file. From-SVN: r176308