https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117510
--- Comment #4 from Freddie Witherden ---
(In reply to Richard Biener from comment #3)
> Fixed for GCC 15.
Thanks! If I have cases which, when m is a compile time constant, vectorize for
m small but not m large is that likely to be a separate i
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Target Milestone: ---
Consider the following snippet:
void f(int n, int m, double *a)
{
#pragma omp simd
for (int i = 0; i <
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95747
Freddie Witherden changed:
What|Removed |Added
CC||freddie at witherden dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102404
--- Comment #4 from Freddie Witherden ---
Created attachment 51485
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51485&action=edit
Clang assembly.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102404
--- Comment #3 from Freddie Witherden ---
(In reply to Richard Biener from comment #2)
> 32 bytes are 256 bits (ymm), 64 bytes are 512 bits (zmm). GCC does not
> consider zmm vectorization because
>
> t.c:25:37: missed: loop does not have eno
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102404
--- Comment #1 from Freddie Witherden ---
Created attachment 51481
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51481&action=edit
Generated assembly.
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Target Milestone: ---
Created attachment 51480
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51480&action=edit
Test case
C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71414
Freddie Witherden changed:
What|Removed |Added
CC||freddie at witherden dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95264
--- Comment #8 from Freddie Witherden ---
(In reply to rguent...@suse.de from comment #7)
>
> Instead of [[gnu::flatten]] you could use the
> __attribute__((always_inline)) attribute on the foo function definition
> if you didn't simplify the o
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95264
--- Comment #6 from Freddie Witherden ---
(In reply to Richard Biener from comment #3)
> So with the [[gnu::flatten]] attributes removed -O1 needs 80 seconds to
> compile and about 3GB of memory, -O2 needs around 2 minutes (same memory),
> -O3
>
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Target Milestone: ---
Created attachment 48578
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48578&action=edit
Preprocessed source.
When att
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Consider the following snippet:
typedef double v4d __attribute__((vector_size(32)));
v4d set1(double *v)
{
v4d tmp = { v[0], v[1], v[2], v[3] };
return tmp
: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Compiling the following snippet with the 2013-12-08 shapshot of 4.9:
typedef double v4d __attribute__((vector_size(32)));
v4d gather(double *base, unsigned *offt
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58280
--- Comment #5 from Freddie Witherden ---
Thank you for this information. As an alternative would it be worth
considering a pragma along the lines of:
#pragma gcc aligned(32)
which would confer that "in the first iteration of the loop which fol
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58280
--- Comment #3 from Freddie Witherden ---
Would it be any easier --- from an implementation standpoint --- to adopt
something similar to the "__assume(predicate)" directive in ICC? This would
allow one to state explicitly:
__assume(ldim % 32 ==
: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Consider
void foo(int nr, int nc, int ldim,
double *__restrict a, double *__restrict b)
{
a = __builtin_assume_aligned(a, 32);
b = __builtin_assume_aligned(b, 32
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: freddie at witherden dot org
Created attachment 30541
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30541&action=edit
Sample code.
GCC 4.7.3 and 4.8.1 both miss an optimization when compil
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56787
Bug #: 56787
Summary: 4.8.0 Vectorization Regression Compared to 4.7.2
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
18 matches
Mail list logo