On 11/23/2016 03:32 AM, Paolo Bonzini wrote:
On 23/11/2016 11:26, Eric Botcazou wrote:
Does it really do that with a (set (reg1:QI)), as opposed to a
(set (strict_low_part (subreg:QI (reg1:DI)))?
That's the question (note that REE runs after register allocation).
IIRC, strict_low_part is required even after register allocation, and
patterns such as this one in config/i386/i386.md seem to confirm it:
Right. The strict_low_part is required after register allocation.
Without the strict_low_part, the contents of the bits outside the mode
of the strict_low_part are undefined.
Jeff