[Bug target/99718] [11 regression] ICE in new test case gcc.target/powerpc/pr98914.c for 32 bits

2021-03-25 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99718 --- Comment #12 from luoxhu at gcc dot gnu.org --- Not sure whether TARGET_DIRECT_MOVE_64BIT is the right MACRO to correctly differentiate m32 and m64?

[Bug target/99718] [11 regression] ICE in new test case gcc.target/powerpc/pr98914.c for 32 bits

2021-03-25 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99718 --- Comment #11 from luoxhu at gcc dot gnu.org --- Created attachment 50474 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50474=edit 32bit variable vec_insert LLVM also generates store-hit-load instruction: addi 3, 1, -16

[Bug target/97329] POWER9 default cache and line sizes appear to be wrong

2021-03-24 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97329 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/99718] [11 regression] ICE in new test case gcc.target/powerpc/pr98914.c for 32 bits

2021-03-23 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99718 --- Comment #4 from luoxhu at gcc dot gnu.org --- Thanks, Jakub. It tested pass on both m32/m64, is this a reasonable fix? @segher, will make it a patch if so. git diff diff --git a/gcc/config/rs6000/predicates.md

[Bug target/97329] POWER9 default cache and line sizes appear to be wrong

2021-03-23 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97329 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org

[Bug target/99718] [11 regression] ICE in new test case gcc.target/powerpc/pr98914.c for 32 bits

2021-03-22 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99718 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||dje.gcc at gmail dot com,

[Bug target/98914] [11 Regression] ICE in rs6000_expand_vector_set, at config/rs6000/rs6000.c:7198

2021-03-21 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98914 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED

[Bug target/98914] [11 Regression] ICE in rs6000_expand_vector_set, at config/rs6000/rs6000.c:7198

2021-02-03 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98914 --- Comment #4 from luoxhu at gcc dot gnu.org --- *** Bug 98958 has been marked as a duplicate of this bug. ***

[Bug target/98958] ICE in rs6000_expand_vector_set_var_p8, at config/rs6000/rs6000.c:7050

2021-02-03 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98958 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/98914] [11 Regression] ICE in rs6000_expand_vector_set, at config/rs6000/rs6000.c:7198

2021-02-02 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98914 --- Comment #1 from luoxhu at gcc dot gnu.org --- The type of k in the case should be "long" to reproduce the issue, ICE happens at rs6000_expand_vector_set: gcc_assert (GET_MODE (idx) == E_SImode); Reason is the vector index variable need

[Bug target/98093] ICE in gen_vsx_set_v2df, at config/rs6000/vsx.md:3276

2021-02-01 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98093 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/79251] PowerPC vec_insert generates store-hit-load if the element number is variable

2021-01-28 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79251 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/98065] [11 Regression] ICE in rs6000_expand_vector_set, at config/rs6000/rs6000.c:7024 since r11-5457

2021-01-28 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98065 Bug 98065 depends on bug 98799, which changed state. Bug 98799 Summary: [11 Regression] vector_set_var ICE https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98799 What|Removed |Added

[Bug target/98799] [11 Regression] vector_set_var ICE

2021-01-28 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98799 luoxhu at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/98827] [11 regression] gcc.target/powerpc/vsx-builtin-7.c assembler counts off after r11-6857

2021-01-26 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98827 --- Comment #3 from luoxhu at gcc dot gnu.org --- I know it now, the r11-6858 did some changes the P8 code generation, so the latest failure also changes. https://gcc.gnu.org/pipermail/gcc-testresults/2021-January/651154.html current failures

[Bug target/98827] [11 regression] gcc.target/powerpc/vsx-builtin-7.c assembler counts off after r11-6857

2021-01-25 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98827 --- Comment #1 from luoxhu at gcc dot gnu.org --- Strange that I see only xxpermdi fail, should be 4 instead of 12. rldic passes for m64, what's your configuration please? === gcc tests === Schedule of variations:

[Bug target/98799] [10 Regression] vector_set_var ICE

2021-01-25 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98799 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org

[Bug target/98065] [11 Regression] ICE in rs6000_expand_vector_set, at config/rs6000/rs6000.c:7024 since r11-5457

2021-01-19 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98065 --- Comment #4 from luoxhu at gcc dot gnu.org --- Sorry, my patch https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555906.html could fix this, but below two of them is still pending for approval, I pinged it 5 times since last Oct. @Segher

[Bug target/79251] PowerPC vec_insert generates store-hit-load if the element number is variable

2021-01-06 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79251 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-12-13 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #22 from luoxhu at gcc dot gnu.org --- https://gcc.gnu.org/pipermail/gcc/2020-December/234474.html So this issue seems invalid since "fabs(x)*y+z” or "fabs(x)+y+z"(x,y,z are float) could result in -+Inf sometimes, while it won't

[Bug target/98093] ICE in gen_vsx_set_v2df, at config/rs6000/vsx.md:3276

2020-12-02 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98093 --- Comment #2 from luoxhu at gcc dot gnu.org --- https://gcc.gnu.org/pipermail/gcc-patches/2020-October/555907.html [PATCH 3/4] rs6000: Enable vec_insert for P8 with rs6000_expand_vector_set_var_p8

[Bug target/98093] ICE in gen_vsx_set_v2df, at config/rs6000/vsx.md:3276

2020-12-02 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98093 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org

[Bug tree-optimization/98066] [11 Regression] ICE: Segmentation fault (in gsi_next)

2020-11-30 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98066 --- Comment #8 from luoxhu at gcc dot gnu.org --- Thanks for the quick fix!

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-30 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #17 from luoxhu at gcc dot gnu.org --- (In reply to rsand...@gcc.gnu.org from comment #16) > > 2) mad2.c > > > > float foo (double x, float y, float z) > > { > >return ( y * fabs (x) + z ); > > } > > > > > >

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-26 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #14 from luoxhu at gcc dot gnu.org --- (In reply to luoxhu from comment #13) > > 2) mad2.c > > float foo (double x, float y, float z) > { >return ( y * fabs (x) + z ); > } > > > mad2.c.098t.cunrolli: > > foo (double x,

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-26 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #13 from luoxhu at gcc dot gnu.org --- Tried implementation with backprop, found that this model seems not suitable for double promotion remove with BACK propagation. i.e: 1) mad1.c float foo (float x, float y, float z) {

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-23 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #10 from luoxhu at gcc dot gnu.org --- Even we could optimize fabs to fabsf, it doesn't help here as y and z are already promoted to double, then we still need a large pattern to match the MUL expression in match.pd, so fabs to fabsf

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-23 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #9 from luoxhu at gcc dot gnu.org --- (In reply to Andrew Pinski from comment #6) > (In reply to luoxhu from comment #4) > > float foo(float f, float x, float y) { > > return (fabs(f)*x+y); > > } > > > > the input of fabs is float

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-16 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 --- Comment #5 from luoxhu at gcc dot gnu.org --- With above hack, changing argument x from float to double could still generate correct code with conversion of fabsf result: float foo(float f, double x, float y) { return (fabs(f)*x+y); }

[Bug tree-optimization/22326] promotions (from float to double) are not removed when they should be able to

2020-11-16 Thread luoxhu at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22326 luoxhu at gcc dot gnu.org changed: What|Removed |Added CC||luoxhu at gcc dot gnu.org,

<    1   2