Re: [rfc] PR tree-optimization/52633 - ICE due to vectorizer pattern detection collision

2012-04-25 Thread Ulrich Weigand
Richard Guenther wrote: > On Tue, 24 Apr 2012, Ulrich Weigand wrote: > > Does this look reasonable? Any comments or suggestions appreciated! > > Yes, getting rid of this fragile interaction by doing more work in > vect_recog_widen_shift_pattern sounds like the correct thing to do. OK, I'll try t

Re: [rfc] PR tree-optimization/52633 - ICE due to vectorizer pattern detection collision

2012-04-25 Thread Ulrich Weigand
Jakub Jelinek wrote: > On Wed, Apr 25, 2012 at 10:29:36AM +0200, Richard Guenther wrote: > > > Does this look reasonable? Any comments or suggestions appreciated! > > > > Yes, getting rid of this fragile interaction by doing more work in > > vect_recog_widen_shift_pattern sounds like the correct

Re: [rfc] PR tree-optimization/52633 - ICE due to vectorizer pattern detection collision

2012-04-25 Thread Jakub Jelinek
On Wed, Apr 25, 2012 at 10:29:36AM +0200, Richard Guenther wrote: > > Does this look reasonable? Any comments or suggestions appreciated! > > Yes, getting rid of this fragile interaction by doing more work in > vect_recog_widen_shift_pattern sounds like the correct thing to do. Or give up when s

Re: [rfc] PR tree-optimization/52633 - ICE due to vectorizer pattern detection collision

2012-04-25 Thread Richard Guenther
On Tue, 24 Apr 2012, Ulrich Weigand wrote: > Hello, > > PR 52633 is caused by bad interaction between two different vectorizer > pattern recognition passed. A minimal test case is: > > void > test (unsigned short *x, signed char *y) > { > int i; > for (i = 0; i < 32; i++) > x[i] = (shor

[rfc] PR tree-optimization/52633 - ICE due to vectorizer pattern detection collision

2012-04-24 Thread Ulrich Weigand
Hello, PR 52633 is caused by bad interaction between two different vectorizer pattern recognition passed. A minimal test case is: void test (unsigned short *x, signed char *y) { int i; for (i = 0; i < 32; i++) x[i] = (short) (y[i] << 5); } built with "cc1 -O3 -march=armv7-a -mfpu=neon -