mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
2016-03-23 Richard Biener <rguenther@suse.de> PR middle-end/70251 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust mode compatibility check. (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. From-SVN: r234427
This commit is contained in:
parent
478baf913e
commit
4d8989d5b0
|
|
@ -1,3 +1,10 @@
|
||||||
|
2016-03-23 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/70251
|
||||||
|
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
|
||||||
|
mode compatibility check.
|
||||||
|
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
|
||||||
|
|
||||||
2016-03-23 Jeff Law <law@redhat.com>
|
2016-03-23 Jeff Law <law@redhat.com>
|
||||||
|
|
||||||
PR tree-optimization/64058
|
PR tree-optimization/64058
|
||||||
|
|
|
||||||
|
|
@ -1759,18 +1759,18 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
|
||||||
(simplify
|
(simplify
|
||||||
(plus:c @3 (view_convert? (vec_cond:s @0 integer_each_onep@1 integer_zerop@2)))
|
(plus:c @3 (view_convert? (vec_cond:s @0 integer_each_onep@1 integer_zerop@2)))
|
||||||
(if (VECTOR_TYPE_P (type)
|
(if (VECTOR_TYPE_P (type)
|
||||||
&& TYPE_VECTOR_SUBPARTS (type) == TYPE_VECTOR_SUBPARTS (TREE_TYPE (@0))
|
&& TYPE_VECTOR_SUBPARTS (type) == TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1))
|
||||||
&& (TYPE_MODE (TREE_TYPE (type))
|
&& (TYPE_MODE (TREE_TYPE (type))
|
||||||
== TYPE_MODE (TREE_TYPE (TREE_TYPE (@0)))))
|
== TYPE_MODE (TREE_TYPE (TREE_TYPE (@1)))))
|
||||||
(minus @3 (view_convert (vec_cond @0 (negate @1) @2)))))
|
(minus @3 (view_convert (vec_cond @0 (negate @1) @2)))))
|
||||||
|
|
||||||
/* ... likewise A - (B vcmp C ? 1 : 0) -> A + (B vcmp C ? -1 : 0). */
|
/* ... likewise A - (B vcmp C ? 1 : 0) -> A + (B vcmp C ? -1 : 0). */
|
||||||
(simplify
|
(simplify
|
||||||
(minus @3 (view_convert? (vec_cond:s @0 integer_each_onep@1 integer_zerop@2)))
|
(minus @3 (view_convert? (vec_cond:s @0 integer_each_onep@1 integer_zerop@2)))
|
||||||
(if (VECTOR_TYPE_P (type)
|
(if (VECTOR_TYPE_P (type)
|
||||||
&& TYPE_VECTOR_SUBPARTS (type) == TYPE_VECTOR_SUBPARTS (TREE_TYPE (@0))
|
&& TYPE_VECTOR_SUBPARTS (type) == TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1))
|
||||||
&& (TYPE_MODE (TREE_TYPE (type))
|
&& (TYPE_MODE (TREE_TYPE (type))
|
||||||
== TYPE_MODE (TREE_TYPE (TREE_TYPE (@0)))))
|
== TYPE_MODE (TREE_TYPE (TREE_TYPE (@1)))))
|
||||||
(plus @3 (view_convert (vec_cond @0 (negate @1) @2)))))
|
(plus @3 (view_convert (vec_cond @0 (negate @1) @2)))))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue