diff options
author | Xi Ruoyao <xry111@xry111.site> | 2022-11-06 20:41:38 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2022-11-12 15:01:09 +0800 |
commit | e468dd40150ad20fe87d315c2638c572ca44dc3b (patch) | |
tree | 49d3196ffc367cf52871c674cfbe2fd6b86750ab | |
parent | ba7551485bc5760371462517ec05bc6ba20b3b35 (diff) | |
download | gcc-e468dd40150ad20fe87d315c2638c572ca44dc3b.zip gcc-e468dd40150ad20fe87d315c2638c572ca44dc3b.tar.gz gcc-e468dd40150ad20fe87d315c2638c572ca44dc3b.tar.bz2 |
LoongArch: Rename frint_<fmt> to rint<mode>2
Use standard name so __builtin_rint{,f} can be expanded to one
instruction.
gcc/ChangeLog:
* config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
(rint<mode>2): .. this.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/frint.c: New test.
-rw-r--r-- | gcc/config/loongarch/loongarch.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/loongarch/frint.c | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md index bda34d0..a14ab14 100644 --- a/gcc/config/loongarch/loongarch.md +++ b/gcc/config/loongarch/loongarch.md @@ -2012,8 +2012,8 @@ [(set_attr "type" "move")] ) -;; Convert floating-point numbers to integers -(define_insn "frint_<fmt>" +;; Round floating-point numbers to integers +(define_insn "rint<mode>2" [(set (match_operand:ANYF 0 "register_operand" "=f") (unspec:ANYF [(match_operand:ANYF 1 "register_operand" "f")] UNSPEC_FRINT))] diff --git a/gcc/testsuite/gcc.target/loongarch/frint.c b/gcc/testsuite/gcc.target/loongarch/frint.c new file mode 100644 index 0000000..3ee6a8f --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/frint.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-mdouble-float" } */ +/* { dg-final { scan-assembler "frint\\.s" } } */ +/* { dg-final { scan-assembler "frint\\.d" } } */ + +double +my_rint (double a) +{ + return __builtin_rint (a); +} + +float +my_rintf (float a) +{ + return __builtin_rintf (a); +} |