diff options
author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-25 17:57:35 +0000 |
---|---|---|
committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-25 17:57:35 +0000 |
commit | 5da54e196d3e1680f2c2be8ff3041dbc1575e858 (patch) | |
tree | c153fa1c541c6b370522c41960b28ad3ed44de8c /gcc/config/pa/pa.md | |
parent | 37d437ed6f293fbf0010719ea74f62a55c928db1 (diff) | |
download | gcc-5da54e196d3e1680f2c2be8ff3041dbc1575e858.tar.gz |
PR target/53789
* config/pa/pa.md (movsi): Reject expansion of TLS symbol references
after reload starts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194714 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pa/pa.md')
-rw-r--r-- | gcc/config/pa/pa.md | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 9c6a361c6b5..5cef94bc00e 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; }") |