* config/c4x/c4x.md (HF mode patterns): Add missing modes.
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>
Sat, 16 Oct 1999 00:43:59 +0000 (00:43 +0000)
committerMichael Hayes <m.hayes@gcc.gnu.org>
Sat, 16 Oct 1999 00:43:59 +0000 (00:43 +0000)
From-SVN: r30034

gcc/ChangeLog
gcc/config/c4x/c4x.md

index 3b4c118fcd996d87ca8cebbb654547fa64300668..54715100b6e344c68f8c0fdbedd0c395343c2c8f 100644 (file)
@@ -1,3 +1,7 @@
+Sat Oct 16 13:42:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (HF mode patterns):  Add missing modes.
+
 Sat Oct 16 13:37:46 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
        * config/c4x/c4x.md (movstrqi_small): Utilise parallel move
index 7ef0d3217f242919258bc4b394ccf9ae30128ab2..238a8e65cb13a0d8f8e3b01c04c5b6e16aa415e1 100644 (file)
        (match_operand:HF 1 "memory_operand" ""))]
  "reload_completed"
  [(set (match_dup 0) (float_extend:HF (match_dup 2)))
-  (set (match_dup 0) (unspec[(subreg:QI (match_dup 0) 0) (match_dup 3)] 8))]
+  (set (match_dup 0) (unspec:HF [(subreg:QI (match_dup 0) 0)
+                                            (match_dup 3)] 8))]
  "operands[2] = c4x_operand_subword (operands[1], 0, 1, HFmode);
   operands[3] = c4x_operand_subword (operands[1], 1, 1, HFmode);
   PUT_MODE (operands[2], QFmode);
        (match_operand:HF 1 "const_operand" ""))]
  "reload_completed && 0"
  [(set (match_dup 0) (float_extend:HF (match_dup 2)))
-  (set (match_dup 0) (unspec[(subreg:QI (match_dup 0) 0) (match_dup 3)] 8))]
+  (set (match_dup 0) (unspec:HF [(subreg:QI (match_dup 0) 0)
+                                            (match_dup 3)] 8))]
  "operands[2] = c4x_operand_subword (operands[1], 0, 1, HFmode);
   operands[3] = c4x_operand_subword (operands[1], 1, 1, HFmode);
   PUT_MODE (operands[2], QFmode);
 (define_insn "*loadhf_int"
  [(set (match_operand:HF 0 "reg_operand" "=h")
        (unspec:HF [(subreg:QI (match_dup 0) 0)
-               (match_operand:QI 1 "src_operand" "rIm")] 8))]
+                   (match_operand:QI 1 "src_operand" "rIm")] 8))]
  ""
  "@
   ldiu\\t%1,%0"
                    (float_extend:HF (mem:QF (post_dec:QI (reg:QI 20)))))
               (clobber (reg:CC 21))])
    (parallel [(set (match_dup 0)
-                   (unspec[(subreg:QI (match_dup 0) 0)
+                   (unspec:HF [(subreg:QI (match_dup 0) 0)
                    (mem:QI (post_dec:QI (reg:QI 20)))] 8))
               (clobber (reg:CC 21))])]
  "")
 (define_insn "*pophf_int"
  [(set (match_operand:HF 0 "reg_operand" "=h")
        (unspec:HF [(subreg:QI (match_dup 0) 0)
-               (mem:QI (post_dec:QI (reg:QI 20)))] 8))
+                   (mem:QI (post_dec:QI (reg:QI 20)))] 8))
   (clobber (reg:CC 21))]
  ""
  "@
 (define_insn "cmphi_cc"
   [(set (reg:CC 21)
         (unspec:CC [(compare:CC (match_operand:HI 0 "src_operand" "rR,rS<>")
-                             (match_operand:HI 1 "src_operand" "R,rS<>"))] 4))
+                                (match_operand:HI 1 "src_operand" "R,rS<>"))] 4))
    (clobber (match_scratch:QI 2 "=&d,&d"))
    (clobber (match_scratch:QI 3 "=&c,&c"))]
   "valid_operands (COMPARE, operands, HImode)"
 
 (define_insn "cmphi_cc_noov"
   [(set (reg:CC_NOOV 21)
-        (unspec:CC_NOOV [
-          (compare:CC_NOOV (match_operand:HI 0 "src_operand" "rR,rS<>")
-                           (match_operand:HI 1 "src_operand" "R,rS<>"))] 4))
+        (unspec:CC_NOOV [(compare:CC_NOOV (match_operand:HI 0 "src_operand" "rR,rS<>")
+                                     (match_operand:HI 1 "src_operand" "R,rS<>"))] 4))
    (clobber (match_scratch:QI 2 "=&d,&d"))
    (clobber (match_scratch:QI 3 "=&c,&c"))]
   "valid_operands (COMPARE, operands, HImode)"
 ;
 ; Which moves the bCC condition outside the inner loop for free.
 ;
+
 (define_peephole
   [(set (pc) (if_then_else (match_operator 3 "comparison_operator"
                            [(reg:CC 21) (const_int 0)])
             (pc)))
      (set (match_dup 0)
           (plus:QI (match_dup 0)
-                   (const_int -1)))
-     (clobber (reg:CC_NOOV 21))])]
+                   (const_int -1)))])]
   "! c4x_label_conflict (insn, operands[2], operands[1])"
   "db%I3\\t%0,%l1\\n\\tb%3\\t%l2"
   [(set_attr "type" "multi")])
             (pc)))
      (set (match_dup 0)
           (plus:QI (match_dup 0)
-                   (const_int -1)))
-     (clobber (reg:CC_NOOV 21))])]
+                   (const_int -1)))])]
   "! c4x_label_conflict (insn, operands[2], operands[1])"
   "db%I3\\t%0,%l1\\n\\tb%3\\t%l2"
   [(set_attr "type" "multi")])
  ""
  "ldf\\t*%1++,%0\\n\\tldf\\t*%1++,%2")
 
+
 ; This peephole should be unnecessary with my patches to flow.c
 ; for better autoincrement detection
 (define_peephole