diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-10-11 10:55:43 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-10-11 10:55:43 +0200 |
commit | 506a7bc8995f0ca9357eca2ff7cdeb857612e283 (patch) | |
tree | 7ee16b76a9eee4b027d70094c96fb31d27bea334 /gcc/config | |
parent | 8d22015287cfd2caf79f9374863ec4d9578227e0 (diff) | |
download | gcc-506a7bc8995f0ca9357eca2ff7cdeb857612e283.zip gcc-506a7bc8995f0ca9357eca2ff7cdeb857612e283.tar.gz gcc-506a7bc8995f0ca9357eca2ff7cdeb857612e283.tar.bz2 |
re PR target/35760 (ICE with complex types and -static on PPC darwin)
PR target/35760
* config/rs6000/rs6000.c (rs6000_legitimize_address): Only create
LO_SUM on Darwin if mode has just one unit.
* gcc.c-torture/compile/pr35760.c: New test.
From-SVN: r141055
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9f48b61..1218ea9 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3860,6 +3860,7 @@ rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, && GET_CODE (x) != CONST_INT && GET_CODE (x) != CONST_DOUBLE && CONSTANT_P (x) + && GET_MODE_NUNITS (mode) == 1 && ((TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT) || (mode != DFmode && mode != DDmode)) && mode != DImode |