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: xtensa PR65730


On Fri, Apr 10, 2015 at 6:31 AM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> Hi Sterling,
>
> I've got the following bug report:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65730
>
> The core in question doesn't have hardware multiplication, so when
> init_alignment_context calls
>
>       ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
>                                        GEN_INT (BITS_PER_UNIT),
>                                        NULL_RTX, 1, OPTAB_DIRECT);
>
> it gets NULL, and using that NULL later results in segfault.
>
> Changing OPTAB_DIRECT to OPTAB_LIB fixes it, I wonder if that fix
> is right?

I think it is, in this case, because if this operation can't be open
coded, it should drop back to a library function.

> OTOH calling helper function to do multiplication by a constant 8 looks
> rather stupid. I guess we're not going to have non-8-bit bytes on xtensa
> anytime soon, maybe this multiplication can be replaced with shift?

I think the optimizer will convert it after this point, so it
shouldn't matter. I would need to verify that though.


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