http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49964
--- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> 2011-08-03 19:11:48 UTC --- It's a bug in the i386 backend: (call_insn 28 27 136 2 (parallel [ (parallel [ (call (mem:QI (mem/f:SI (plus:SI (reg/f:SI 73 [ __ec$_M_cat_2->_vptr.error_category ]) (const_int 12 [0xc])) [3 MEM[(int (*__vtbl_ptr_type) () *)D.126512_12 + 12B]+0 S4 A32]) [0 *OBJ_TYPE_REF(D.126513_13;__ec$_M_cat_2->3) S1 A8]) (const_int 12 [0xc])) (set (reg/f:SI 7 sp) (plus:SI (reg/f:SI 7 sp) (const_int 4 [0x4]))) ]) (unspec [ (const_int 2 [0x2]) ] UNSPEC_CALL_NEEDS_VZEROUPPER) ]) /home/rth/work/gcc/bld/i686-linux/libstdc++-v3/include/system_error:158 480 {*call_pop_vzeroupper} Note the nested PARALLEL.