------- Comment #9 from jakub at gcc dot gnu dot org 2009-03-12 20:46 ------- Subject: Bug 39431
Author: jakub Date: Thu Mar 12 20:45:39 2009 New Revision: 144825 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144825 Log: PR target/39431 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New predicate. * config/i386/sync.md (sync_compare_and_swap<mode>, sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check if operands[1] is cmpxchg8b_pic_memory_operand, if not force address into a register. (sync_double_compare_and_swapdi_pic, sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be cmpxchg8b_pic_memory_operand instead of just memory_operand. * gcc.target/i386/pr39431.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr39431.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/predicates.md trunk/gcc/config/i386/sync.md trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39431