[PATCH,mmix] convert to constraints.md
Hans-Peter Nilsson
hp@bitrange.com
Sat Sep 15 02:23:00 GMT 2012
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.
--- 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.
+
brgds, H-P
More information about the Gcc-patches
mailing list