------- Comment #9 from ubizjak at gmail dot com 2008-08-02 13:08 ------- Hm, IA-32 Intel® Architecture Software DeveloperÂ’s Manual says about movq: Operation MOVQ instruction when operating on MMX technology registers and memory locations: DEST ← SRC; MOVQ instruction when source and destination operands are XMM registers: DEST[63:0] ← SRC[63:0]; MOVQ instruction when source operand is XMM register and destination operand is memory location: DEST ← SRC[63:0]; MOVQ instruction when source operand is memory location and destination operand is XMM register: DEST[63:0] ← SRC; DEST[127:64] ← 0000000000000000H; Please note, that the documentation doesn't say anything about clearing destination bits [127:64] when both source and destination are in XMM register. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36992