Patch for PR 9617.
authorJim Wilson <wilson@redhat.com>
Tue, 18 Feb 2003 20:12:11 +0000 (20:12 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 18 Feb 2003 20:12:11 +0000 (12:12 -0800)
* config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
instruction in output template.
(bsp_value): Change output template from string to C code, add %,
before actual instruction.
(flushrs): Mark as not predicable.

From-SVN: r63062

gcc/ChangeLog
gcc/config/ia64/ia64.md

index c69a4d4..b23bec7 100644 (file)
@@ -1,3 +1,11 @@
+2003-02-18  Jim Wilson  <wilson@redhat.com>
+
+       * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
+       instruction in output template.
+       (bsp_value): Change output template from string to C code, add %,
+       before actual instruction.
+       (flushrs): Mark as not predicable.
+
 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
 
        * inclhack.def (netbsd_bogus_semicolon): New fix.
index f759eb3..77f7f34 100644 (file)
   [(set (match_operand:DF 0 "register_operand" "=f")
         (float:DF (match_operand:DI 1 "register_operand" "f")))]
   "!INTEL_EXTENDED_IEEE_FORMAT"
-  "fcvt.xf %0 = %1\;;;\;fnorm.d %0 = %0"
+  "fcvt.xf %0 = %1\;;;\;%,fnorm.d %0 = %0"
   [(set_attr "itanium_class" "fcvtfx")])
 
 ;; ??? Suboptimal.  This should be split somehow.
   [(set (match_operand:SF 0 "register_operand" "=f")
         (float:SF (match_operand:DI 1 "register_operand" "f")))]
   "!INTEL_EXTENDED_IEEE_FORMAT"
-  "fcvt.xf %0 = %1\;;;\;fnorm.s %0 = %0"
+  "fcvt.xf %0 = %1\;;;\;%,fnorm.s %0 = %0"
   [(set_attr "itanium_class" "fcvtfx")])
 
 (define_insn "fix_truncsfdi2"
   [(set (match_operand:DI 0 "register_operand" "=r")
        (unspec:DI [(const_int 0)] UNSPEC_BSP_VALUE))]
   ""
-  ";;\;mov %0 = ar.bsp"
+  "*
+{
+  return \";;\;%,mov %0 = ar.bsp\";
+}"
   [(set_attr "itanium_class" "frar_i")])
 
 (define_insn "set_bsp"
   [(unspec [(const_int 0)] UNSPEC_FLUSHRS)]
   ""
   ";;\;flushrs\;;;"
-  [(set_attr "itanium_class" "rse_m")])
+  [(set_attr "itanium_class" "rse_m")
+   (set_attr "predicable" "no")])
 \f
 ;; ::::::::::::::::::::
 ;; ::