This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Issue in combine pass.


> 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 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 does the subreg come from?) and determine whether it makes 
sense; it it doesn't, then it should be disabled for vector modes.

-- 
Eric Botcazou


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]