OSDN Git Service

* genemit.c (main): Add tm-constrs.h to included headers.
[pf3gnuchains/gcc-fork.git] / gcc / config / rs6000 / rs6000.md
index 06670d2..1cee3c8 100644 (file)
 (include "power5.md")
 
 (include "predicates.md")
+(include "constraints.md")
 
 (include "darwin.md")
 
        (plus:SDI (match_operand:SDI 1 "gpc_reg_operand" "")
                  (match_operand:SDI 2 "reg_or_add_cint_operand" "")))]
   ""
-  "
 {
   if (<MODE>mode == DImode && ! TARGET_POWERPC64)
     {
       HOST_WIDE_INT low = ((val & 0xffff) ^ 0x8000) - 0x8000;
       HOST_WIDE_INT rest = trunc_int_for_mode (val - low, <MODE>mode);
 
-      if (<MODE>mode == DImode && !CONST_OK_FOR_LETTER_P (rest, 'L'))
+      if (<MODE>mode == DImode && !satisfies_constraint_L (GEN_INT (rest)))
        FAIL;
 
       /* The ordering here is important for the prolog expander.
       emit_insn (gen_add<mode>3 (operands[0], tmp, GEN_INT (low)));
       DONE;
     }
-}")
+})
 
 ;; Discourage ai/addic because of carry but provide it in an alternative
 ;; allowing register zero as source.
   ""
   [(set (match_dup 0) (plus:GPR (match_dup 1) (match_dup 3)))
    (set (match_dup 0) (plus:GPR (match_dup 0) (match_dup 4)))]
-"
 {
   HOST_WIDE_INT val = INTVAL (operands[2]);
   HOST_WIDE_INT low = ((val & 0xffff) ^ 0x8000) - 0x8000;
   HOST_WIDE_INT rest = trunc_int_for_mode (val - low, <MODE>mode);
 
   operands[4] = GEN_INT (low);
-  if (<MODE>mode == SImode || CONST_OK_FOR_LETTER_P (rest, 'L'))
+  if (<MODE>mode == SImode || satisfies_constraint_L (GEN_INT (rest)))
     operands[3] = GEN_INT (rest);
   else if (! no_new_pseudos)
     {
     }
   else
     FAIL;
-}")
+})
 
 (define_insn "one_cmpl<mode>2"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")