From 288b18bf0739a83609e720e8d263181c4ec4d86c Mon Sep 17 00:00:00 2001 From: Xianmiao Qu Date: Thu, 27 Oct 2022 17:26:54 +0800 Subject: [PATCH] C-SKY: Add conditions for ceil etc patterns. The ceil etc functions can be only inlined as instruction when they can raise the "inexact" exception. Without the adding conditions, it will cause the "gcc.dg/torture/builtin-fp-int-inexact-c2x.c" etc cases fails. gcc/ * config/csky/csky_insn_fpuv3.md (lsi2): Test flag_fp_int_builtin_inexact || !flag_trapping_math. (2): Likewise. --- gcc/config/csky/csky_insn_fpuv3.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/csky/csky_insn_fpuv3.md b/gcc/config/csky/csky_insn_fpuv3.md index 628bae597bad..7f8f459621ee 100644 --- a/gcc/config/csky/csky_insn_fpuv3.md +++ b/gcc/config/csky/csky_insn_fpuv3.md @@ -476,14 +476,16 @@ [(set (match_operand:SI 0 "register_operand" "=v") (FIX_SU:SI (unspec:F3ANY [(match_operand:F3ANY 1 "register_operand" "0")] FRM)))] - "CSKY_ISA_FEATURE(fpv3_)" + "CSKY_ISA_FEATURE(fpv3_) + && (flag_fp_int_builtin_inexact || !flag_trapping_math)" "fftoi.f.32\t%0, %1" ) (define_insn "2" [(set (match_operand:F3ANY 0 "register_operand" "=v") (unspec:F3ANY [(match_operand:F3ANY 1 "register_operand" "0")] FRMF))] - "CSKY_ISA_FEATURE(fpv3_)" + "CSKY_ISA_FEATURE(fpv3_) + && (flag_fp_int_builtin_inexact || !flag_trapping_math)" "fftofi.f\t%0, %1" ) -- 2.47.3