]> gcc.gnu.org Git - gcc.git/commit
Support IEEE 128-bit overload extract and insert built-in functions.
authorMichael Meissner <meissner@linux.ibm.com>
Tue, 2 Aug 2022 00:08:22 +0000 (20:08 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Tue, 2 Aug 2022 00:08:22 +0000 (20:08 -0400)
commit229d10e5f004ebd106d12e68c4abc52263c508da
treee8ad360c3722c048f249918ce29eb1400eeaf8f8
parentebfe2f4077886e8cdb18b4a8bc3d4c8fbee755cb
Support IEEE 128-bit overload extract and insert built-in functions.

This patch adds support for overloading the IEEE 128-bit extract and insert
built-in functions bewteeen KFmode and TFmode arguments.

2022-08-01   Michael Meissner  <meissner@linux.ibm.com>

gcc/

* config/rs6000/rs6000-builtins.def
(__builtin_vsx_scalar_extract_expq_kf): Rename KFmode IEEE 128-bit
insert and extract built-in functions to have a KF suffix to allow
overloading.
(__builtin_vsx_scalar_extract_sigq_kf): Likewise.
(__builtin_vsx_scalar_insert_exp_qp_kf): Likewise.
(__builtin_vsx_scalar_extract_expq_tf): Add TFmode variants for IEEE
128-bit insert and extract support.
(__builtin_vsx_scalar_extract_sigq_tf): Likewise.
(__builtin_vsx_scalar_insert_exp_qp_tf): Likewise.
* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
Add support for having KFmode and TFmode variants of VSIEQPF.
* config/rs6000/rs6000-overload.def (__builtin_vec_scalar_extract_exp):
Add TFmode overloads.
(__builtin_vec_scalar_extract_sig): Likewise.
(__builtin_vec_scalar_insert_exp): Likewise.

gcc/testsuite/

* gcc.target/powerpc/bfp/scalar-extract-exp-4.c:  Update the expected
error message.
* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise.
gcc/config/rs6000/rs6000-builtins.def
gcc/config/rs6000/rs6000-c.cc
gcc/config/rs6000/rs6000-overload.def
gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-exp-4.c
gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-sig-4.c
gcc/testsuite/gcc.target/powerpc/bfp/scalar-insert-exp-10.c
This page took 0.06803 seconds and 6 git commands to generate.