aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/data.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2012-08-27 23:13:07 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-08-27 23:13:07 +0200
commit28591f4a8cbfab06692dcd8ae9a69ef95ecdf378 (patch)
treeb4bfc575aa3d64996935f92d5870b3d297d870c0 /gcc/fortran/data.c
parentd7920cf0719e3cc28e61a98d640f6d1cb46d797e (diff)
downloadgcc-28591f4a8cbfab06692dcd8ae9a69ef95ecdf378.zip
gcc-28591f4a8cbfab06692dcd8ae9a69ef95ecdf378.tar.gz
gcc-28591f4a8cbfab06692dcd8ae9a69ef95ecdf378.tar.bz2
re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to generate reloads) with -fPIC -mcmodel={medium|large} and __sync_val_compare_and_swap)
PR target/46254 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return true for TARGET_64BIT or !flag_pic. * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove. (atomic_compare_and_swap_double<mode>): Change operand 2 predicate to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator. Add insn constraint. Conditionally emit xchg asm insns. (atomic_compare_and_swap<mode>): Update calls. Check only cmpxchg8b_pic_memory_operand in memory address fixup. (DCASMODE): Remove. (CASHMODE): Rename from DCASHMODE. (doublemodesuffix): Update modes. (regprefix): New mode attribute. (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove. <UNSPECV_CMPXCHG>: New constant. (atomic_compare_and_swap<mode>_1): Rename from atomic_compare_and_swap_single<mode>. Update calls and unspec_volatile constants. (atomic_compare_and_swap<mode>_doubleword): Rename from atomic_compare_and_swap_double<mode>. Update calls and unspec_volatile constants. testsuite/ChangeLog: PR target/46254 * gcc.target/i386/pr46254.c: New test. From-SVN: r190732
Diffstat (limited to 'gcc/fortran/data.c')
0 files changed, 0 insertions, 0 deletions