Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.
authorDavid S. Miller <davem@davemloft.net>
Wed, 26 Oct 2011 21:14:56 +0000 (21:14 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Wed, 26 Oct 2011 21:14:56 +0000 (14:14 -0700)
commitbf84f42d6199e83b91f3963fd4d10da27c5eaaf0
treef897ba589ccba4119111c7885a9f89be5d708897
parent1586f8a371bc576969febc98a0ac96db2b013517
Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.

* config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
* config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
(*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
(*mov<I:mode>_cc_reg_sp64): Likewise.
(*movsf_cc_v9): Likewise.
(*movsf_cc_reg_sp64): Likewise.
(*movdf_cc_v9): Likewise.
(*movdf_cc_reg_sp64): Likewise.
(*movtf_cc_hq_v9): Likewise.
(*movtf_cc_reg_hq_sp64): Likewise.
(*movtf_cc_v9): Likewise.
(*movtf_cc_reg_sp64): Likewise.
* config/sparc/sparc.c (sparc_expand_conditional_move): New function.
(sparc_print_operand): Delete 'c' and 'd' handling, no longer used.

From-SVN: r180542
gcc/ChangeLog
gcc/config/sparc/sparc-protos.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md