From: Xianmiao Qu Date: Thu, 27 Oct 2022 09:26:54 +0000 (+0800) Subject: C-SKY: Add conditions for ceil etc patterns. X-Git-Tag: basepoints/gcc-14~2125 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=288b18bf0739a83609e720e8d263181c4ec4d86c;p=thirdparty%2Fgcc.git 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. --- 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" )