Re: Question about make_extraction() in combine.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 20, 2018 at 10:07:35AM -0800, Michael Eager wrote:
> The internal RTL should not be dictating what the target arch can or 
> cannot implement.  Reload should insert any needed conversions, 
> especially ones which narrow the size.

Well, that depends.  A zero_extract of mem is only defined for byte_mode,
just like SET is only defined for VOIDmode (on the SET itself, not its
args).  Because this is guaranteed, nothing in GCC ever needs to check
this.  That is the theory of course; in reality quite a few targets have
used other modes for the mem in a zero_extract, and this seems to have
mostly worked.

As another example, closer by, an extract length of 0 is not allowed
either, for zero_extract.  And this *did* cause problems recently.

Why was it documented as requiring byte mode?  Was this changed, just
the documentation was not updated?


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux