OSDN Git Service

Latest updates from FSF 4.7 branch
[pf3gnuchains/gcc-fork.git] / gcc / config / iq2000 / iq2000.md
index 51fbe22..e51b890 100644 (file)
    (set_attr "mode"    "SI")])
 
 ;; Rotate Right
-(define_insn "rotrsi3"
+(define_insn "rotrsi3_i"
   [(set (match_operand:SI 0 "register_operand" "=r")
         (rotatert:SI (match_operand:SI 1 "register_operand" "r")
-                     (match_operand:SI 2 "uns_arith_operand" "O")))]
+                     (match_operand:SI 2 "small_uns_int_operand" "O")))]
   ""
   "ram %0,%1,%2,0x0,0x0"
   [(set_attr "type" "arith")])
 
+(define_expand "rotrsi3"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+        (rotatert:SI (match_operand:SI 1 "register_operand" "r")
+                     (match_operand:SI 2 "small_uns_int_operand" "O")))]
+  ""
+  "if (GET_CODE (operands[2]) != CONST_INT)
+     FAIL;
+  if (INTVAL (operands[2]) < 0
+      || INTVAL (operands[2]) > 31)
+    FAIL;
+")
+
 \f
 ;;
 ;;  ....................