OSDN Git Service

Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Oct 2011 21:14:56 +0000 (21:14 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Oct 2011 21:14:56 +0000 (21:14 +0000)
commit6c53772f56350b36dc5684471ba0db79a2ff2c88
treef897ba589ccba4119111c7885a9f89be5d708897
parentaa2e3c5dade6088ee46dd25d14702a4a3b575a50
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180542 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/sparc/sparc-protos.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md