[PATCH] Fix v*i1 store size

Hal Finkel hfinkel at anl.gov
Tue Jan 29 22:05:29 PST 2013


----- Original Message -----
> From: "Nadav Rotem" <nrotem at apple.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "CVS Commit Messages for LLVM repository" <llvm-commits at cs.uiuc.edu>
> Sent: Tuesday, January 29, 2013 11:42:44 PM
> Subject: Re: [PATCH]  Fix v*i1 store size
> 
> 
> 
> 
> On Jan 29, 2013, at 3:18 PM, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> 
> if we want to change the way this is done (so that these are stored
> in packed form), then we'd need to change the behavior of
> currently-existing infrastructure logic. Unless you'd like to do
> that now, I think that we might as well make the existing setup self
> consistent.
> 
> The existent setup is not self consistent because we can't store bit
> vectors to memory. We simply crash with an assert somewhere in the
> legalizer. If we want to make it work then we need to agree on the
> right approach before we start implementing it. The right approach
> is to pack the bits into a single byte. This is the only way to
> enable support of architectures with mask registers.

It is not as bad as you imply (I'm using the current functionality in out-of-tree target code), but it is buggy. I agree with your overall point of view.

Do you know what code is responsible for emitting global constants? That seems like the first thing to fix.

Thanks again,
Hal



More information about the llvm-commits mailing list