summaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips-dsp.md
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-09 21:03:17 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-09 21:03:17 +0000
commitfe2ed30d334eb3a885faaa525e9758c4807773d1 (patch)
tree158c3ae50f6fe3219c35b26ac707baac94ae4ad9 /gcc/config/mips/mips-dsp.md
parent8ec405fb7c20f98c126b2ce49e8d2299d6aef935 (diff)
downloadgcc-fe2ed30d334eb3a885faaa525e9758c4807773d1.tar.gz
* config/mips/mips-protos.h (mips_output_conditional_branch): Change
interface. (mips_output_order_conditional_branch): Declare. * config/mips/mips.h (MIPS_BRANCH): New macro. * config/mips/mips.c (gen_conditional_branch): Use VOIDmode for the comparison. Use gen_condjump. (mips_output_conditional_branch): Rework interface to take the asm templates for a direct branch and the inverse of a direct branch. (mips_output_order_conditional_branch): New function. (mips_builtin_branch_and_move): New function. (mips_expand_builtin_compare): Use it. Use VOIDmode for the branch condition. Use gen_single_cc as the condition for __builtin_mips_upper_* or __builtin_mips_lower_*. (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move. Use VOIDmode for the branch condition. * config/mips/predicates.md (order_operator): New predicate. * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant. (branch_fp): Rename to... (*branch_fp): ...this. Remove mode from comparison operator. Use new mips_output_conditional_branch interface. (branch_fp_inverted): Rename to... (*branch_fp_inverted): ...this and update as for *branch_fp. (*branch_zero<mode>): Rename to... (*branch_order<mode>): ...this. Remove mode from comparison operator. Use mips_output_order_conditional_branch. Only accept ordered comparisons. (*branch_zero<mode>_inverted): Rename to... (*branch_order<mode>_inverted): ...this and update as for *branch_order<mode>. (*branch_equality<mode>): Accept zero as the second operand to the equality operator. Use the new mips_output_conditional_branch interface. (*branch_equality<mode>_inverted): Likewise. (condjump): New expander. * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison operator. * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise. (bc1any2t, bc1any2f): Likewise. (single_cc): New expander. (*branch_upper_lower, *branch_upper_lower_inverted): New patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111909 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/mips-dsp.md')
-rw-r--r--gcc/config/mips/mips-dsp.md9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/config/mips/mips-dsp.md b/gcc/config/mips/mips-dsp.md
index a61b23f0acd..3fdcc593001 100644
--- a/gcc/config/mips/mips-dsp.md
+++ b/gcc/config/mips/mips-dsp.md
@@ -1046,11 +1046,10 @@
;; BPOSGE32
(define_insn "mips_bposge"
[(set (pc)
- (if_then_else
- (ge:CCDSP (reg:CCDSP CCDSP_PO_REGNUM)
- (match_operand:SI 0 "immediate_operand" "I"))
- (label_ref (match_operand 1 "" ""))
- (pc)))]
+ (if_then_else (ge (reg:CCDSP CCDSP_PO_REGNUM)
+ (match_operand:SI 0 "immediate_operand" "I"))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))]
"TARGET_DSP"
"%*bposge%0\t%1%/"
[(set_attr "type" "branch")