------- Comment #2 from prakash at punnoor dot de 2007-03-26 10:53 ------- Uhm, looking at the docs again, I am not so sure whether I understood the shift instructions correctly. It seems I cannot shift the (in this case) 32 bit portions individually? Rather the second operand to psrld has to be seen as a 128bit value instead of 4 32bit values? Then my code is buggy. But anyway I am still wondering why -O0 and -O1 are giving different results though.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31361