diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-07-12 15:00:58 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2017-07-12 15:00:58 +0000 |
commit | 561f6312f2fb078dcbe8fa8197a515b7abf339fe (patch) | |
tree | fa07524700f01f4173f2597baf78d9fcd584d8ec /libgcc | |
parent | e5309d958112d799eae39f67b8660a11698e1328 (diff) | |
download | gcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.zip gcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.tar.gz gcc-561f6312f2fb078dcbe8fa8197a515b7abf339fe.tar.bz2 |
S/390: Remove loc splitter
The backend splitter splitting a 3 operand load on condition into 2 is
wrong. The S/390 load on condition instruction might trap on the
memory operand even if the condition is false. So if the first load
on condition overwrites a register used as part of the memory address
of the second the second might trigger a segfault even if it does not
actually perform the load.
Trying to fix this I noticed that the generated code looks anyway
better without the splitter. So removing the splitter entirely is the
way to go here.
gcc/ChangeLog:
2017-07-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md: Remove movcc splitter.
From-SVN: r250153
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions