]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/39431 (ICE in spill_failure, at reload1.c:2093)
authorJakub Jelinek <jakub@redhat.com>
Thu, 12 Mar 2009 20:45:39 +0000 (21:45 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 12 Mar 2009 20:45:39 +0000 (21:45 +0100)
commit03a181983d217bfc13d295e698edc1eae0e8dacd
treebeadbfad946cf940235a072c010af8519bd6c4cf
parent122c59c73bbf3ef40c786f4faab80955a677553d
re PR target/39431 (ICE in spill_failure, at reload1.c:2093)

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.

From-SVN: r144825
gcc/ChangeLog
gcc/config/i386/predicates.md
gcc/config/i386/sync.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr39431.c [new file with mode: 0644]