Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-12-04 Thread Richard Sandiford
Jeff Law writes: > On 11/20/18 7:57 AM, Renlin Li wrote: >> Hi Richard, >> >> On 11/14/2018 02:59 PM, Richard Biener wrote: >>> On Fri, Nov 9, 2018 at 4:49 PM Renlin Li  wrote: Hi Richard, On 11/09/2018 11:48 AM, Richard Biener wrote: > On Thu, Nov 8, 2018 at 5:55 PM 

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-12-03 Thread Jeff Law
On 11/20/18 7:57 AM, Renlin Li wrote: > Hi Richard, > > On 11/14/2018 02:59 PM, Richard Biener wrote: >> On Fri, Nov 9, 2018 at 4:49 PM Renlin Li  wrote: >>> >>> Hi Richard, >>> >>> On 11/09/2018 11:48 AM, Richard Biener wrote: On Thu, Nov 8, 2018 at 5:55 PM Renlin Li  wrote: >

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-20 Thread Renlin Li
Hi Richard, On 11/14/2018 02:59 PM, Richard Biener wrote: On Fri, Nov 9, 2018 at 4:49 PM Renlin Li wrote: Hi Richard, On 11/09/2018 11:48 AM, Richard Biener wrote: On Thu, Nov 8, 2018 at 5:55 PM Renlin Li wrote: Hi Richard, I don't see the masked load here on x86_64 btw. (I don't see

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-14 Thread Richard Biener
On Fri, Nov 9, 2018 at 4:49 PM Renlin Li wrote: > > Hi Richard, > > On 11/09/2018 11:48 AM, Richard Biener wrote: > > On Thu, Nov 8, 2018 at 5:55 PM Renlin Li wrote: > >> > >> Hi Richard, > >> > >> > >> *However*, after I rebased my patch on the latest trunk. > >> Got the following dump from

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-09 Thread Renlin Li
Hi Richard, On 11/09/2018 11:48 AM, Richard Biener wrote: On Thu, Nov 8, 2018 at 5:55 PM Renlin Li wrote: Hi Richard, *However*, after I rebased my patch on the latest trunk. Got the following dump from ifcvt: [local count: 1006632961]: # i_20 = PHI # ivtmp_18 = PHI a_10

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-09 Thread Richard Biener
On Thu, Nov 8, 2018 at 5:55 PM Renlin Li wrote: > > Hi Richard, > > On 11/08/2018 12:09 PM, Richard Biener wrote: > > On Thu, Nov 8, 2018 at 12:02 PM Renlin Li wrote: > >> > >> Hi all, > >> > >> When allow-store-data-races is enabled, ifcvt would prefer to generated > >> conditional select and

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-08 Thread Renlin Li
Hi Richard, On 11/08/2018 12:09 PM, Richard Biener wrote: On Thu, Nov 8, 2018 at 12:02 PM Renlin Li wrote: Hi all, When allow-store-data-races is enabled, ifcvt would prefer to generated conditional select and unconditional store to convert certain if statement into: _ifc_1 = val _ifc_2 =

Re: [RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-08 Thread Richard Biener
On Thu, Nov 8, 2018 at 12:02 PM Renlin Li wrote: > > Hi all, > > When allow-store-data-races is enabled, ifcvt would prefer to generated > conditional select and unconditional store to convert certain if statement > into: > > _ifc_1 = val > _ifc_2 = A[i] > val = cond? _ifc_1 : _ifc_2 > A[i] = val

[RFC][PATCH]Merge VEC_COND_EXPR into MASK_STORE after loop vectorization

2018-11-08 Thread Renlin Li
Hi all, When allow-store-data-races is enabled, ifcvt would prefer to generated conditional select and unconditional store to convert certain if statement into: _ifc_1 = val _ifc_2 = A[i] val = cond? _ifc_1 : _ifc_2 A[i] = val When the loop got vectorized, this pattern will be turned into