diff options
author | Timo Teräs <timo.teras@iki.fi> | 2016-07-22 07:01:56 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-07-22 07:01:56 +0000 |
commit | a9f466cd349d3237906b2af09ff11d4c5f3f2de4 (patch) | |
tree | 551fec7d485677a952efeac275243514b5db0b7a /main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch | |
parent | 02192413ade8b2fb6e771a2eade03fe8d8d8196a (diff) | |
download | aports-a9f466cd349d3237906b2af09ff11d4c5f3f2de4.tar.bz2 aports-a9f466cd349d3237906b2af09ff11d4c5f3f2de4.tar.xz |
main/gcc: upgrade to gcc 6 snapshot 20160721
this includes additional arm fixes that fix u-boot compilation.
_pkgbase is expected to be the release tarball, and we have
cumulative diff to bring up to the snapshot.
gcc marks the snapshot releases as 6.1.1 too, so we use this
version for our packaging too. gcc -v reports:
gcc version 6.1.1 20160721 (Alpine 6.1.1)
so the actual snapshot date is visible too. next release is
due to be 6.2.
Diffstat (limited to 'main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch')
-rw-r--r-- | main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch b/main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch deleted file mode 100644 index ed72b893f6..0000000000 --- a/main/gcc/gcc-6.1-71056-Don-t-use-vectorized-builtins-when-N.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 7286da3d2d19806e8a1273558fb08e094bb7ffe7 Mon Sep 17 00:00:00 2001 -From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 19 May 2016 13:43:58 +0000 -Subject: [PATCH 2/2] PR target/71056: Don't use vectorized builtins when NEON - is not available - - PR target/71056 - * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return - NULL_TREE early if NEON is not available. Remove now redundant check - in ARM_CHECK_BUILTIN_MODE. - - * gcc.target/arm/pr71056.c: New test. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236459 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config/arm/arm-builtins.c | 6 +++++- - gcc/testsuite/gcc.target/arm/pr71056.c | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 37 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.target/arm/pr71056.c - -diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c -index 90fb40f..68b2839 100644 ---- a/gcc/config/arm/arm-builtins.c -+++ b/gcc/config/arm/arm-builtins.c -@@ -2861,6 +2861,10 @@ arm_builtin_vectorized_function (unsigned int fn, tree type_out, tree type_in) - int in_n, out_n; - bool out_unsigned_p = TYPE_UNSIGNED (type_out); - -+ /* Can't provide any vectorized builtins when we can't use NEON. */ -+ if (!TARGET_NEON) -+ return NULL_TREE; -+ - if (TREE_CODE (type_out) != VECTOR_TYPE - || TREE_CODE (type_in) != VECTOR_TYPE) - return NULL_TREE; -@@ -2875,7 +2879,7 @@ arm_builtin_vectorized_function (unsigned int fn, tree type_out, tree type_in) - NULL_TREE is returned if no such builtin is available. */ - #undef ARM_CHECK_BUILTIN_MODE - #define ARM_CHECK_BUILTIN_MODE(C) \ -- (TARGET_NEON && TARGET_FPU_ARMV8 \ -+ (TARGET_FPU_ARMV8 \ - && flag_unsafe_math_optimizations \ - && ARM_CHECK_BUILTIN_MODE_1 (C)) - -diff --git a/gcc/testsuite/gcc.target/arm/pr71056.c b/gcc/testsuite/gcc.target/arm/pr71056.c -new file mode 100644 -index 0000000..136754e ---- /dev/null -+++ b/gcc/testsuite/gcc.target/arm/pr71056.c -@@ -0,0 +1,32 @@ -+/* PR target/71056. */ -+/* { dg-do compile } */ -+/* { dg-require-effective-target arm_vfp3_ok } */ -+/* { dg-options "-O3 -mfpu=vfpv3" } */ -+ -+/* Check that compiling for a non-NEON target doesn't try to introduce -+ a NEON vectorized builtin. */ -+ -+extern char *buff; -+int f2 (); -+struct T1 -+{ -+ int reserved[2]; -+ unsigned int ip; -+ unsigned short cs; -+ unsigned short rsrv2; -+}; -+void -+f3 (const char *p) -+{ -+ struct T1 x; -+ __builtin_memcpy (&x, p, sizeof (struct T1)); -+ x.reserved[0] = __builtin_bswap32 (x.reserved[0]); -+ x.reserved[1] = __builtin_bswap32 (x.reserved[1]); -+ x.ip = __builtin_bswap32 (x.ip); -+ x.cs = x.cs << 8 | x.cs >> 8; -+ x.rsrv2 = x.rsrv2 << 8 | x.rsrv2 >> 8; -+ if (f2 ()) -+ { -+ __builtin_memcpy (buff, "\n", 1); -+ } -+} --- -2.7.2 - |