summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch')
-rw-r--r--packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch116
1 files changed, 0 insertions, 116 deletions
diff --git a/packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch b/packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch
deleted file mode 100644
index 99e1e6c88c..0000000000
--- a/packages/gcc/gcc-4.1.2/arm-crunch-predicates3.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff -urN ../gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/arm.md gcc-4.1.2/gcc/config/arm/arm.md
---- ../gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/arm.md 2007-06-14 11:50:53.000000000 +1000
-+++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-14 11:43:17.000000000 +1000
-@@ -7488,6 +7488,22 @@
- arm_compare_op1);"
- )
-
-+;(define_expand "suneq"
-+; [(set (match_operand:SI 0 "s_register_operand" "")
-+; (uneq:SI (match_dup 1) (const_int 0)))]
-+; "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_MAVERICK)"
-+; "operands[1] = arm_gen_compare_reg (UNEQ, arm_compare_op0,
-+; arm_compare_op1);"
-+;)
-+
-+;(define_expand "sltgt"
-+; [(set (match_operand:SI 0 "s_register_operand" "")
-+; (ltgt:SI (match_dup 1) (const_int 0)))]
-+; "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_MAVERICK)"
-+; "operands[1] = arm_gen_compare_reg (LTGT, arm_compare_op0,
-+; arm_compare_op1);"
-+;)
-+
- ;;; DO NOT add patterns for SUNEQ or SLTGT, these can't be represented with
- ;;; simple ARM instructions.
- ;
-@@ -10284,13 +10284,73 @@
- "TARGET_ARM && arm_arch5e"
- "pld\\t%a0")
-
-+;; Special predication pattern for Maverick Crunch floating-point
-+
-+(define_cond_exec
-+ [(match_operator 0 "maverick_comparison_operator"
-+ [(match_operand:CCFP 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+;; Special predication pattern for Maverick Crunch - !CCFP
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC_NOOV 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC_Z 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC_SWP 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC_C 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC_N 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
-+(define_cond_exec
-+ [(match_operator 0 "arm_comparison_operator"
-+ [(match_operand:CC 1 "cc_register" "")
-+ (const_int 0)])]
-+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
-+ ""
-+)
-+
- ;; General predication pattern
-
- (define_cond_exec
- [(match_operator 0 "arm_comparison_operator"
- [(match_operand 1 "cc_register" "")
- (const_int 0)])]
-- "TARGET_ARM"
-+ "TARGET_ARM && !(TARGET_HARD_FLOAT && TARGET_MAVERICK)"
- ""
- )
-
-diff -urN ../gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/predicates.md gcc-4.1.2/gcc/config/arm/predicates.md
---- ../gcc-cross-4.1.2-r4/gcc-4.1.2/gcc/config/arm/predicates.md 2005-09-11 17:38:02.000000000 +1000
-+++ gcc-4.1.2/gcc/config/arm/predicates.md 2007-06-14 11:46:13.000000000 +1000
-@@ -172,7 +172,11 @@
-
- ;; True for comparisons other than LTGT or UNEQ.
- (define_special_predicate "arm_comparison_operator"
- (match_code "eq,ne,le,lt,ge,gt,geu,gtu,leu,ltu,unordered,ordered,unlt,unle,unge,ungt"))
-+
-+;; True for comparisons other than GE, GEU, UNLT, UNORDERED or ORDERED - TODO add LTGT and UNEQ - needs extra support elsewhere
-+(define_special_predicate "maverick_comparison_operator"
-+(match_code "eq,ne,le,lt,gt,gtu,leu,ltu,unle,unge,ungt"))
-
- (define_special_predicate "minmax_operator"
- (and (match_code "smin,smax,umin,umax")