avx register variables

Gábor Buella gbuella@gmail.com
Sat Jun 2 19:33:00 GMT 2012


Thank you,
Now I tried

register unsigned int something __asm__("xmm2") __attribute__
((__vector_size__ (32)));

It seems to work, and also found out, that if I use -mno-vzeroupper ,
I wont always lose the upper bits.

BTW, I'm no expert in assembly at all, I can't figure out why is it
XMM , why not YMM ?

Gabor

On Sat, Jun 2, 2012 at 8:49 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Sat, 2 Jun 2012, Gábor Buella wrote:
>
>> Hello,
>>
>> With gcc 4.7, on Intel 64 I have trouble using avx register global
>> variables:
>>
>> register unsigned int something __asm__("xmm2") __attribute__
>> ((__vector_size__ (16)));
>>
>> works fine, but
>>
>> register unsigned int something __asm__("ymm2") __attribute__
>> ((__vector_size__ (32)));
>>
>> results in "error: invalid register name for something"
>>
>> Is it at all possible to use the YMM registers as variables? If yes, how?
>
>
> Did you try calling it "xmm2"?
>
> --
> Marc Glisse



More information about the Gcc-help mailing list