aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-09-06 09:12:51 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-09-06 09:12:51 +0000
commit39a10a297a95e994e1aeb66d43c75fc1b2a15d7f (patch)
treeb7cc73d2c5daab569be640d46abbcb472c5b15ea /gcc/loop.c
parent6e92b232be51d39eb147f167119a493785a2e98b (diff)
downloadgcc-39a10a297a95e994e1aeb66d43c75fc1b2a15d7f.zip
gcc-39a10a297a95e994e1aeb66d43c75fc1b2a15d7f.tar.gz
gcc-39a10a297a95e994e1aeb66d43c75fc1b2a15d7f.tar.bz2
rs6000.c (validate_condition_mode): New function.
* config/rs6000/rs6000.c (validate_condition_mode): New function. (branch_comparison_operator): Call validate_condition_mode to abort rather than returning 0. (branch_positive_comparison_operator): New function. (scc_comparison_operator): Call validate_condition_mode to abort rather than returning 0. (ccr_bit): Call validate_condition_mode. Update for new branch scheme. (print_operand): Delete %C modifier. Update %E case to use EQ bit not SO bit. (rs6000_reverse_condition): New function. (rs6000_generate_compare): New function. (rs6000_emit_sCOND): New function. (rs6000_emit_cbranch): New function. (output_cbranch): The length of a long branch insn is now only 8 bytes. Add validate_condition_mode. Use rs6000_reverse_condition. Remove cror generation. * config/rs6000/rs6000.h: Update comments. (PREDICATE_CODES): Add new predicate. Update codes used by branch_comparison_operator and scc_comparison_operator. * config/rs6000/rs6000-protos.h: Add prototypes for new external functions. * config/rs6000/rs6000.md: Add new scheduling parameters for cr_logical instructions. Change length of branch instructions. (bCOND patterns): Call rs6000_emit_cbranch. (sCOND patterns): Call rs6000_emit_sCOND. (branch patterns): Change lengths to 4. (cr logical patterns): New. From-SVN: r36191
Diffstat (limited to 'gcc/loop.c')
0 files changed, 0 insertions, 0 deletions