https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112943
Hongyu Wang changed:
What|Removed |Added
CC||wwwhhhyyy333 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112824
Hongyu Wang changed:
What|Removed |Added
CC||wwwhhhyyy333 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112729
--- Comment #7 from Hongyu Wang ---
(In reply to r...@cebitec.uni-bielefeld.de from comment #5)
>
> Is there a reason to have -fomit-frame-pointer once before and once
> after -mapx-features=push2pop2?
Ah, thanks for pointing that out. Will ad
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112729
--- Comment #3 from Hongyu Wang ---
Created attachment 56703
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56703&action=edit
A patch
Hi Rainer, can you help verify if the change make these test pass on
solaris/FreeBSD?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112729
--- Comment #2 from Hongyu Wang ---
The cfi scan fails was caused by -fno-omit-frame-pointer which force push the
frame pointer first and the cfi info become different. By default we have
-fomit-frame-pointer on linux, but not other targets. I'd
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112394
--- Comment #2 from Hongyu Wang ---
Should be fixed.
-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
testcase:
#include
#include
typedef struct {
float s;
int8_t qs[32];
} block;
void foo (const int n, float * restrict s, const int8_t q[4], const block
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=27
Hongyu Wang changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
cat test.c
#include
__m512bh cvttest(__mmask32 k, __m512 a, __m512 b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110215
--- Comment #6 from Hongyu Wang ---
Thanks for the fix, now for the attached test, main loop will not have any
load.
There is a remaining issue that the loop epilogue still contains load from
stack and constant pool
.L9:
movslq %edx,
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
CC: marxin at gcc dot gnu.org
Target Milestone: ---
cat m1.h
---
#pragma once
class A
{
public:
int foo1();
};
---
cat m1.cpp
: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
Created attachment 55305
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55305&action=edit
A T
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110138
Hongyu Wang changed:
What|Removed |Added
Resolution|--- |INVALID
Status|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110138
--- Comment #1 from Hongyu Wang ---
operator+ now calls std::__cxx11::basic_string,
myAlloc_ >::get_allocator, and it will call the constructor again after
gimplify
__attribute__((nodiscard))
struct allocator_type std::__cxx11::basic_string,
my
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
Created attachment 55268
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55268&action=edit
Simplified test
complied wi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109062
Hongyu Wang changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
Priority: P3
Component: libgomp
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
CC: jakub at gcc dot gnu.org
Target Milestone: ---
Recently we found several big regressions on Phoronix OpenMP benchmark on
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107692
--- Comment #12 from Hongyu Wang ---
Fixed for GCC 13. Sorry for introducing this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107692
--- Comment #9 from Hongyu Wang ---
(In reply to Segher Boessenkool from comment #8)
> (In reply to Jiu Fu Guo from comment #5)
> > > -munroll-only-small-loops does not turn on or off -funroll-loops, and it
> > > should not, so that it does what
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107717
--- Comment #4 from Hongyu Wang ---
(In reply to Tamar Christina from comment #3)
> Fixed
Thanks for the fix! It also give me a good tip for match pattern writing :)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107734
--- Comment #12 from Hongyu Wang ---
(In reply to Andrew Pinski from comment #9)
> Fixed.
Thanks for the fix! I was not aware that sbitmap does not have a default
constructor :(.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107692
--- Comment #6 from Hongyu Wang ---
(In reply to Jiu Fu Guo from comment #4)
> (In reply to Hongyu Wang from comment #2)
> > Created attachment 53897 [details]
> > A patch
> >
> > Sorry for introducing these fails. Here is the patch.
> >
> > I
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107692
--- Comment #2 from Hongyu Wang ---
Created attachment 53897
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53897&action=edit
A patch
Sorry for introducing these fails. Here is the patch.
I've tested the patch with cross-compler and all
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107676
--- Comment #6 from Hongyu Wang ---
(In reply to Andrew Pinski from comment #5)
> (In reply to Jonathan Wakely from comment #4)
> > I don't think __atomic_compare_exchange emits such a loop. This is about
> > __atomic_fetch_xor and friends, whic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107304
--- Comment #10 from Hongyu Wang ---
(In reply to H.J. Lu from comment #9)
> (In reply to Hongtao.liu from comment #8)
> > (In reply to H.J. Lu from comment #7)
> > > (In reply to Hongtao.liu from comment #6)
> > > > (In reply to Hongtao.liu fro
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106180
Hongyu Wang changed:
What|Removed |Added
CC||wwwhhhyyy333 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105339
--- Comment #7 from Hongyu Wang ---
Fixed for gcc-9/10/11/12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105288
--- Comment #1 from Hongyu Wang ---
I think should be these 2?
(define_insn_and_split "avx512f__"
[(set (match_operand:AVX512MODE2P 0 "nonimmediate_operand" "=x,m")
(vec_concat:AVX512MODE2P
(vec_concat:
(match_op
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105034
--- Comment #2 from Hongyu Wang ---
For -O2 stv doesn't do such transform
Computing gain for chain #1...
Instruction gain 8 for 7: {r84:SI=smax(r85:SI,0);clobber flags:CC;}
REG_DEAD r85:SI
REG_UNUSED flags:CC
Instruction conv
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104978
--- Comment #5 from Hongyu Wang ---
Fixed for GCC 12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104977
--- Comment #3 from Hongyu Wang ---
Fixed for GCC 12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104726
--- Comment #7 from Hongyu Wang ---
Fixed for GCC 12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104724
--- Comment #4 from Hongyu Wang ---
Fixed for GCC 12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104726
Hongyu Wang changed:
What|Removed |Added
Attachment #52532|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104726
--- Comment #1 from Hongyu Wang ---
Created attachment 52532
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52532&action=edit
A patch
Hi Rainer, can you try this on your solaris system? We don't have such platform
to confirm it works.
I'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104724
--- Comment #1 from Hongyu Wang ---
Created attachment 52531
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52531&action=edit
A patch
Hi Rainer, can you try this on your solaris system? We don't have such platform
to confirm it works.
I'
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104664
--- Comment #6 from Hongyu Wang ---
Fixed for GCC 12.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104664
--- Comment #4 from Hongyu Wang ---
(In reply to Uroš Bizjak from comment #3)
> Reconfirmed as RA issue.
I'm afraid we'd avoid pattern like
(insn 180 179 182 2 (set (reg:V8HF 220)
(subreg:V8HF (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104664
--- Comment #2 from Hongyu Wang ---
starting from r12-6021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103069
--- Comment #19 from Hongyu Wang ---
(In reply to Thiago Macieira from comment #18)
> (In reply to Jakub Jelinek from comment #17)
> > _Pragma("GCC target \"relax-cmpxchg-loop\"")
> > should do that (ditto target("relax-cmpxchg-loop") attribute)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103069
--- Comment #15 from Hongyu Wang ---
(In reply to Thiago Macieira from comment #14)
> I'd restrict relaxations to loops emitted by the compiler. All other atomic
> operations shouldn't be modified at all, unless the user asks for it. That
> incl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103069
--- Comment #13 from Hongyu Wang ---
All above glibc cases are now both relaxed by an load/cmp to skip cmpxchg under
-mrelax-cmpxchg-loop,
but for
> do
> {
> flags = THREAD_GETMEM (self, cancelhandling);
> newval = THREA
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103069
--- Comment #11 from Hongyu Wang ---
For the case with atomic_compare_exchange_weak_release, it can be expanded as
loop: mov%eax,%r8d
and$0xfff8,%r8d
mov(%r8),%rsi <--- load lock first
cmp%rsi,%rax <--- c
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
cat vect.c
typedef unsigned char uint8_t;
static uint8_t x264_clip_uint8( int x
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103571
Hongyu Wang changed:
What|Removed |Added
CC||wwwhhhyyy333 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103066
--- Comment #1 from Hongyu Wang ---
__sync_val_compare_and_swap will be expanded to atomic_compare_exchange_strong
by default, should we restrict the check and return under
atomic_compare_exchange_weak which is allowed to fail spuriously?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102812
--- Comment #3 from Hongyu Wang ---
(In reply to Uroš Bizjak from comment #2)
> Please note that the code above should compile via ix86_expand_vector_set,
> similar to:
>
> --cut here--
> typedef short v8hi __attribute__((__vector_size__(16)));
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102835
--- Comment #1 from Hongyu Wang ---
(In reply to Rainer Orth from comment #0)
>
> I wonder what's the best way to handle the difference? Just add
> -fomit-frame-pointer
> to the testcase or allow for the %ebp vs. %esp difference?
For this te
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
For
typedef short v8hi __attribute__((vector_size (16)));
typedef short v4hi __attribute__((vector_size (8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101993
--- Comment #2 from Hongyu Wang ---
(In reply to Richard Biener from comment #1)
> We can vectorize this with masked moves when using AVX2. clang seems to
> simply remove the test completely - C seems to guarantee that a + i is a
> valid pointe
: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
For
float foo(int * restrict a, int * restrict res, int n)
{
int i;
for (i = 0; i < 8; i++)
{
if
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101395
--- Comment #10 from Hongyu Wang ---
(In reply to H.J. Lu from comment #9)
> Created attachment 51143 [details]
> A patch
>
> Try this instead.
This also works.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101395
--- Comment #4 from Hongyu Wang ---
(In reply to H.J. Lu from comment #3)
> Created attachment 51125 [details]
> An updated patch
This works, thanks.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101395
--- Comment #2 from Hongyu Wang ---
(In reply to H.J. Lu from comment #1)
> Created attachment 51124 [details]
> A patch
>
> Please test this patch.
It doesn't work.
I use ./sde-external-8.63.0-2021-01-18-lin/sde -spr -- gcc test.c -march=nat
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
cat test.c
int main()
{
return 0;
}
On sapphire rapids machine,
gcc test.c -march=native -m32
will get
cc1: error: ‘-muintr’ not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98176
--- Comment #9 from Hongyu Wang ---
(In reply to Richard Biener from comment #8)
> I'm failing to reproduce with the sincos example since sincos is transformed
> to __builtin_cexpi for me. When using
I always generate sincosf with g++ -Ofast -
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101276
Hongyu Wang changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
Some keylocker instruction will set ZF when runtime occurs, and the output data
should be invalid.
Current
-optimization
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
For testcase
void foo(
int* restrict x
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98176
--- Comment #7 from Hongyu Wang ---
(In reply to Richard Biener from comment #5)
> Yes.
>
> For a LIM testcase an example with a memcpy might be more practically
> relevant.
>
> For refactoring I'd start with classifying the unanalyzable refs a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98176
--- Comment #6 from Hongyu Wang ---
(In reply to Richard Biener from comment #5)
> (In reply to Hongyu Wang from comment #4)
> > (In reply to Richard Biener from comment #3)
> >
> > > I see ret[0] has store-motion applied. You don't see it vec
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98176
--- Comment #4 from Hongyu Wang ---
(In reply to Richard Biener from comment #3)
> I see ret[0] has store-motion applied. You don't see it vectorized
> because GCC doesn't know how to vectorize sincos (or cexpi which is
> what it lowers it to).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98176
--- Comment #2 from Hongyu Wang ---
>> I doubt the call is the issue btw.
The aliasing could be removed by
float foo(int *x, int n, float tx)
{
float ret[n];
#pragma omp simd
for (int i = 0; i < n; i++)
{
: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
For testcase
#include
void foo(float *x, float tx, float *ret, int n)
{
#pragma omp simd
for (int i = 0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97231
--- Comment #1 from Hongyu Wang ---
Created attachment 49280
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49280&action=edit
A patch
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
Many x86 intrinsic header files doesn't have FSF copyright:
amxbf16intrin.h
amxint8intrin.h
amxtileintrin.h
avx512vp2intersectint
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
A testcase extracted from 510.parest_r
#include
double square(double d[3], double rad
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92980
--- Comment #11 from Hongyu Wang ---
(In reply to rguent...@suse.de from comment #10)
>
> It has two exits which makes it difficult
> Or impossible to make it truly do-while.
> But it's close enough and further rotating the loop doesn't make it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92980
--- Comment #9 from Hongyu Wang ---
(In reply to Hongtao.liu from comment #6)
> New fail by removal
> unix/-m32: gcc.dg/tree-ssa/copy-headers-5.c scan-tree-dump ch2 "is now
> do-while loop"
> unix/-m32: gcc.dg/tree-ssa/copy-headers-5.c scan-tree
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92651
Hongyu Wang changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
Target Milestone: ---
configure GCC with: --enable-languages=c,c++,fortran --enable-bootstrap
CXXFLAGS="-O0"
At stage3, it throws error:
/usr/bin/ld:
/home/hongyuw1/gcc/build_
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92651
--- Comment #7 from Hongyu Wang ---
(In reply to rguent...@suse.de from comment #6)
> On Tue, 26 Nov 2019, wwwhhhyyy333 at gmail dot com wrote:
>
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92651
> >
> > --- Com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92651
--- Comment #5 from Hongyu Wang ---
(In reply to Jakub Jelinek from comment #3)
> Do you mean r274481 rather than r277481, right?
Yes. Thanks for your correction.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92651
--- Comment #4 from Hongyu Wang ---
(In reply to Richard Biener from comment #2)
> Btw, which variant is actually the fastest for you? abs expansion doesn't
> do any cost comparison but just uses direct abs, max and then the xor with
> shift as
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wwwhhhyyy333 at gmail dot com
CC: rguenther at suse dot de
Target Milestone: ---
For test case
#include
int foo(unsigned char a, unsigned char b)
{
int isum=abs(a
75 matches
Mail list logo