OSDN Git Service

* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Aug 1998 00:03:39 +0000 (00:03 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Aug 1998 00:03:39 +0000 (00:03 +0000)
in v9 case as the latter makes the Solaris assembler crash.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21659 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/sparc.md

index ee408a4..20e837b 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
+
+       * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
+       in v9 case as the latter makes the Solaris assembler crash.
+
 Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
        * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
index e054d25..9fc5db6 100644 (file)
@@ -6545,19 +6545,19 @@ movtf_is_ok:
   ""
   "*
 {
-  /* Some implementations (e.g. TurboSparc) are reported to have problems
+  /* TurboSparc is reported to have problems with
      with
        foo: b,a foo
      i.e. an empty loop with the annul bit set.  The workaround is to use 
         foo: b foo; nop
      instead.  */
 
-  if (flag_delayed_branch
+  if (! TARGET_V9 && flag_delayed_branch
       && (insn_addresses[INSN_UID (operands[0])]
          == insn_addresses[INSN_UID (insn)]))
-    return TARGET_V9 ? \"b,pt\\t%%xcc, %l0%#\" : \"b\\t%l0%#\";
+    return \"b\\t%l0%#\";
   else
-    return TARGET_V9 ? \"b,pt%*\\t%%xcc, %l0%(\" : \"b%*\\t%l0%(\";
+    return TARGET_V9 ? \"ba,pt%*\\t%%xcc, %l0%(\" : \"b%*\\t%l0%(\";
 }"
   [(set_attr "type" "uncond_branch")])