xtensa PR65730
augustine.sterling@gmail.com
augustine.sterling@gmail.com
Fri Apr 10 19:15:00 GMT 2015
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.
More information about the Gcc
mailing list