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@xxxxxxxx> 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