diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2012-12-25 17:57:35 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2012-12-25 17:57:35 +0000 |
commit | e255044e71508a6cd8023614b0ccd178803e9619 (patch) | |
tree | c153fa1c541c6b370522c41960b28ad3ed44de8c /gcc | |
parent | 1eb4a0c95320d9e1c10bf6b278b3c283b079b1e7 (diff) | |
download | gcc-e255044e71508a6cd8023614b0ccd178803e9619.zip gcc-e255044e71508a6cd8023614b0ccd178803e9619.tar.gz gcc-e255044e71508a6cd8023614b0ccd178803e9619.tar.bz2 |
re PR target/53789 (ICE in gen_reg_rtx, at emit-rtl.c:864/865 when compiling GNU MPFR on parisc)
PR target/53789
* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
after reload starts.
From-SVN: r194714
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d625bb1..1c43d8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-12-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/53789 + * config/pa/pa.md (movsi): Reject expansion of TLS symbol references + after reload starts. + 2012-12-22 Jan Hubicka <jh@suse.cz> PR lto/54728 diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 9c6a361..5cef94b 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2094,6 +2094,12 @@ "" " { + /* A TLS symbol reference is not a valid move source operand. + pa_emit_move_sequence can only handle them prior to reload. + There is also no way to reload a TLS symbol reference, so + we must reject them after reload starts. */ + if (PA_SYMBOL_REF_TLS_P (operands[1]) && !can_create_pseudo_p ()) + FAIL; if (pa_emit_move_sequence (operands, SImode, 0)) DONE; }") |