https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60663
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Fri Jan 23 19:55:16 2015 New Revision: 220059 URL: https://gcc.gnu.org/viewcvs?rev=220059&root=gcc&view=rev Log: PR rtl-optimization/63637 PR rtl-optimization/60663 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST if elt->cost is MAX_COST for ASM_OPERANDS. (find_sets_in_insn): Fix up comment typo. (cse_insn): Don't set src_volatile for all non-volatile ASM_OPERANDS in PARALLELs, but just those with multiple outputs or with "memory" clobber. Set elt->cost to MAX_COST for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST if new_src is ASM_OPERANDS and elt->cost is MAX_COST. * gcc.dg/pr63637-1.c: New test. * gcc.dg/pr63637-2.c: New test. * gcc.dg/pr63637-3.c: New test. * gcc.dg/pr63637-4.c: New test. * gcc.dg/pr63637-5.c: New test. * gcc.dg/pr63637-6.c: New test. * gcc.target/i386/pr63637-1.c: New test. * gcc.target/i386/pr63637-2.c: New test. * gcc.target/i386/pr63637-3.c: New test. * gcc.target/i386/pr63637-4.c: New test. * gcc.target/i386/pr63637-5.c: New test. * gcc.target/i386/pr63637-6.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr63637-1.c trunk/gcc/testsuite/gcc.dg/pr63637-2.c trunk/gcc/testsuite/gcc.dg/pr63637-3.c trunk/gcc/testsuite/gcc.dg/pr63637-4.c trunk/gcc/testsuite/gcc.dg/pr63637-5.c trunk/gcc/testsuite/gcc.dg/pr63637-6.c trunk/gcc/testsuite/gcc.target/i386/pr63637-1.c trunk/gcc/testsuite/gcc.target/i386/pr63637-2.c trunk/gcc/testsuite/gcc.target/i386/pr63637-3.c trunk/gcc/testsuite/gcc.target/i386/pr63637-4.c trunk/gcc/testsuite/gcc.target/i386/pr63637-5.c trunk/gcc/testsuite/gcc.target/i386/pr63637-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/cse.c trunk/gcc/testsuite/ChangeLog