Issue in combine pass.

2010-03-25 Thread Bingfeng Mei
Hello, I experienced an ICE for no-scevccp-outer-16.c in our port. It seems not in other ports so I couldn't file a bug report. Baiscally, the problem appears after the following transformations in expand_compound_operation (combine.c). Enter expand_compound_operation x: (zero_extend:SI (su

Re: Issue in combine pass.

2010-03-25 Thread Eric Botcazou
> It seems to me that both the gen_lowpart and simplify_shift_const do the > wrong things in handling vector type. (zero_extend:SI (subreg:HI (V4HI)) is > not equal to (subreg:SI (V4HI)), is it? simplify_shift_const produces > (ashift:V4HI (V4HI..) (16), which is not right either. The combine pas

Re: Issue in combine pass.

2010-03-25 Thread Paolo Bonzini
On 03/25/2010 12:31 PM, Eric Botcazou wrote: The combine pass had been written at least a decade before vector modes were introduced so it essentially doesn't expect them, i.e. some transformations simply don't make sense for vector modes. You need to analyze the one you're seeing (e.g. where do

Re: Issue in combine pass.

2010-03-26 Thread Richard Henderson
On 03/25/2010 04:31 AM, Eric Botcazou wrote: >> It seems to me that both the gen_lowpart and simplify_shift_const do the >> wrong things in handling vector type. (zero_extend:SI (subreg:HI (V4HI)) is >> not equal to (subreg:SI (V4HI)), is it? simplify_shift_const produces >> (ashift:V4HI (V4HI..)