]> gcc.gnu.org Git - gcc.git/commit
Internal-fn: Add FLOATN support for l/ll round and rint [PR/112432]
authorPan Li <pan2.li@intel.com>
Thu, 9 Nov 2023 14:04:39 +0000 (22:04 +0800)
committerPan Li <pan2.li@intel.com>
Fri, 10 Nov 2023 00:56:13 +0000 (08:56 +0800)
commit907603d4b117e82dbbde2d58a04e33f3021908e7
tree5a7269e07910c06ec6e40913e6540c15b3b18100
parent57dbc02d261bb833f6ef287187eb144321dd595c
Internal-fn: Add FLOATN support for l/ll round and rint [PR/112432]

The defined DEF_EXT_LIB_FLOATN_NX_BUILTINS functions should also
have DEF_INTERNAL_FLT_FLOATN_FN instead of DEF_INTERNAL_FLT_FN for
the FLOATN support. According to the glibc API and gcc builtin, we
have below table for the FLOATN is supported or not.

+---------+-------+-------------------------------------+
|         | glibc | gcc: DEF_EXT_LIB_FLOATN_NX_BUILTINS |
+---------+-------+-------------------------------------+
| iceil   | N     | N                                   |
| ifloor  | N     | N                                   |
| irint   | N     | N                                   |
| iround  | N     | N                                   |
| lceil   | N     | N                                   |
| lfloor  | N     | N                                   |
| lrint   | Y     | Y                                   |
| lround  | Y     | Y                                   |
| llceil  | N     | N                                   |
| llfllor | N     | N                                   |
| llrint  | Y     | Y                                   |
| llround | Y     | Y                                   |
+---------+-------+-------------------------------------+

This patch would like to support FLOATN for:
1. lrint
2. lround
3. llrint
4. llround

The below tests are passed within this patch:
1. x86 bootstrap and regression test.
2. aarch64 regression test.
3. riscv regression tests.

PR target/112432

gcc/ChangeLog:

* internal-fn.def (LRINT): Add FLOATN support.
(LROUND): Ditto.
(LLRINT): Ditto.
(LLROUND): Ditto.

Signed-off-by: Pan Li <pan2.li@intel.com>
gcc/internal-fn.def
This page took 0.051899 seconds and 5 git commands to generate.