/* { dg-do compile } */ /* { dg-options "-march=rv64imfd_zfa -mabi=lp64d" { target { rv64 } } } */ /* { dg-options "-march=rv32imfd_zfa -mabi=ilp32d" { target { rv32 } } } */ /* { dg-skip-if "" { *-*-* } {"-O0" "-O1" "-O2" "-Os" "-Og" "-Oz"} } */ #ifndef __riscv_zfa #error Feature macro not defined #endif double foo_negative_d (double a) { /* Use 3 "non-FLI" FP constants. */ return (3.5 * a - 5.0) / 0.1875; } float foo_negative_s (float a) { return ((float) 3.5 * a - (float) 5.0) / (float) 0.1875; } /* { dg-final { scan-assembler-not "fli\\.s\t" } } */ /* { dg-final { scan-assembler-not "fli\\.d\t" } } */