> Note that you're going to need to tell gcc that you're clobbering %rax, > as described in the extended asm documentation. ok so I added : : "rax" > Use %%rax. ok but... now jpeg_color_mmx.cpp: In function ?void jpeg_yh2v2_to_rgb32_mmx(unsigned char*, long int, unsigned char*)?: jpeg_color_mmx.cpp:474: error: can't find a register in class ?AREG? while reloading ?asm? jpeg_color_mmx.cpp:474: error: ?asm? operand has impossible constraints so it seems that there is not enought register for this operation. I am right ? must I use another register or do a push rax ... pop rax to solve this problem Frederic