aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-gcc.cc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2016-12-06 22:15:31 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2016-12-06 22:15:31 +0000
commitdd5af1d61761e9bf466cd64360e6321cde0a2c5f (patch)
tree4c41da816695dbf5956be6f8d316107c9af52dfe /gcc/go/go-gcc.cc
parent00439aef2dbc4f95ba6e4926d5f27d0bb28edcec (diff)
downloadgcc-dd5af1d61761e9bf466cd64360e6321cde0a2c5f.zip
gcc-dd5af1d61761e9bf466cd64360e6321cde0a2c5f.tar.gz
gcc-dd5af1d61761e9bf466cd64360e6321cde0a2c5f.tar.bz2
re PR target/78658 (powerpc64le: ICE with -mcpu=power9 -Og)
[gcc] 2016-12-06 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78658 * config/rs6000/rs6000.md (zero_extendqi<mode>2): Use ^ instead of ?* constraints for the ISA 3.0 patterns, so the register allocator is more likely to allocate QImode/HImode to vector registers for conversion to floating point unless a reload is needed. (zero_extendhi<mode>2): Likewise. (float<QHI:mode><FP_ISA3:mode>2_internal): Properly deal with the first alternative which is converting QImode/HImode to floating point and the QImode/HImode value is in a vector register, and does not allocate the second pseudo register. Remove zero extending into traditional floating point registers, since the instruction used only works on traditional altivec registers. (floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise. [gcc/testsuite] 2016-12-06 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78658 * gcc.target/powerpc/pr78658.c: New test. From-SVN: r243320
Diffstat (limited to 'gcc/go/go-gcc.cc')
0 files changed, 0 insertions, 0 deletions