diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2021-06-11 02:43:40 -0500 |
---|---|---|
committer | Kewen Lin <linkw@linux.ibm.com> | 2021-06-11 02:43:40 -0500 |
commit | 2f5ab546e2be8e42b00416b2e5860d04a881beab (patch) | |
tree | 79f25bdb5d52ac9094f39b98bf00d5ed464922cb /gcc/tree-data-ref.c | |
parent | e9d322ced1433da8e7c69243cfa941ea462d6290 (diff) | |
download | gcc-2f5ab546e2be8e42b00416b2e5860d04a881beab.zip gcc-2f5ab546e2be8e42b00416b2e5860d04a881beab.tar.gz gcc-2f5ab546e2be8e42b00416b2e5860d04a881beab.tar.bz2 |
rs6000: Support more short/char to float conversion
For some cases that when we load unsigned char/short values from
the appropriate unsigned char/short memories and convert them to
double/single precision floating point value, there would be
implicit conversions to int first. It makes GCC not leverage the
P9 instructions lxsibzx/lxsihzx. This patch is to add the related
define_insn_and_split to support this kind of scenario.
Bootstrapped/regtested on powerpc64le-linux-gnu P9 and
powerpc64-linux-gnu P8.
gcc/ChangeLog:
* config/rs6000/rs6000.md
(floatsi<SFDF:mode>2_lfiwax_<QHI:mode>_mem_zext): New
define_insn_and_split.
gcc/testsuite/ChangeLog:
* gcc.target/powerpc/p9-fpcvt-3.c: New test.
Diffstat (limited to 'gcc/tree-data-ref.c')
0 files changed, 0 insertions, 0 deletions