re PR target/7211 (Alpha prefetch hints interpreted wrong)
authorFalk Hueffner <falk.hueffner@student.uni-tuebingen.de>
Mon, 14 Oct 2002 19:57:18 +0000 (19:57 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 14 Oct 2002 19:57:18 +0000 (12:57 -0700)
        * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
        Swap zero extension arguments.
        (umaxhi3): Fix instruction class.
        PR target/7211
        (prefetch): Fix prefetch instructions.
        PR target/7238
        (pkwb): Fix output constraint.

From-SVN: r58133

gcc/ChangeLog
gcc/config/alpha/alpha.md

index 4267e4e69620846c47ea2c89581a7963b96d8dbd..2064e1d9e65b24924c8040cffb98eb6c6ee3afc4 100644 (file)
@@ -1,3 +1,13 @@
+2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+
+       * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
+       Swap zero extension arguments.
+       (umaxhi3): Fix instruction class.
+       PR target/7211
+       (prefetch): Fix prefetch instructions.
+       PR target/7238
+       (pkwb): Fix output constraint.
+
 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
 
        * config/mips/mips.c (print_operand): Increase buffer size for
index ed1ebf5335977ba23a5fa95bb17b0161ba381f22..c878366b8460c901e8d6c2b10ba7390c8b9b1020 100644 (file)
@@ -171,7 +171,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
          (match_operand:SI 1 "nonimmediate_operand" "r,m,*f,m")))]
   "! TARGET_FIX"
   "@
-   addl %1,$31,%0
+   addl $31,%1,%0
    ldl %0,%1
    cvtlq %1,%0
    lds %0,%1\;cvtlq %0,%0"
@@ -184,7 +184,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
          (match_operand:SI 1 "nonimmediate_operand" "r,m,*f,*f,m")))]
   "TARGET_FIX"
   "@
-   addl %1,$31,%0
+   addl $31,%1,%0
    ldl %0,%1
    ftois %1,%0
    cvtlq %1,%0
@@ -3222,7 +3222,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
                 (match_operand:HI 2 "reg_or_8bit_operand" "rI")))]
   "TARGET_MAX"
   "maxuw4 %r1,%2,%0"
-  [(set_attr "type" "shift")])
+  [(set_attr "type" "mvi")])
 
 (define_expand "smaxdi3"
   [(set (match_dup 3)
@@ -6934,12 +6934,12 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
      and leave the LRU eviction counter pointing to that block.  */
   static const char * const alt[2][2] = {
     { 
-      "lds $f31,%a0",          /* read, evict next */
+      "ldq $31,%a0",           /* read, evict next */
       "ldl $31,%a0",           /* read, evict last */
     },
     {
       "ldt $f31,%a0",          /* write, evict next */
-      "ldq $31,%a0",           /* write, evict last */
+      "lds $f31,%a0",          /* write, evict last */
     }
   };
 
@@ -7596,9 +7596,9 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
 })
 
 (define_insn "*pkwb"
-  [(set (match_operand:V8QI 0 "register_operand" "")
+  [(set (match_operand:V8QI 0 "register_operand" "=r")
        (vec_concat:V8QI
-         (truncate:V4QI (match_operand:V4HI 1 "register_operand" ""))
+         (truncate:V4QI (match_operand:V4HI 1 "register_operand" "r"))
          (match_operand:V4QI 2 "const0_operand" "")))]
   "TARGET_MAX"
   "pkwb %r1,%0"