Following code results in output 0 0 0 0 with -O1 and higher. -O0 is OK and gives output ff ff ff ff. gcc-3.4.6 produces correct output even with -O3.
-- Summary: SSE2 generation bug with shifts Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: prakash at punnoor dot de GCC build triplet: x86_64 GCC host triplet: x86_64 GCC target triplet: x86_64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31361