diff options
author | David S. Miller <davem@davemloft.net> | 2011-10-26 21:14:56 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-10-26 14:14:56 -0700 |
commit | bf84f42d6199e83b91f3963fd4d10da27c5eaaf0 (patch) | |
tree | f897ba589ccba4119111c7885a9f89be5d708897 /gcc/config/sparc/sparc-protos.h | |
parent | 1586f8a371bc576969febc98a0ac96db2b013517 (diff) | |
download | gcc-bf84f42d6199e83b91f3963fd4d10da27c5eaaf0.zip gcc-bf84f42d6199e83b91f3963fd4d10da27c5eaaf0.tar.gz gcc-bf84f42d6199e83b91f3963fd4d10da27c5eaaf0.tar.bz2 |
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
Diffstat (limited to 'gcc/config/sparc/sparc-protos.h')
-rw-r--r-- | gcc/config/sparc/sparc-protos.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h index bb6fb07..108e105 100644 --- a/gcc/config/sparc/sparc-protos.h +++ b/gcc/config/sparc/sparc-protos.h @@ -107,6 +107,7 @@ extern void sparc_expand_compare_and_swap_12 (rtx, rtx, rtx, rtx); extern const char *output_v8plus_mult (rtx, rtx *, const char *); extern void sparc_expand_vector_init (rtx, rtx); extern void sparc_expand_vec_perm_bmask(enum machine_mode, rtx); +extern bool sparc_expand_conditional_move (enum machine_mode, rtx *); #endif /* RTX_CODE */ #endif /* __SPARC_PROTOS_H__ */ |