On Mon, Mar 27, 2017 at 09:27:35PM +0100, Dominik Vogt wrote: > The attached patch optimizes the atomic_exchange and > atomic_compare patterns on s390 and s390x (mostly limited to > SImode and DImode). Among general optimizaation, the changes fix > most of the problems reported in PR 80080: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80080 > > Bootstrapped and regression tested on a zEC12 with s390 and s390x > biarch.
New version attached. v3: * Remove sne* patterns. * Move alignment check from s390_expand_cs to s390.md. * Use s_operand instead of memory_nosymref_operand. * Remove memory_nosymref_operand. * Allow any CC-mode in cstorecc4 for TARGET_Z196. * Fix EQ with TARGET_Z196 in cstorecc4. * Duplicate CS patterns for CCZmode. Bootstrapped and regression tested on a zEC12 with s390 and s390x biarch. Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany