aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-06-21 16:08:51 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-25 16:32:14 +0100
commit7d0c7a759c29669b2b5828fd75837926506acd87 (patch)
treedab19590f6cf6713ed45079b2c2d7171b1409eb6 /meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
parent505d82df47628b72e2af6f73e7c33fbb9812fdd1 (diff)
downloadopenembedded-core-contrib-7d0c7a759c29669b2b5828fd75837926506acd87.tar.gz
gcc: Remove csl gcc recipes
sourcery toolchain is available as external pluggable toolchain if needed. Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch97
1 files changed, 0 insertions, 97 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
deleted file mode 100644
index 5738a470ff..0000000000
--- a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-Upstream-Status: Pending
-
-ARM is the only architecture that has a helper function that returns
-an unbiased result. This fix is trivial enough that we can show it
-doesn't effect any of the other arches. Can we consider this a
-regression fix since it used to work until the helper was added :}
-
-Tested with no regressions on x86_64-pc-linux-gnu and arm-none-eabi.
-
-Cheers,
-Carlos.
---
-Carlos O'Donell
-CodeSourcery
-carlos@codesourcery.com
-(650) 331-3385 x716
-
-gcc/
-
-2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
-
- * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
- the comparison routine return.
-
-gcc/testsuite/
-
-2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
-
- * gcc.dg/unsigned-long-compare.c: New test.
-
-Index: gcc/optabs.c
-===================================================================
---- 1/gcc/optabs.c (revision 110300)
-+++ 2/gcc/optabs.c (working copy)
-@@ -3711,18 +3711,24 @@
- result = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST_MAKE_BLOCK,
- word_mode, 2, x, mode, y, mode);
-
-+ /* There are two kinds of comparison routines. Biased routines
-+ return 0/1/2, and unbiased routines return -1/0/1. Other parts
-+ of gcc expect that the comparison operation is equivalent
-+ to the modified comparison. For signed comparisons compare the
-+ result against 1 in the unbiased case, and zero in the biased
-+ case. For unsigned comparisons always compare against 1 after
-+ biasing the unbased result by adding 1. This gives us a way to
-+ represent LTU. */
- *px = result;
- *pmode = word_mode;
-- if (TARGET_LIB_INT_CMP_BIASED)
-- /* Integer comparison returns a result that must be compared
-- against 1, so that even if we do an unsigned compare
-- afterward, there is still a value that can represent the
-- result "less than". */
-- *py = const1_rtx;
-- else
-+ *py = const1_rtx;
-+
-+ if (!TARGET_LIB_INT_CMP_BIASED)
- {
-- *py = const0_rtx;
-- *punsignedp = 1;
-+ if (*punsignedp)
-+ *px = plus_constant (result, 1);
-+ else
-+ *py = const0_rtx;
- }
- return;
- }
-Index: gcc/testsuite/gcc.dg/unsigned-long-compare.c
-===================================================================
---- 1/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
-+++ 2/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
-@@ -0,0 +1,24 @@
-+/* Copyright (C) 2006 Free Software Foundation, Inc. */
-+/* Contributed by Carlos O'Donell on 2006-01-27 */
-+
-+/* Test a division corner case where the expression simplifies
-+ to a comparison, and the optab expansion is wrong. The optab
-+ expansion emits a function whose return is unbiased and needs
-+ adjustment. */
-+/* Origin: Carlos O'Donell <carlos@codesourcery.com> */
-+/* { dg-do run { target arm-*-*eabi* } } */
-+/* { dg-options "" } */
-+#include <stdlib.h>
-+
-+#define BIG_CONSTANT 0xFFFFFFFF80000000ULL
-+
-+int main (void)
-+{
-+ unsigned long long OneULL = 1ULL;
-+ unsigned long long result;
-+
-+ result = OneULL / BIG_CONSTANT;
-+ if (result)
-+ abort ();
-+ exit (0);
-+}