CRIS atomics revisited 4/4: give up on alignment of atomic data

Submitted by Hans-Peter Nilsson on July 16, 2012, 6:12 a.m.

Details

Message ID 201207160612.q6G6C1Gf022935@ignucius.se.axis.com
State New
Headers show

Commit Message

Hans-Peter Nilsson July 16, 2012, 6:12 a.m.
> From: Hans-Peter Nilsson <hp@axis.com>
> Date: Mon, 16 Jul 2012 05:49:00 +0200

> gcc:

> 	* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
> 	("cris_atomic_fetch_<atomic_op_name><mode>_1")
> 	("atomic_compare_and_swap<mode>")
> 	("cris_atomic_compare_and_swap<mode>_1"): Make
> 	conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for
> 	sizes larger than byte.

A sync goof (the VC kind): the committed and sent patch, but
not the changelog, was missing the first hunk, now committed:


brgds, H-P

Patch hide | download patch | download mbox

Index: config/cris/sync.md
===================================================================
--- config/cris/sync.md	(revision 189504)
+++ config/cris/sync.md	(working copy)
@@ -101,7 +101,7 @@  (define_expand "atomic_fetch_<atomic_op_
    (match_operand:BWD 2 "<atomic_op_op_pred>")
    (match_operand 3)
    (atomic_op:BWD (match_dup 0) (match_dup 1))]
-  ""
+  "<MODE>mode == QImode || !TARGET_ATOMICS_MAY_CALL_LIBFUNCS"
 {
   enum memmodel mmodel = (enum memmodel) INTVAL (operands[3]);