This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r231621 - in /trunk/gcc: ChangeLog config/rs600...
- From: segher at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 14 Dec 2015 16:13:34 -0000
- Subject: r231621 - in /trunk/gcc: ChangeLog config/rs600...
Author: segher
Date: Mon Dec 14 16:13:33 2015
New Revision: 231621
URL: https://gcc.gnu.org/viewcvs?rev=231621&root=gcc&view=rev
Log:
rs6000: Fix a mistake in cstore_si_as_di (PR68865, PR68879)
convert_move does not know how to zero-extend a constant integer to the
target mode -- simply because it does not know the source mode. As a
result, 32-bit SImode with the high bit set would be effectively sign-
extended instead of zero-extended.
This patch fixes it.
PR target/68865
PR target/68879
* config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
into registers.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md