sync.md (UNSPEC_MOVA): Remove.
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 1 Apr 2015 17:36:24 +0000 (19:36 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 1 Apr 2015 17:36:24 +0000 (19:36 +0200)
commit35238bb505daa6a00cfaec9acdee2d1867788d53
tree74f4612e2c9894fb6ae621deb44775d526db9c32
parentf87cb0b73403b26113c52b5efa70e93332053dfe
sync.md (UNSPEC_MOVA): Remove.

* config/i386/sync.md (UNSPEC_MOVA): Remove.
(atomic_load<mode>): Change operand 0 predicate to
nonimmediate_operand and fix up the destination when needed.
Use UNSPEC_LDA.
(atomic_loaddi_fpu): Use UNSPEC_LDA.
(atomic_store<mode>): Change operand 1 predicate to
nonimmendate_operand and move the source to register when needed.
Use UNSPEC_STA.
(atomic_store<mode>_1): Use UNSPEC_STA.
(atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
Fix moves from memory operand.  Use UNSPEC_STA.

From-SVN: r221811
gcc/ChangeLog
gcc/config/i386/sync.md