aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch')
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch b/meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch
deleted file mode 100644
index 57b8605e55..0000000000
--- a/meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99347.patch
+++ /dev/null
@@ -1,83 +0,0 @@
- Merge from Sourcery G++ 4.4:
-
- 2010-02-15 Julian Brown <julian@codesourcery.com>
-
- Issue #7486
-
- gcc/
- * config/arm/arm.c (arm_libcall_uses_aapcs_base)
- (arm_init_cumulative_args): Use correct ABI for double-precision
- helper functions in hard-float mode if only single-precision
- arithmetic is supported in hardware.
-
-2010-07-26 Julian Brown <julian@codesourcery.com>
-
- Backport from FSF mainline:
-
- Julian Brown <julian@codesourcery.com>
-
-=== modified file 'gcc/config/arm/arm.c'
---- old/gcc/config/arm/arm.c 2010-08-13 10:30:35 +0000
-+++ new/gcc/config/arm/arm.c 2010-08-13 10:43:42 +0000
-@@ -3453,6 +3453,28 @@
- convert_optab_libfunc (sfix_optab, DImode, SFmode));
- add_libcall (libcall_htab,
- convert_optab_libfunc (ufix_optab, DImode, SFmode));
-+
-+ /* Values from double-precision helper functions are returned in core
-+ registers if the selected core only supports single-precision
-+ arithmetic, even if we are using the hard-float ABI. */
-+ if (TARGET_VFP)
-+ {
-+ add_libcall (libcall_htab, optab_libfunc (add_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (sdiv_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (smul_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (neg_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (sub_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (eq_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (lt_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (le_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (ge_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (gt_optab, DFmode));
-+ add_libcall (libcall_htab, optab_libfunc (unord_optab, DFmode));
-+ add_libcall (libcall_htab,
-+ convert_optab_libfunc (sext_optab, DFmode, SFmode));
-+ add_libcall (libcall_htab,
-+ convert_optab_libfunc (trunc_optab, SFmode, DFmode));
-+ }
- }
-
- return libcall && htab_find (libcall_htab, libcall) != NULL;
-@@ -4406,6 +4428,31 @@
- if (arm_libcall_uses_aapcs_base (libname))
- pcum->pcs_variant = ARM_PCS_AAPCS;
-
-+ /* We must pass arguments to double-precision helper functions in core
-+ registers if we only have hardware support for single-precision
-+ arithmetic, even if we are using the hard-float ABI. */
-+ if (TARGET_VFP
-+ && (rtx_equal_p (libname, optab_libfunc (add_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (sdiv_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (smul_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (neg_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (sub_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (eq_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (lt_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (le_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (ge_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (gt_optab, DFmode))
-+ || rtx_equal_p (libname, optab_libfunc (unord_optab, DFmode))
-+ || rtx_equal_p (libname, convert_optab_libfunc (sext_optab,
-+ DFmode, SFmode))
-+ || rtx_equal_p (libname, convert_optab_libfunc (trunc_optab,
-+ SFmode, DFmode))
-+ || rtx_equal_p (libname, convert_optab_libfunc (sfix_optab,
-+ SImode, DFmode))
-+ || rtx_equal_p (libname, convert_optab_libfunc (ufix_optab,
-+ SImode, DFmode))))
-+ pcum->pcs_variant = ARM_PCS_AAPCS;
-+
- pcum->aapcs_ncrn = pcum->aapcs_next_ncrn = 0;
- pcum->aapcs_reg = NULL_RTX;
- pcum->aapcs_partial = 0;
-