This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
- From: Marat Zakirov <m dot zakirov at samsung dot com>
- To: Mike Stump <mikestump at comcast dot net>, ramrad01 at arm dot com
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>, Cong Hou <congh at google dot com>, Richard Biener <rguenther at suse dot de>, Yury Gribov <y dot gribov at samsung dot com>
- Date: Fri, 05 Sep 2014 17:06:04 +0400
- Subject: Re: [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
- Authentication-results: sourceware.org; auth=none
- References: <53CFC558 dot 3020202 at samsung dot com> <53D0FBA1 dot 9080607 at samsung dot com> <53D128F8 dot 9090004 at samsung dot com> <53DA31B3 dot 3060007 at samsung dot com> <53E33E50 dot 7020802 at samsung dot com> <53ECBC48 dot 9040607 at samsung dot com> <53F60AA7 dot 2040807 at samsung dot com> <CAJA7tRaL9bUgtr8nCXkkWEr+oYpjtFQ=j+W61=uFiXQQ=J94uA at mail dot gmail dot com> <CCEA6B0F-DDDB-4D56-8C0E-F38CE1B7EB09 at comcast dot net>
On 09/04/2014 09:23 PM, Mike Stump wrote:
On Sep 4, 2014, at 4:14 AM, Ramana Radhakrishnan <ramana.gcc@googlemail.com> wrote:
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
proc check_effective_target_arm_vect_no_misalign { } {
return [check_no_compiler_messages arm_vect_no_misalign assembly {
#if !defined(__arm__) \
- || (defined(__ARMEL__) \
- && (!defined(__thumb__) || defined(__thumb2__)))
+ || (defined(__ARM_FEATURE_UNALIGNED) \
+ && defined(__ARMEL__))
#error FOO
#endif
}]
Ok by me. But please wait for a testsuite maintainer to approve.
Ok.
Generally the port people that have been around for a while know what strikes them as wrong or not and can just approve the patch directly. I suspect you are one of those people. :-) If you have any doubts or concerns, you can always raise them or ask for some help reviewing. Don’t worry, if I spot something I don’t like after someone else says Ok, I will bring up the issue for consideration. Even if I do, it doesn’t mean I object in anyway to the first review.
Thank you all.
Committed revision 214956.
--Marat
gcc/testsuite/ChangeLog:
2014-07-23 Marat Zakirov <m.zakirov@samsung.com>
* gcc.dg/vect/vect-109.c: Skip predicate added.
* gcc.dg/vect/vect-93.c: Test check fixed.
* gcc.dg/vect/bb-slp-10.c: Likewise.
* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
Check unaligned feature.
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." "slp2" { xfail vect_element_align } } } */
/* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
/* { dg-final { cleanup-tree-dump "slp2" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
/* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
proc check_effective_target_arm_vect_no_misalign { } {
return [check_no_compiler_messages arm_vect_no_misalign assembly {
#if !defined(__arm__) \
- || (defined(__ARMEL__) \
- && (!defined(__thumb__) || defined(__thumb2__)))
+ || (defined(__ARM_FEATURE_UNALIGNED) \
+ && defined(__ARMEL__))
#error FOO
#endif
}]