OSDN Git Service

* config/s390/s390.md ("literal_pool_31"): Output pool anchor
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Mar 2003 20:27:02 +0000 (20:27 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Mar 2003 20:27:02 +0000 (20:27 +0000)
label even if pool empty when generating PIC.
("literal_pool_31", "literal_pool_64"): Coding style cleanup.

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

gcc/ChangeLog
gcc/config/s390/s390.md

index c4d4d6b..419fbb8 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("literal_pool_31"): Output pool anchor 
+       label even if pool empty when generating PIC.
+       ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
+
 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
            Dhananjay Deshpande  <dhananjayd@kpit.com>
 
index d357df0..5d632e7 100644 (file)
         (label_ref (match_operand 1 "" "")))   
    (use (label_ref (match_operand 2 "" "")))]
   ""
-  "*
 {
-   if (s390_nr_constants) {
-     output_asm_insn (\"bras\\t%0,%2\", operands);
-     s390_output_constant_pool (operands[1], operands[2]);
-   }
-   return \"\";        
-}"
+   if (s390_nr_constants) 
+     {
+       output_asm_insn ("bras\\t%0,%2", operands);
+       s390_output_constant_pool (operands[1], operands[2]);
+     } 
+   else if (flag_pic)
+     {
+        /* We need the anchor label in any case.  */
+        (*targetm.asm_out.internal_label) (asm_out_file, "L",
+                                           CODE_LABEL_NUMBER (operands[1]));
+     }
+
+   return "";  
+}
   [(set_attr "op_type" "NN")
    (set_attr "type"    "larl")])
 
         (label_ref (match_operand 1 "" "")))   
    (use (label_ref (match_operand 2 "" "")))]
   ""
-  "*
 {
-   if (s390_nr_constants) {
-     output_asm_insn (\"larl\\t%0,%1\", operands);
-     s390_output_constant_pool (operands[1], operands[2]);
-   }
-   return \"\";        
-}"
+   if (s390_nr_constants) 
+     {
+       output_asm_insn ("larl\\t%0,%1", operands);
+       s390_output_constant_pool (operands[1], operands[2]);
+     }
+
+   return "";  
+}
   [(set_attr "op_type" "NN")
    (set_attr "type"    "larl")])