[Bug tree-optimization/88767] 'unroll and jam' not optimizing some loops

2019-01-09 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88767 Li Jia He changed: What|Removed |Added CC||amker at gcc dot gnu.org --- Comment #9

[Bug middle-end/88784] New: Middle end is missing some optimizations about unsigned

2019-01-09 Thread helijia at gcc dot gnu.org
Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: helijia at gcc dot gnu.org Target Milestone: --- For both operands are unsigned, the following optimizations are valid, and missing: 1. X > Y && X != 0 --> X > Y 2. X &g

[Bug tree-optimization/88767] New: 'unroll and jam' not optimizing some loops

2019-01-09 Thread helijia at gcc dot gnu.org
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: helijia at gcc dot gnu.org Target Milestone: --- The test source is as follows: __attribute__((noinline)) void calculate(const double* __restrict__ A, const double* __restrict__ B, double* __restrict__ C

[Bug target/88100] no warning reported when value for vec_splat_{su}{8,16} would overflow

2019-02-28 Thread helijia at gcc dot gnu.org
||helijia at gcc dot gnu.org Resolution|--- |FIXED --- Comment #6 from Li Jia He --- It has been patched on the trunk and gcc 8, so modify this issue to a fixed state.

[Bug target/88100] no warning reported when value for vec_splat_{su}{8,16} would overflow

2019-02-27 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88100 --- Comment #5 from Li Jia He --- Author: helijia Date: Thu Feb 28 06:24:57 2019 New Revision: 269272 URL: https://gcc.gnu.org/viewcvs?rev=269272=gcc=rev Log: Backport from trunk 2019-02-20 Li Jia He PR target/88100

[Bug target/88100] no warning reported when value for vec_splat_{su}{8,16} would overflow

2019-02-19 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88100 --- Comment #4 from Li Jia He --- Author: helijia Date: Wed Feb 20 02:35:39 2019 New Revision: 269033 URL: https://gcc.gnu.org/viewcvs?rev=269033=gcc=rev Log: [rs6000] fix PR 88100, range check for vec_splat_{su}{8,16,32} GCC revision 259524

[Bug middle-end/88784] Middle end is missing some optimizations about unsigned

2019-06-11 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784 --- Comment #23 from Li Jia He --- Created attachment 46477 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46477=edit try to fix this issue in ifcombine(and_comparisons_1 and or_comparisons_1) I am trying to solve this issue directly in

[Bug middle-end/88784] Middle end is missing some optimizations about unsigned

2019-06-11 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784 --- Comment #25 from Li Jia He --- Indeed, this patch cannot catch all variants that appear. I found that the optimize_vec_cond_expr function in the tree-ssa-reassoc.c file will call maybe_fold_and_comparisons and maybe_fold_or_comparisons, so

[Bug middle-end/88784] Middle end is missing some optimizations about unsigned

2019-06-18 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784 --- Comment #27 from Li Jia He --- Created attachment 46495 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46495=edit [v2] try to fix this issue in ifcombine(and_comparisons_1 and or_comparisons_1) This patch is similar to the previous

[Bug other/90381] New test case gcc.dg/tree-ssa/pr88676-2.c fails with its introduction in r270934

2019-05-08 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90381 --- Comment #1 from Li Jia He --- Thanks for pointing this out. I used the following code: struct foo1 { int i:1; }; int test1 (struct foo1 *x) { if (x->i == 0) return 1; else if (x->i == 1) return 1; return 0; } to dumped the

[Bug other/90381] New test case gcc.dg/tree-ssa/pr88676-2.c fails with its introduction in r270934

2019-05-08 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90381 --- Comment #3 from Li Jia He --- Author: helijia Date: Wed May 8 07:52:26 2019 New Revision: 271002 URL: https://gcc.gnu.org/viewcvs?rev=271002=gcc=rev Log: PR other/90381 * gcc.dg/tree-ssa/pr88676-2.c: Add 'target le' option

[Bug target/80834] PowerPC gcc -mcpu=power9 seems to turn off vectorization that -mcpu=power8 enables

2019-08-18 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80834 Li Jia He changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/80834] PowerPC gcc -mcpu=power9 seems to turn off vectorization that -mcpu=power8 enables

2019-08-18 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80834 Li Jia He changed: What|Removed |Added CC||helijia at gcc dot gnu.org --- Comment #4

[Bug target/92132] new test case gcc.dg/vect/vect-cond-reduc-4.c fails with its introduction in r277067

2019-11-14 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92132 Li Jia He changed: What|Removed |Added CC||helijia at gcc dot gnu.org --- Comment #6

[Bug tree-optimization/92098] [10 Regression] After r262333, the following code cannot be vectorized on powerpc64le.

2019-11-14 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92098 Li Jia He changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug testsuite/92398] [10 regression] error in update of gcc.target/powerpc/pr72804.c in r277872

2019-12-09 Thread helijia at gcc dot gnu.org
||helijia at gcc dot gnu.org Resolution|--- |FIXED --- Comment #12 from Li Jia He --- fixed on trunk together with r278918. On behave of Xiong Hu to close the issue since his account couldn't.

[Bug tree-optimization/92098] New: After r262333, the following code cannot be vectorized on powerpc64le.

2019-10-14 Thread helijia at gcc dot gnu.org
Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: helijia at gcc dot gnu.org Target Milestone: --- Created attachment 47035 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47035=edit dump file(Includes dump fi

[Bug target/92132] new test case gcc.dg/vect/vect-cond-reduc-4.c fails with its introduction in r277067

2019-12-01 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92132 --- Comment #7 from Li Jia He --- Author: helijia Date: Mon Dec 2 06:23:56 2019 New Revision: 278892 URL: https://gcc.gnu.org/viewcvs?rev=278892=gcc=rev Log: [rs6000]Fix PR92098 by backporting vec_cmp and vcond_mask supports to gcc-9-branch

[Bug target/92098] [9 Regression] After r262333, the following code cannot be vectorized on powerpc64le.

2019-12-01 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92098 --- Comment #3 from Li Jia He --- Author: helijia Date: Mon Dec 2 06:23:56 2019 New Revision: 278892 URL: https://gcc.gnu.org/viewcvs?rev=278892=gcc=rev Log: [rs6000]Fix PR92098 by backporting vec_cmp and vcond_mask supports to gcc-9-branch

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-10 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 --- Comment #9 from Li Jia He --- (In reply to Andrew Pinski from comment #8) > (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

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-10 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 Li Jia He changed: What|Removed |Added CC||helijia at gcc dot gnu.org --- Comment #5

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-10 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 --- Comment #11 from Li Jia He --- The reason is that it is the remainder of the nth power of 2. In x >> (n% 32), 32 is the fifth power of 2. The hexadecimal representation of 32 is 0x100. Taking the remainder of 0x100, the data range is 0 ~

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-13 Thread helijia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 --- Comment #13 from Li Jia He --- In this optimization we assume n is either positive or divisible by the nth power of 2. So the result of the % is non-negative. However, it is not reasonable for translating (a % 32)) to (a & 31). If a is