diff options
author | Michael Lauer <mickey@vanille-media.de> | 2008-06-01 12:23:21 +0000 |
---|---|---|
committer | Michael Lauer <mickey@vanille-media.de> | 2008-06-01 12:23:21 +0000 |
commit | d69fd172c6e48679d54aa3e6767fb0cd357fc416 (patch) | |
tree | 88e74daad4385eb303a38b2c422ca5bd2d8ee208 /packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch | |
parent | b3b724b8114f74dabea8d6f6f8c31339841cef32 (diff) | |
parent | effad2723e7a4e7f306e3090ec8e4791020f554c (diff) |
merge of '1ba4060144f3549b5ec4424715ddde5fd9d0ad61'
and 'a66740dc82701e8bcaf09d803b69b8601b7efb2d'
Diffstat (limited to 'packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch')
-rw-r--r-- | packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch b/packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch new file mode 100644 index 0000000000..3d27cc1d9d --- /dev/null +++ b/packages/gcc/gcc-4.2.4/arm-crunch-compare-geu.patch @@ -0,0 +1,48 @@ +--- gcc-4.1.2/gcc/config/arm/arm.md-original 2007-06-08 06:39:41.000000000 +1000 ++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-08 06:41:00.000000000 +1000 +@@ -7125,6 +7125,22 @@ + (set_attr "length" "8")] + ) + ++; Special pattern to match GEU for MAVERICK. ++(define_insn "*arm_bgeu" ++ [(set (pc) ++ (if_then_else (geu (match_operand 1 "cc_register" "") (const_int 0)) ++ (label_ref (match_operand 0 "" "")) ++ (pc)))] ++ "TARGET_ARM && (TARGET_MAVERICK)" ++ "* ++ gcc_assert (!arm_ccfsm_state); ++ if (get_attr_cirrus (prev_active_insn(insn)) == CIRRUS_COMPARE) ++ return \"beq\\t%l0\;bvs\\t%l0\"; else return \"bge\\t%l0\;nop\"; ++ " ++ [(set_attr "conds" "jump_clob") ++ (set_attr "length" "8")] ++) ++ + ; Special pattern to match UNLT for MAVERICK - UGLY since we need to test for Z=0 && V=0. + (define_insn "*arm_bunlt" + [(set (pc) +@@ -7240,6 +7256,22 @@ + (set_attr "length" "8")] + ) + ++; Special pattern to match reversed GEU for MAVERICK. ++(define_insn "*arm_bgeu_reversed" ++ [(set (pc) ++ (if_then_else (geu (match_operand 1 "cc_register" "") (const_int 0)) ++ (pc) ++ (label_ref (match_operand 0 "" ""))))] ++ "TARGET_ARM && (TARGET_MAVERICK)" ++ "* ++ gcc_assert (!arm_ccfsm_state); ++ ++ return \"beq\\t.+12\;bvs\\t.+8\;b\\t%l0\"; ++ " ++ [(set_attr "conds" "jump_clob") ++ (set_attr "length" "12")] ++) ++ + ; Special pattern to match reversed UNLT for MAVERICK. + (define_insn "*arm_bunlt_reversed" + [(set (pc) |