rs6000.md (UNSPEC_MV_CR_GT): New constant.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 20 Apr 2004 02:13:19 +0000 (02:13 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Tue, 20 Apr 2004 02:13:19 +0000 (02:13 +0000)
commit423c11897f8ba3d5ebac1e3c09d42c6b6a95e2fe
tree06e1d8b1a6d2c2176c501a12322e0fa187b494b3
parentf531010820afc86bde3e7d4b98850ee51c735de5
rs6000.md (UNSPEC_MV_CR_GT): New constant.

        * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
        (move_from_CR_gt_bit): New.
        (cceq_ior_compare): Name previously unnamed pattern.  Disable for
        E500.
        (cceq_rev_compare): Name previously unnamed pattern.  Allow for
        E500.

        * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
        (tstsfeq_gpr): Same.
        (cmpsfgt_gpr): Same.
        (tstsfgt_gpr): Same.
        (cmpsflt_gpr): Same.
        (tstsflt_gpr): Same.
        (e500_cceq_ior_compare): New.
        (e500_flip_gt_bit): New.

        * config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
        (print_operand): Add 'c' and 'D'.
        (rs6000_generate_compare): Rewrite to generate correct rtl.
        (rs6000_emit_sCOND): Handle E500.
        (output_cbranch): Adjust for changes in rs6000_generate_compare.
        (output_e500_flip_gt_bit): New.

        * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
        Protoize.

From-SVN: r80876
gcc/ChangeLog
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/spe.md