Hello! Attached patch fixes runtime comparison failure of 454.calculix due to wrong movement of vzeroupper in jump2 pass. It turns out, that can_move_insns_accross function does not special-case unspec_volatiles, so vzeroupper is allowed to pass various 256bit avx instructions. The patch rejects moves of unspec_volatile insns in can_move_insn_accross. 2012-01-06 Uros Bizjak PR rtl-optimization/55845 * df-problems.c (can_move_insns_across): Stop scanning at unspec_volatile source instruction. 2012-01-06 Uros Bizjak Vladimir Yakovlev PR rtl-optimization/55845 * gcc.target/i386/pr55845.c: New test. Bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32} AVX target. OK for mainline and 4.7 branch? Uros.