Commit 6bddea17 by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/87918 (ICE in simplify_binary_operation, at…

re PR rtl-optimization/87918 (ICE in simplify_binary_operation, at simplify-rtx.c:2153 since r264688)

	PR rtl-optimization/87918
	* simplify-rtx.c (simplify_merge_mask): For COMPARISON_P, use
	simplify_gen_relational rather than simplify_gen_binary.

	* gcc.target/i386/pr87918.c: New test.

From-SVN: r266062
parent 9384a5af
2018-11-13 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/87918
* simplify-rtx.c (simplify_merge_mask): For COMPARISON_P, use
simplify_gen_relational rather than simplify_gen_binary.
2018-11-13 Richard Biener <rguenther@suse.de> 2018-11-13 Richard Biener <rguenther@suse.de>
* tree-ssanames.h (set_range_info): Use value_range_base. * tree-ssanames.h (set_range_info): Use value_range_base.
...@@ -5647,9 +5647,19 @@ simplify_merge_mask (rtx x, rtx mask, int op) ...@@ -5647,9 +5647,19 @@ simplify_merge_mask (rtx x, rtx mask, int op)
rtx top0 = simplify_merge_mask (XEXP (x, 0), mask, op); rtx top0 = simplify_merge_mask (XEXP (x, 0), mask, op);
rtx top1 = simplify_merge_mask (XEXP (x, 1), mask, op); rtx top1 = simplify_merge_mask (XEXP (x, 1), mask, op);
if (top0 || top1) if (top0 || top1)
return simplify_gen_binary (GET_CODE (x), GET_MODE (x), {
top0 ? top0 : XEXP (x, 0), if (COMPARISON_P (x))
top1 ? top1 : XEXP (x, 1)); return simplify_gen_relational (GET_CODE (x), GET_MODE (x),
GET_MODE (XEXP (x, 0)) != VOIDmode
? GET_MODE (XEXP (x, 0))
: GET_MODE (XEXP (x, 1)),
top0 ? top0 : XEXP (x, 0),
top1 ? top1 : XEXP (x, 1));
else
return simplify_gen_binary (GET_CODE (x), GET_MODE (x),
top0 ? top0 : XEXP (x, 0),
top1 ? top1 : XEXP (x, 1));
}
} }
if (GET_RTX_CLASS (GET_CODE (x)) == RTX_TERNARY if (GET_RTX_CLASS (GET_CODE (x)) == RTX_TERNARY
&& VECTOR_MODE_P (GET_MODE (XEXP (x, 0))) && VECTOR_MODE_P (GET_MODE (XEXP (x, 0)))
......
2018-11-13 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/87918
* gcc.target/i386/pr87918.c: New test.
2018-11-13 Alan Modra <amodra@gmail.com> 2018-11-13 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/rotmask.c: New. * gcc.target/powerpc/rotmask.c: New.
......
/* PR rtl-optimization/87918 */
/* { dg-do compile } */
/* { dg-options "-O2 -msse2" } */
#include <x86intrin.h>
__m128 b, c, d;
void
foo (float f)
{
c = _mm_set_ss (f);
d = _mm_cmple_ss (c, b);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment