diff options
author | Xi Ruoyao <xry111@xry111.site> | 2022-11-08 13:42:20 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2022-11-12 15:01:13 +0800 |
commit | f5225dbf5cf2a57ed5a2073b1a90a854093d063e (patch) | |
tree | 05d30315007f73e4d32e45a0097b7d999bc25519 /gcc/range-op-float.cc | |
parent | d26c757b2ec22d2d752af94908ce54a1266cca01 (diff) | |
download | gcc-f5225dbf5cf2a57ed5a2073b1a90a854093d063e.zip gcc-f5225dbf5cf2a57ed5a2073b1a90a854093d063e.tar.gz gcc-f5225dbf5cf2a57ed5a2073b1a90a854093d063e.tar.bz2 |
LoongArch: Add flogb.{s,d} instructions and expand logb{sf,df}2
On LoongArch, flogb instructions extract the exponent of a non-negative
floating point value, but produces NaN for negative values. So we need
to add a fabs instruction when we expand logb.
gcc/ChangeLog:
* config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
(type): Add flogb.
(logb_non_negative<mode>2): New instruction template.
(logb<mode>2): New define_expand.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/flogb.c: New test.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions