https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552
--- Comment #8 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #7)
> (In reply to Andrew Pinski from comment #6)
> > (In reply to Li Jia He from comment #5)
> > > Could we consider doing this optimization on gimple? I use the follo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93674
--- Comment #1 from Andrew Pinski ---
-fstrict-enums
Allow the compiler to optimize using the assumption that a value of enumerated
type can only be one of the values of the enumeration (as defined in the C++
standard; basically, a value that can
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93687
--- Comment #1 from Andrew Pinski ---
*** Bug 93688 has been marked as a duplicate of this bug. ***
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93688
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93692
Andrew Pinski changed:
What|Removed |Added
Keywords||documentation
Status|UNCONFI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93692
--- Comment #2 from Andrew Pinski ---
Note there is a -fdump-analyzer-supergraph so it looks like there is a copy and
paste issue.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93692
--- Comment #3 from Andrew Pinski ---
The documentation does describe more what super means :).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64242
--- Comment #38 from Andrew Pinski ---
(In reply to Wilco from comment #37)
> (In reply to Andrew Pinski from comment #36)
> > MIPS is still broken. I might look into MIPS brokenness next week.
>
> Yes it seems builtin_longjmp has the exact sam
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93704
--- Comment #2 from Andrew Pinski ---
How did you configure gcc?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93711
Andrew Pinski changed:
What|Removed |Added
Keywords||ice-on-valid-code
Depends on|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64242
--- Comment #39 from Andrew Pinski ---
Created attachment 47830
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47830&action=edit
MIPS patch
This is the MIPS patch, I will post it by the end of next week.
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*-*-*
Take:
#define vector __attribute__
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
Andrew Pinski changed:
What|Removed |Added
CC||dpochepk at gmail dot com
--- Comment #1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92892
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |10.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93721
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93721
--- Comment #2 from Andrew Pinski ---
A simple testcase:
void f(unsigned short *a)
{
unsigned short t0 = a[0];
unsigned short t1 = a[1];
a[1] = t0;
a[0] = t1;
}
CUT
Should produce the same as:
void f0(unsigned short *a)
{
uns
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93721
--- Comment #3 from Andrew Pinski ---
For unsigned long:
void f(unsigned long *a)
{
unsigned long t0 = a[0];
unsigned long t1 = a[1];
a[1] = t0;
a[0] = t1;
}
void f0(unsigned long *a)
{
__uint128_t t0 = ((__uint128_t *)a)[0];
__uint12
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93721
--- Comment #4 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #3)
> Note I will file f0 not producing rolq soon.
Filed as PR 93722.
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Target: x86_64-linux-gnu
Take:
void f0(unsigned long *a)
{
__uint128_t t0 = ((__uint128_t *)a)[0];
__uint128_t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93388
--- Comment #10 from Andrew Pinski ---
(In reply to David Binderman from comment #9)
> > These look like duplicates: I tried to repeat this with current master by
> > adding -fanalyzer to gcc.dg/dg.exp's DEFAULT_CFLAGS, and I didn't see any
> > c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91921
Andrew Pinski changed:
What|Removed |Added
CC||loximann at gmail dot com
--- Comment #5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93728
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93732
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93609
Andrew Pinski changed:
What|Removed |Added
CC||laurent.stacul at gmail dot com
--- Comm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93722
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90262
Andrew Pinski changed:
What|Removed |Added
Target||aarch64-linux-gnu
Component|mid
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93737
--- Comment #2 from Andrew Pinski ---
Sdee the thread starting at:
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg01618.html
Continued at:
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg00277.html
This infastructure patch was committed October 2,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565
--- Comment #20 from Andrew Pinski ---
(In reply to Segher Boessenkool from comment #18)
> Created attachment 47841 [details]
> Patch to treat sign_extend as is_just_move
Do you think zero_extend should maybe be treated as such too? What about
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93619
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93619
--- Comment #3 from Andrew Pinski ---
The target (non-testsuite) part is located at:
https://gcc.gnu.org/ml/gcc-patches/2020-02/msg00837.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93743
Andrew Pinski changed:
What|Removed |Added
Component|rtl-optimization|target
Target Milestone|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93744
Andrew Pinski changed:
What|Removed |Added
Keywords||wrong-code
Component|c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93744
--- Comment #2 from Andrew Pinski ---
(In reply to Jakub Jelinek from comment #1)
> Started with r8-2090-g2071f8f980cc0de02af3d7d7de201f4f189058ff
I was thinking it was that and I was looking for that part in match.pd earlier.
There are two ways
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93747
Andrew Pinski changed:
What|Removed |Added
Component|rtl-optimization|middle-end
--- Comment #2 from Andrew Pi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93747
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93748
Andrew Pinski changed:
What|Removed |Added
Component|c |rtl-optimization
--- Comment #1 from And
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93749
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Component|c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93750
--- Comment #1 from Andrew Pinski ---
Does using -std=gnu++11 work?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93751
--- Comment #2 from Andrew Pinski ---
This has been an issue since before modern history of GCC for dwarf2 :). That
is is was broken in 1996.
Stabs emitted the debug info:
.stabs "bar:S(0,1)",40,0,0,bar
.stabs "foo:G(0,1)",32,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93760
--- Comment #1 from Andrew Pinski ---
Should be "while the other does not"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93764
Andrew Pinski changed:
What|Removed |Added
Keywords||wrong-code
Component|c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93763
Andrew Pinski changed:
What|Removed |Added
Keywords||ice-on-valid-code
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93753
Andrew Pinski changed:
What|Removed |Added
Keywords||ice-on-invalid-code
--- Comment #1 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93758
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |WAITING
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
||2020-02-16
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot
gnu.org
Ever confirmed|0 |1
--- Comment #2 from Andrew Pinski ---
I have a patch which goes in and re-encodes {0, 1, 4,5} to {0, 2} and uses V2DI
as the mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
--- Comment #4 from Andrew Pinski ---
Note the __builtin_shuffle expansion can be generialized to handle the case
where there is more than elements but only one element insert:
#define vector __attribute__((vector_size(16) ))
vector float f(vec
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
--- Comment #5 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #4)
> Note the __builtin_shuffle expansion can be generialized to handle the case
> where there is more than elements but only one element insert:
Note this should be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82199
--- Comment #3 from Andrew Pinski ---
Created attachment 47850
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47850&action=edit
Patch without testcases
My patch but without testcases. I will try to add a few in a little bit.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
--- Comment #7 from Andrew Pinski ---
Created attachment 47853
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47853&action=edit
A better version
This attached patch is generalized version of the vec_perm to insert. We don't
need need patt
-optimization
Severity: enhancement
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Take:
void f(double *a, double *t, double *d)
{
double t1 = t[0] + d[0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
--- Comment #8 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #7)
> Yes we still have the extra mov, but that seems to be a register allocator
> issue. I have not looked into it further.
But the original SLP issue is what produc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93771
--- Comment #1 from Andrew Pinski ---
If t[3] was an unrelated load, then SLP does the correct thing.
E.g.
void f(double *a, double *t, double *t0, double *d)
{
double t1 = t[0] + d[0];
double t2 = t0[0] + d[1];
a[0] = t1;
a[1] = t2;
}
N
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93751
--- Comment #7 from Andrew Pinski ---
>All the other formats are effectively deprecated at this point I think.
Right; as I mentioned this has been an issue since dwarf2 support was added;
since 1996. Which means if someone depdended on this, it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93772
Andrew Pinski changed:
What|Removed |Added
Keywords||ice-on-valid-code
Status|UNC
at gcc dot gnu.org |pinskia at gcc dot
gnu.org
--- Comment #9 from Andrew Pinski ---
Mine.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
Andrew Pinski changed:
What|Removed |Added
Attachment #47853|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82199
Andrew Pinski changed:
What|Removed |Added
Attachment #47850|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93776
Andrew Pinski changed:
What|Removed |Added
Keywords||ice-on-valid-code
Target Milestone|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93776
Andrew Pinski changed:
What|Removed |Added
Depends on||93667
--- Comment #1 from Andrew Pinski
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93780
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |10.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93780
Andrew Pinski changed:
What|Removed |Added
Target|x86_64-*-*, i?86-*-*|
Status|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93780
--- Comment #2 from Andrew Pinski ---
v = { 0.0, 0.0, 0.0, 0.0 };
MEM [(char * {ref-all})&v] = MEM
[(char * {ref-all})&init];
_1 = BIT_FIELD_REF ;
The check there needs to check if the the nelts is a power of 2.
Which is what SET_TYPE_V
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93771
--- Comment #3 from Andrew Pinski ---
(In reply to Richard Biener from comment #2)
> Confirmed. I'm not sure if we should try to "fix" SLP here or rather
> appropriately optimize
>
> v2df tem1 = *(v2df *)&t[0];
> v2df tem2 = *(v2df *)&t[2];
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93781
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Status|U
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93828
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |10.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93811
--- Comment #2 from Andrew Pinski ---
Note ___clear_cache was originally designed for trampolines. PoewrPC64v1 ABI
does not use trampolines for nested functions.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93852
--- Comment #2 from Andrew Pinski ---
These are all diagonstic which normally don't go for normal compilation
including when user has provided invalid code. These are all have an internal
error message after them.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93853
--- Comment #1 from Andrew Pinski ---
No this is correct english.
It means one or more extra bytes were written.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93853
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93855
--- Comment #3 from Andrew Pinski ---
(In reply to Roland Illig from comment #2)
> While here, the comment style should be made the same in
> attr-access-read-write.c and attr-access-read-only.c. Currently, one file
> uses /* block comments */ wh
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808
--- Comment #17 from Andrew Pinski ---
In the original code we have:
if ((uintptr_t)p % 4) {
int l = 4 - (uintptr_t)p % 4;
p += l;
switch (l) {
l range should be 0...3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808
--- Comment #19 from Andrew Pinski ---
t = (const uintptr_t *)(e - (4 -1));
is problemantic though. e is not known to be aligned to uintptr_t.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25290
--- Comment #15 from Andrew Pinski ---
(In reply to rguent...@suse.de from comment #13)
> On February 21, 2018 2:13:22 PM GMT+01:00, "egallager at gcc dot gnu.org"
> wrote:
> >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25290
> >
> >Eric Gallag
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93808
--- Comment #21 from Andrew Pinski ---
(In reply to Oleg Endo from comment #20)
> (In reply to Andrew Pinski from comment #19)
> > t = (const uintptr_t *)(e - (4 -1));
> >
> > is problemantic though. e is not known to be aligned to uintptr_
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93873
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Component|c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91913
--- Comment #7 from Andrew Pinski ---
(In reply to John Paul Adrian Glaubitz from comment #6)
> I'm seeing this exact problem SH as well when trying to build webkit2gtk:
Please report this speerately.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93878
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93894
--- Comment #3 from Andrew Pinski ---
The warning is not sensitive to what is being switched on. That is the inner
most switch is considered as falling through as the switch is not checked for
the values it will be switched on.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93896
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Status|U
||2020-02-23
Component|middle-end |tree-optimization
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot
gnu.org
Ever confirmed|0 |1
--- Comment #1 from Andrew Pinski ---
Mine for GCC 11.
I have a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93897
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Target|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93892
Andrew Pinski changed:
What|Removed |Added
Component|libstdc++ |c++
--- Comment #1 from Andrew Pinski -
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93911
Andrew Pinski changed:
What|Removed |Added
CC||marxin at gcc dot gnu.org
Compo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93911
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93906
Andrew Pinski changed:
What|Removed |Added
Keywords||compile-time-hog
Status|UNCO
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93910
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93915
--- Comment #1 from Andrew Pinski ---
I thought I had saw another bug asking a similar thing but without concepts
being involved.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93915
Andrew Pinski changed:
What|Removed |Added
Keywords||diagnostic
--- Comment #2 from Andrew Pi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93916
--- Comment #2 from Andrew Pinski ---
std::memset(storage.bytes, 0, sizeof(storage.bytes));
From* p = new (storage.bytes) From(from);
The memset here is considered as Dead code.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93919
Andrew Pinski changed:
What|Removed |Added
Target|x86_64-*-*, i?86-*-*|x86_64-*-*, i?86-*-*,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93921
--- Comment #4 from Andrew Pinski ---
_S_copy_chars is just a wrapper function around _S_copy
And _S_copy is a wrapper function around either assign or copy based on the
size k1-k2 of the original _S_copy_chars.
assign is just an assignment of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93919
--- Comment #3 from Andrew Pinski ---
(In reply to Richard Biener from comment #2)
> Sounds like a dup of PR93843
Yes it does.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93918
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93922
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |10.0
Summary|Fails to emit in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93927
Andrew Pinski changed:
What|Removed |Added
Depends on||93926
Known to fail|10.0, 6.3.0, 7.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93922
--- Comment #2 from Andrew Pinski ---
Note here is a C++11 testcase which shows the problem and shows it is a
regression:
template struct sk_sp {
template sk_sp(sk_sp const &);
~sk_sp() {}
};
struct SkPicture {};
struct Wrapped: SkPictur
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93843
--- Comment #6 from Andrew Pinski ---
(In reply to Matthias Kretz (Vir) from comment #5)
> Simpler variant. I couldn't come up with a better barrier to force the last
> line to load from out than inline asm.
>
> char in[2] = {2, 2};
> short out[
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93934
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Target|
1101 - 1200 of 16035 matches
Mail list logo