diff options
Diffstat (limited to 'gcc/config/picochip/picochip.md')
-rw-r--r-- | gcc/config/picochip/picochip.md | 113 |
1 files changed, 1 insertions, 112 deletions
diff --git a/gcc/config/picochip/picochip.md b/gcc/config/picochip/picochip.md index 657629c96fa..02f0f14850d 100644 --- a/gcc/config/picochip/picochip.md +++ b/gcc/config/picochip/picochip.md @@ -551,7 +551,7 @@ (define_insn_and_split "cbranchhi4" [(set (pc) (if_then_else - (match_operator:CC 0 "comparison_operator" + (match_operator:CC 0 "ordered_comparison_operator" [(match_operand:HI 1 "register_operand" "r") (match_operand:HI 2 "picochip_comparison_operand" "ri")]) (label_ref (match_operand 3 "" "")) @@ -2524,117 +2524,6 @@ (set_attr "type" "picoAlu,picoAlu") (set_attr "longConstant" "false,true")]) -;; cmphi - This needs to be defined, to ensure that the conditional -;; move works properly (because the if-cvt code uses this pattern to -;; build the conditional move, even though normally we use cbranch to -;; directly generate the instructions). - -(define_expand "cmphi" - [(match_operand:HI 0 "general_operand" "g") - (match_operand:HI 1 "general_operand" "g")] - "" - "DONE;") - -;;============================================================================ -;; Branch patterns - needed for conditional moves. This is because -;; they result in the bcc_gen_fctn array being initialised with the -;; code to define_expand the following, and this in turn means that -;; when noce_emit_cmove is called, the correct pattern can be -;; generated, based upon the assumed presence of the following. The -;; following are never actually used, because the earlier cbranch -;; patterns take precendence. -;;============================================================================ - -(define_expand "bne" - [(set (pc) - (if_then_else - (ne (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "beq" - [(set (pc) - (if_then_else - (eq (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "blt" - [(set (pc) - (if_then_else - (lt (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bge" - [(set (pc) - (if_then_else - (ge (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bgeu" - [(set (pc) - (if_then_else - (geu (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bltu" - [(set (pc) - (if_then_else - (ltu (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "ble" - [(set (pc) - (if_then_else - (le (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bgt" - [(set (pc) - (if_then_else - (gt (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bleu" - [(set (pc) - (if_then_else - (leu (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - -(define_expand "bgtu" - [(set (pc) - (if_then_else - (gtu (reg:CC CC_REGNUM) (const_int 0)) - (label_ref (match_operand 0 "" "")) - (pc)))] - "" - "gcc_unreachable();") - ;;============================================================================ ;; Scheduling, including delay slot scheduling. ;;============================================================================ |