diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 2016-06-28 00:01:13 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2016-06-28 00:01:13 +0000 |
commit | ac11b8c076c6dbce57adae4bca7fd8223bb8936c (patch) | |
tree | b3c57ec34df767be5e78bdc7217001bad31bdeeb /gcc/predict.c | |
parent | dc448fa03b361f130e7b4554d5e0e5d52e06c891 (diff) | |
download | gcc-ac11b8c076c6dbce57adae4bca7fd8223bb8936c.zip gcc-ac11b8c076c6dbce57adae4bca7fd8223bb8936c.tar.gz gcc-ac11b8c076c6dbce57adae4bca7fd8223bb8936c.tar.bz2 |
vsx.md (UNSPEC_P9_MEMORY): New unspec to support loading and storing byte/half-word values in the vector...
[gcc]
2016-06-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vsx.md (UNSPEC_P9_MEMORY): New unspec to support
loading and storing byte/half-word values in the vector registers.
(vsx_sign_extend_hi_<mode>): Enable the generator function.
(p9_lxsi<wd>zx): New insns to load zero-extended bytes and
half-words on ISA 3.0 to the vector registers.
(p9_stxsi<wd>zx): New insns to store zero-extended bytes and
half-words on ISA 3.0 from the vector registers.
* config/rs6000/rs6000.md (FP_ISA3): New iterator to optimize
converting char/half-word items to floating point on ISA 3.0.
(float<QHI:mode><FP_ISA3:mode>2): On ISA 3.0 generate the lxsihzx
and lxsibzx instructions if we are converting an 8-bit or 16-bit
item from memory to floating point.
(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
(floatuns<QHI:mode><FP_ISA3:mode>2): Likewise.
(floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
(fix_trunc<SFDF:mode><QHI:mode>2): On ISA 3.0 generate the stxsihx
and stxsibx instructions to store floating point values converted
to 8 or 16-bit integers.
(fixuns_trunc<mode>si2): Likewise.
[gcc/testsuite]
2016-06-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-fpcvt-1.c: New test to test ISA 3.0 load
byte/half-word to vector registers and store byte/half-word from
vector register instructions.
* gcc.target/powerpc/p9-fpcvt-2.c: Likewise.
From-SVN: r237806
Diffstat (limited to 'gcc/predict.c')
0 files changed, 0 insertions, 0 deletions