IBM Z: Introduce __LONG_DOUBLE_VX__ macro
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 14 Dec 2020 13:05:28 +0000 (14:05 +0100)
committerIlya Leoshkevich <iii@linux.ibm.com>
Fri, 8 Jan 2021 16:43:24 +0000 (17:43 +0100)
commitf47df2af313d2ce7f9149149010a142c2237beda
tree2cb0a47b36c0630ef29ade877e97d74ac689224a
parent98546324c799c5c2d00491ab64e8dee3c3b0120e
IBM Z: Introduce __LONG_DOUBLE_VX__ macro

Give end users the opportunity to find out whether long doubles are
stored in floating-point register pairs or in vector registers, so that
they could fine-tune their asm statements.

gcc/ChangeLog:

2020-12-14  Ilya Leoshkevich  <iii@linux.ibm.com>

* config/s390/s390-c.c (s390_def_or_undef_macro): Accept
callables instead of mask values.
(struct target_flag_set_p): New predicate.
(s390_cpu_cpp_builtins_internal): Define or undefine
__LONG_DOUBLE_VX__ macro.

2020-12-14  Ilya Leoshkevich  <iii@linux.ibm.com>

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/long-double-vx-macro-off-on.c: New test.
* gcc.target/s390/vector/long-double-vx-macro-on-off.c: New test.
gcc/config/s390/s390-c.c
gcc/testsuite/gcc.target/s390/vector/long-double-vx-macro-off-on.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/vector/long-double-vx-macro-on-off.c [new file with mode: 0644]