Re: Do we need to do a loop invariant motion after loop interchange ?

2020-02-12 Thread Li Jia He
Hi, On 2019/11/25 5:55 PM, Bin.Cheng wrote: On Mon, Nov 25, 2019 at 5:29 PM Li Jia He wrote: On 2019/11/24 2:26 PM, Bin.Cheng wrote: On Fri, Nov 22, 2019 at 3:23 PM Bin.Cheng wrote: On Fri, Nov 22, 2019 at 3:19 PM Richard Biener wrote: On November 22, 2019 6:51:38 AM GMT+01:00, Li

Re: Do we need to do a loop invariant motion after loop interchange ?

2019-11-25 Thread Li Jia He
On 2019/11/24 2:26 PM, Bin.Cheng wrote: On Fri, Nov 22, 2019 at 3:23 PM Bin.Cheng wrote: On Fri, Nov 22, 2019 at 3:19 PM Richard Biener wrote: On November 22, 2019 6:51:38 AM GMT+01:00, Li Jia He wrote: On 2019/11/21 8:10 PM, Richard Biener wrote: On Thu, Nov 21, 2019 at 10:22 AM

Re: Do we need to do a loop invariant motion after loop interchange ?

2019-11-21 Thread Li Jia He
On 2019/11/21 8:10 PM, Richard Biener wrote: On Thu, Nov 21, 2019 at 10:22 AM Li Jia He wrote: Hi, I found for the follow code: #define N 256 int a[N][N][N], b[N][N][N]; int d[N][N], c[N][N]; void __attribute__((noinline)) double_reduc (int n) { for (int k = 0; k < n

Do we need to do a loop invariant motion after loop interchange ?

2019-11-21 Thread Li Jia He
Hi, I found for the follow code: #define N 256 int a[N][N][N], b[N][N][N]; int d[N][N], c[N][N]; void __attribute__((noinline)) double_reduc (int n) { for (int k = 0; k < n; k++) { for (int l = 0; l < n; l++) { c[k][l] = 0; for (int m = 0; m < n; m++) c[k][

Re: Can we vectorize the code below ?

2019-06-12 Thread Li Jia He
On 2019/6/12 4:04 PM, Richard Biener wrote: On Wed, Jun 12, 2019 at 5:22 AM Li Jia He wrote: Hi, I recently did some analysis on the automatic vectorization of gcc, I found that singed char can not be vectorized in the following code. --- #define ITERATIONS 100 #if defined

Can we vectorize the code below ?

2019-06-11 Thread Li Jia He
Hi, I recently did some analysis on the automatic vectorization of gcc, I found that singed char can not be vectorized in the following code. --- #define ITERATIONS 100 #if defined(do_reduce_signed_char) #define TYPE signed char #elif defined(do_reduce_unsigned_char) #define TYPE unsigned