* [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook.
@ 2012-12-06 15:10 James Greenhalgh
2012-12-13 11:21 ` *PING* " James Greenhalgh
2012-12-13 12:08 ` Marcus Shawcroft
0 siblings, 2 replies; 3+ messages in thread
From: James Greenhalgh @ 2012-12-06 15:10 UTC (permalink / raw)
To: gcc-patches; +Cc: marcus.shawcroft
[-- Attachment #1: Type: text/plain, Size: 763 bytes --]
Hi,
This patch wires up TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES on
AArch64 to allow for 64-bit or 128-bit vectorization if the
preferred vector mode is not acceptable.
The patch has been regression tested on aarch64-none-elf with
no regressions.
Thanks,
James Greenhalgh
---
gcc/
2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64.c
(aarch64_autovectorize_vector_sizes): New.
(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
gcc/testsuite/
2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
* lib/target-supports.exp
(check_effective_target_vect_multiple_sizes): Enable for AArch64.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-AArch64-Add-support-for-TARGET_VECTORIZE_AUTOVECTORI.patch --]
[-- Type: text/x-patch; name=0001-AArch64-Add-support-for-TARGET_VECTORIZE_AUTOVECTORI.patch, Size: 1655 bytes --]
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index f262ef9..02f888e 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -5861,6 +5861,14 @@ aarch64_preferred_simd_mode (enum machine_mode mode)
return word_mode;
}
+/* Return the bitmask of possible vector sizes for the vectorizer
+ to iterate over. */
+static unsigned int
+aarch64_autovectorize_vector_sizes (void)
+{
+ return (16 | 8);
+}
+
/* Return the equivalent letter for size. */
static unsigned char
sizetochar (int size)
@@ -6853,6 +6861,10 @@ aarch64_c_mode_for_suffix (char suffix)
#undef TARGET_VECTORIZE_PREFERRED_SIMD_MODE
#define TARGET_VECTORIZE_PREFERRED_SIMD_MODE aarch64_preferred_simd_mode
+#undef TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES
+#define TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES \
+ aarch64_autovectorize_vector_sizes
+
/* Section anchor support. */
#undef TARGET_MIN_ANCHOR_OFFSET
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5935346..5e53b72 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3842,7 +3842,8 @@ proc check_effective_target_vect_multiple_sizes { } {
global et_vect_multiple_sizes_saved
set et_vect_multiple_sizes_saved 0
- if { ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
+ if { ([istarget aarch64*-*-*]
+ || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok])) } {
set et_vect_multiple_sizes_saved 1
}
if { ([istarget x86_64-*-*] || [istarget i?86-*-*]) } {
^ permalink raw reply [flat|nested] 3+ messages in thread
* *PING* RE: [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook.
2012-12-06 15:10 [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook James Greenhalgh
@ 2012-12-13 11:21 ` James Greenhalgh
2012-12-13 12:08 ` Marcus Shawcroft
1 sibling, 0 replies; 3+ messages in thread
From: James Greenhalgh @ 2012-12-13 11:21 UTC (permalink / raw)
To: gcc-patches
*ping*
Thanks,
James
> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of James Greenhalgh
> Sent: 06 December 2012 15:10
> To: gcc-patches@gcc.gnu.org
> Cc: Marcus Shawcroft
> Subject: [AArch64] Add support for
> TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook.
>
>
> Hi,
>
> This patch wires up TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES on
> AArch64 to allow for 64-bit or 128-bit vectorization if the
> preferred vector mode is not acceptable.
>
> The patch has been regression tested on aarch64-none-elf with
> no regressions.
>
> Thanks,
> James Greenhalgh
>
> ---
> gcc/
>
> 2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
> Tejas Belagod <tejas.belagod@arm.com>
>
> * config/aarch64/aarch64.c
> (aarch64_autovectorize_vector_sizes): New.
> (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
>
> gcc/testsuite/
>
> 2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
> Tejas Belagod <tejas.belagod@arm.com>
>
> * lib/target-supports.exp
> (check_effective_target_vect_multiple_sizes): Enable for AArch64.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook.
2012-12-06 15:10 [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook James Greenhalgh
2012-12-13 11:21 ` *PING* " James Greenhalgh
@ 2012-12-13 12:08 ` Marcus Shawcroft
1 sibling, 0 replies; 3+ messages in thread
From: Marcus Shawcroft @ 2012-12-13 12:08 UTC (permalink / raw)
To: James Greenhalgh; +Cc: gcc-patches
On 06/12/12 15:09, James Greenhalgh wrote:
>
> Hi,
>
> This patch wires up TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES on
> AArch64 to allow for 64-bit or 128-bit vectorization if the
> preferred vector mode is not acceptable.
>
> The patch has been regression tested on aarch64-none-elf with
> no regressions.
>
> Thanks,
> James Greenhalgh
>
> ---
> gcc/
>
> 2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
> Tejas Belagod <tejas.belagod@arm.com>
>
> * config/aarch64/aarch64.c
> (aarch64_autovectorize_vector_sizes): New.
> (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
>
> gcc/testsuite/
>
> 2012-12-06 James Greenhalgh <james.greenhalgh@arm.com>
> Tejas Belagod <tejas.belagod@arm.com>
>
> * lib/target-supports.exp
> (check_effective_target_vect_multiple_sizes): Enable for AArch64.
>
OK
Thanks
/Marcus
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-12-13 12:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-06 15:10 [AArch64] Add support for TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES hook James Greenhalgh
2012-12-13 11:21 ` *PING* " James Greenhalgh
2012-12-13 12:08 ` Marcus Shawcroft
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).