Patchwork [mmix] convert to constraints.md

login
register
mail settings
Submitter Hans-Peter Nilsson
Date Sept. 15, 2012, 2:23 a.m.
Message ID <alpine.BSF.2.00.1209142211210.91951@dair.pair.com>
Download mbox | patch
Permalink /patch/184060/
State New
Headers show

Comments

Hans-Peter Nilsson - Sept. 15, 2012, 2:23 a.m.
On Wed, 12 Sep 2012, Hans-Peter Nilsson wrote:
> On Wed, 12 Sep 2012, Nathan Froyd wrote:
> > > - Keeping old layout of "mmix_reg_or_8bit_operand".  That looked like
> > >   a spurious change and I prefer the ior construct to the
> > >   if_then_else.
> >
> > ISTR without this change, there were lots of assembly changes like:

> I'll try with your original patch and see it I can spot
> something.

Nope, I see no differences in the generated code before/after
the patch-patch below (applied to your original patch, except
edited as if using --no-prefix, to fit with my other patches).
Case closed: I don't think gen* mishandled neither construct.


brgds, H-P

Patch

--- patch.nathanorig.adjusted	2012-09-12 12:33:34.000000000 +0200
+++ patch3	2012-09-14 14:42:31.000000000 +0200
@@ -364,7 +364,7 @@  diff --git a/gcc/config/mmix/predicates.
 index b5773b8..7fa3bf1 100644
 --- gcc/config/mmix/predicates.md
 +++ gcc/config/mmix/predicates.md
-@@ -149,7 +149,13 @@
+@@ -149,7 +149,14 @@
  ;; True if this is a register or an int 0..255.

  (define_predicate "mmix_reg_or_8bit_operand"
@@ -372,9 +372,10 @@  index b5773b8..7fa3bf1 100644
 -   (match_operand 0 "register_operand")
 -   (and (match_code "const_int")
 -	(match_test "CONST_OK_FOR_LETTER_P (INTVAL (op), 'I')"))))
-+  (if_then_else (match_code "const_int")
-+    (match_test "satisfies_constraint_I (op)")
-+    (match_operand 0 "register_operand")))
++  (ior
++   (match_operand 0 "register_operand")
++   (and (match_code "const_int")
++	(match_test "satisfies_constraint_I (op)"))))
 +
 +;; True if this is a memory address, possibly strictly.
 +