diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2003-03-28 20:27:02 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2003-03-28 20:27:02 +0000 |
commit | 5c033b9febd9ec36a304f19e50cfd5e57a1280a6 (patch) | |
tree | 31db79993bc73bfd1aa8b7002896f8b5c1d52523 /gcc | |
parent | d29cc32f9d9c0e93e68cbfe5410d918e19f4701c (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/s390/s390.md | 36 |
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")]) |