aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2016-11-01 00:41:30 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2016-11-01 00:41:30 +0000
commit156b5ccae7b1542a23d4d42b0a6cf9672c7b6e7d (patch)
tree0b64ac057b25bef1487ad672b70544c9e0daf4ab /gcc/combine.c
parentfb4c92aabcbb34c33584d4c60df8d9baed3dca7a (diff)
downloadgcc-156b5ccae7b1542a23d4d42b0a6cf9672c7b6e7d.zip
gcc-156b5ccae7b1542a23d4d42b0a6cf9672c7b6e7d.tar.gz
gcc-156b5ccae7b1542a23d4d42b0a6cf9672c7b6e7d.tar.bz2
vsx.md (VSX_EXTRACT_FL): New iterator for all binary floating point types supported by the hardware...
[gcc] 2016-10-31 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vsx.md (VSX_EXTRACT_FL): New iterator for all binary floating point types supported by the hardware except for double. (vsx_xvcvsxwdp_df): Provide scalar result alternative to the vector instruction for optimizing extracting a SImode from a V4SImode vector and converting it to floating point. (vsx_xvcvuxwdp_df): Likewise. (vsx_extract_si): On ISA 3.0, allow extract target and temporary registers to be any VSX register. Move stores to the end of the constraints. (vsx_extract_si_<uns>float_df): New combiner pattern and splitter to optimize extracting a SImode from a V4SImode vector and converting it to a binary floating point type supported by the hardware. Use the vector converts instead of extracting the element, sign extending it, and then converting it to double. Other floating point types than double first convert to double, then the double is converted to that type. (vsx_extract_si_<uns>float_<mode>): Likewise. [gcc/testsuite] 2016-10-31 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-extract-4.c: New test. * gcc.target/powerpc/vsx-extract-5.c: Likewise. From-SVN: r241731
Diffstat (limited to 'gcc/combine.c')
0 files changed, 0 insertions, 0 deletions