Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
static inline long load(long *p)
{
long ret;
asm ("movq %1,%0\n\t" : "=r&q
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71509
Nicholas Piggin changed:
What|Removed |Added
CC||npiggin at gmail dot com
--- Comment
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Created attachment 43488
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43488=edit
test case with description in comm
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Created attachment 43452
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43452=edit
testc
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Created attachment 43472
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43472=edit
test case with descript
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
gcc version 8.0.1 20180207 (experimental) [trunk revision 257435] (Debian
8-20180207-2):
Test case:
void test(void (*fn)(void), unsigned long i)
{
while (i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627
--- Comment #2 from Nicholas Piggin ---
Ah sorry, target is powerpc64le
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
gcc version 8.0.1 20180207 (experimental) [trunk revision 257435] (Debian
8-20180207-2):
Test case:
void test(void (*fn)(void), unsigned long i)
{
while (i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84627
Nicholas Piggin changed:
What|Removed |Added
Resolution|INVALID |FIXED
--- Comment #4 from Nicholas
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84443
--- Comment #3 from Nicholas Piggin ---
(In reply to Segher Boessenkool from comment #2)
> If you want some specific machine code for something complex like this, it
> is much easier to write the machine code than to fight the compiler.
Yes,
: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Target: powerpc64le-linux-gnu
gcc version 8.2.0 (Debian 8.2.0-4)
Linux uses a lot of non-trivial operations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94393
--- Comment #4 from Nicholas Piggin ---
(In reply to Alan Modra from comment #3)
> There are two parts to fixing this PR.
> 1) We can do better in the sequences generated for some constants.
> 2) rs6000_rtx_costs needs to be accurate, so that
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
--- test case
void test1(unsigned long a)
{
if (a > 0xc000ULL)
printf("yes\n");
}
void test2(
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
0xc000UL is generated with
li 9,-1
rldicr 9,9,0,1
0xbfffUL
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
CC: segher at gcc dot gnu.org
Target Milestone: ---
Target: powerpc64le-linux-gnu
Created attachment
: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Target: powerpc64le-linux-gnu
Build: gcc version 9.2.1 20190909 (Debian 9.2.1-8)
-- test.c --
extern int foo;
extern void slowpath(int *);
int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96017
--- Comment #3 from Nicholas Piggin ---
This is possibly a more targeted and simpler test case for at least one of the
problems in bug 84443. I would like to re-test that case after this one is
solved if it's not an obvious duplicate.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102062
--- Comment #14 from Nicholas Piggin ---
(In reply to Bill Schmidt from comment #10)
> Well, the problem is that we still generate suboptimal code on GCC 11. I
> don't know whether we want to address that or not.
>
> I suppose we aren't going
: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Target: powerpc64le-linux-gnu
--- test.c ---
int test(int *arr, int sz)
{
int ret = 0;
int i;
if (sz <
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102062
--- Comment #3 from Nicholas Piggin ---
(In reply to Bill Schmidt from comment #2)
> As expected, I get similar code when compiling either for P9 or P10.
Oh I should have specified, -O2 is the only option. If I add
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102062
--- Comment #5 from Nicholas Piggin ---
(In reply to Bill Schmidt from comment #2)
> As expected, I get similar code when compiling either for P9 or P10.
Oh I should have specified, -O2 is the only option. If I add
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
CC: bergner at gcc dot gnu.org
Target Milestone: ---
Target: powerpc64le-linux-gnu
--- test.c ---
int foo, bar;
void test(void)
{
foo = bar;
}
---
Using
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
Target: powerpc64le-linux-gnu
gcc version 11.2.1 20210815 (Debian 11.2.0-2)
Build flags -O2
--- test.c ---
void foo(long arg)
{
if (arg & ((1UL &
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102062
Nicholas Piggin changed:
What|Removed |Added
Resolution|--- |FIXED
Status|NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102485
--- Comment #9 from Nicholas Piggin ---
And upstream gas still doesn't even warn with -many!!
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
CC: amodra at gcc dot gnu.org, bergner at gcc dot gnu.org,
dje at gcc dot gnu.org, meissner at gcc dot gnu.org, pc at
us dot ibm.com,
segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104671
--- Comment #1 from Nicholas Piggin ---
The comment in recent binutils.git commit cebc89b9328 sheds some more light on
this and possibly provides a workaround in binutils for the errant .machine
directive.
The referenced gcc bug #101393 looks
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102485
--- Comment #8 from Nicholas Piggin ---
(In reply to Segher Boessenkool from comment #7)
> > GCC already passes -m to the assembler though.
>
> That mostly is historic.
So? I was pointing out the compiler already tells the assembler what
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104671
--- Comment #4 from Nicholas Piggin ---
(In reply to Alan Modra from comment #3)
> (In reply to Nicholas Piggin from comment #0)
> > Commit e154242724b084380e3221df7c08fcdbd8460674 ("Don't pass -many to the
> > assembler") also added a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102485
Nicholas Piggin changed:
What|Removed |Added
CC||npiggin at gmail dot com
--- Comment
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
CC: segher at gcc dot gnu.org
Target Milestone: ---
Target: powerpc64le-linux-gnu
This is Debian 12.2.0-1 build.
powerpc64
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
CC: segher at gcc dot gnu.org
Target Milestone: ---
Target: powerpc64le-linux-gnu
--- test.c
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: npiggin at gmail dot com
Target Milestone: ---
POWER10 has "wideimmediate" fusion sequences that include addi rx,ra,si ; addis
rx,rx,SI and addis rx,ra,si ; addi rx,rx,SI
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
Nicholas Piggin changed:
What|Removed |Added
Resolution|INVALID |---
Status|RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
--- Comment #11 from Nicholas Piggin ---
(In reply to Segher Boessenkool from comment #10)
> (In reply to Nicholas Piggin from comment #9)
> > I don't know why constraint is wrong and mode is right
>
> Simple: you would need O(2**T*N)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
--- Comment #13 from Nicholas Piggin ---
(In reply to Segher Boessenkool from comment #12)
> > I guess that would be annoying if you couldn't have modifiers on constraints
>
> There is no such thing as "operand modifiers". There are *output*
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
--- Comment #9 from Nicholas Piggin ---
(In reply to Segher Boessenkool from comment #8)
> (In reply to Peter Bergner from comment #6)
> > (In reply to Segher Boessenkool from comment #5)
> > > Constraints are completely the wrong tool for
37 matches
Mail list logo