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

login
register
mail settings
Submitter Hans-Peter Nilsson
Date July 16, 2012, 6:12 a.m.
Message ID <201207160612.q6G6C1Gf022935@ignucius.se.axis.com>
Download mbox | patch
Permalink /patch/171137/
State New
Headers show

Comments

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

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]);