http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53024

             Bug #: 53024
           Summary: Power of 2 requirement on vector_size not documented
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: marc.gli...@normalesup.org


Hello,

typedef float VEC __attribute__ ((__vector_size__ (12)));

fails to compile with the message:
error: number of components of the vector not a power of two

This is quite clear, and I guess it makes sense. However,
http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html says:

"Specifying a combination that is not valid for the current architecture will
cause GCC to synthesize the instructions using a narrower mode."

so I was expecting gcc to handle it somehow. Could we add a sentence, anywhere
in that page, that makes the requirement that the size is a power of 2
explicit? Or if the requirement can be lifted... (I don't care so much about 3
float, I can just store 4 and ignore the last, but I do care about 12 double
and don't want to store 16 until we get 512bit vectors)

Reply via email to