From 914227a2519bdee8f528e927edabef71a9002021 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 13 Mar 2004 12:26:34 +0100 Subject: [PATCH] re PR target/14533 (s390x internal compiler error: in legitimize_pic_address, at config/s390/s390.c:2276) PR target/14533 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC other than UNSPEC_GOTOFF. * gcc.dg/20040311-2.c: New test. From-SVN: r79444 --- gcc/ChangeLog | 6 ++++++ gcc/config/s390/s390.c | 5 ++--- gcc/testsuite/ChangeLog | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7618e51109d1..0874e2f1c5ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-03-13 Jakub Jelinek + + PR target/14533 + * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC + other than 100. + 2004-03-13 Alan Modra PR debug/11983 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index dcb279d38e4c..28f4f9630aa4 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -2268,12 +2268,11 @@ legitimize_pic_address (orig, reg) that was pulled out of the literal pool. Force it back in. */ else if (GET_CODE (op0) == UNSPEC - && GET_CODE (op1) == CONST_INT) + && GET_CODE (op1) == CONST_INT + && XINT (op0, 1) == 100) { if (XVECLEN (op0, 0) != 1) abort (); - if (XINT (op0, 1) != 100) - abort (); new = force_const_mem (Pmode, orig); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5d00860eec29..1b5a2966023e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-03-13 Jakub Jelinek + + PR target/14533 + * gcc.dg/20040311-2.c: New test. + 2004-03-10 Roger Sayle PR middle-end/14289 -- 2.47.2