]> git.ipfire.org Git - thirdparty/gcc.git/commit
Backport to gcc-10
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Mon, 8 Jun 2020 15:39:18 +0000 (10:39 -0500)
committerWill Schmidt <will_schmidt@vnet.ibm.com>
Mon, 6 Jul 2020 22:11:10 +0000 (17:11 -0500)
commit2d980dd19d11d7e530922bea6eafad8ff6641df7
tree3866f1c3414132bb4d18bd9dd808f0187f44159a
parent0e66f1ddf7a7166f7a140c03e5d55286c7ef582b
Backport to gcc-10

[PATCH, PR target/94954] Fix wrong codegen for vec_pack_to_short_fp32() builtin

Hi,
  Fix codegen for builtin vec_pack_to_short_fp32.  This includes adding
  a define_insn for xvcvsphp, and adding a new define_expand for
  convert_4f32_8f16.

[v2]
  Comment on altivec.md "convert_4f32_8f16" enhanced.
  Testsuite builtins-1-p9-runnable.c updated.

  OK for trunk and backports?

  Thanks
  -Will

PR target/94954

gcc/Changelog:

* config/rs6000/altivec.h (vec_pack_to_short_fp32): Update.
* config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec.
(convert_4f32_8f16): New define_expand
* config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define
and overload.
* config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New
overloaded builtin entry.
* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec.
(vsx_xvcvsphp): New define_insn.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/builtins-1-p9-runnable.c: Update.
gcc/config/rs6000/altivec.h
gcc/config/rs6000/altivec.md
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000-call.c
gcc/config/rs6000/vsx.md
gcc/testsuite/gcc.target/powerpc/builtins-1-p9-runnable.c