aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2003-03-28 20:27:02 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2003-03-28 20:27:02 +0000
commit5c033b9febd9ec36a304f19e50cfd5e57a1280a6 (patch)
tree31db79993bc73bfd1aa8b7002896f8b5c1d52523
parentd29cc32f9d9c0e93e68cbfe5410d918e19f4701c (diff)
downloadgcc-5c033b9febd9ec36a304f19e50cfd5e57a1280a6.zip
gcc-5c033b9febd9ec36a304f19e50cfd5e57a1280a6.tar.gz
gcc-5c033b9febd9ec36a304f19e50cfd5e57a1280a6.tar.bz2
s390.md ("literal_pool_31"): Output pool anchor label even if pool empty when generating PIC.
* 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. From-SVN: r64981
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.md36
2 files changed, 28 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c4d4d6b..419fbb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index d357df0..5d632e7 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -7031,14 +7031,21 @@
(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")])
@@ -7048,13 +7055,14 @@
(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")])