* builtins.c (expand_builtin_atomic_compare_exchange): Pass old
commitc401b1310cf7d4f437a7041eecbefe96aac66445
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Aug 2012 18:03:37 +0000 (8 18:03 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Aug 2012 18:03:37 +0000 (8 18:03 +0000)
tree45326924f3c22152fe766736893f863430b07a20
parent2cd70aa2ae4b99f2414f916907e6d34fcba18465
* builtins.c (expand_builtin_atomic_compare_exchange): Pass old
value operand as MEM to expand_atomic_compare_and_swap.

* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
nonimmediate_operand for old value; generate load and store if
needed.
* config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
as vtarget.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190236 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/config/s390/s390.c
gcc/config/s390/s390.md