+2020-05-22 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/95255
+ * config/i386/i386.md (<rounding_insn><mode>2): Do not try to
+ expand non-sse4 ROUND_ROUNDEVEN rounding via SSE support routines.
+
2020-05-22 Jan Hubicka <hubicka@ucw.cz>
* lto-streamer-out.c (lto_output_tree): Do not stream final ref if
&& (flag_fp_int_builtin_inexact || !flag_trapping_math))
|| (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH
&& (TARGET_SSE4_1
- || (ROUND_<ROUNDING> != ROUND_ROUNDEVEN
- && (flag_fp_int_builtin_inexact || !flag_trapping_math))))"
+ || (ROUND_<ROUNDING> != ROUND_ROUNDEVEN
+ && (flag_fp_int_builtin_inexact || !flag_trapping_math))))"
{
if (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH
- && (TARGET_SSE4_1 || flag_fp_int_builtin_inexact || !flag_trapping_math))
+ && (TARGET_SSE4_1
+ || (ROUND_<ROUNDING> != ROUND_ROUNDEVEN
+ && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
{
if (TARGET_SSE4_1)
emit_insn (gen_sse4_1_round<mode>2
- (operands[0], operands[1], GEN_INT (ROUND_<ROUNDING>
- | ROUND_NO_EXC)));
+ (operands[0], operands[1],
+ GEN_INT (ROUND_<ROUNDING> | ROUND_NO_EXC)));
else if (TARGET_64BIT || (<MODE>mode != DFmode))
{
if (ROUND_<ROUNDING> == ROUND_FLOOR)
+2020-05-22 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/95255
+ * gcc.target/i386/pr95255.c: New test.
+
2020-05-22 Hongtao.liu <hongtao.liu@intel.com>
* gcc.target/i386/pr92658-avx512f.c: New test.