tree-optimization/112990 - unsupported VEC_PERM from match pattern

The following avoids creating an unsupported VEC_PERM after vector
lowering from the pattern merging a bit-insert from a bit-field-ref
to a VEC_PERM.  For the already existing s390 testcase we get
TImode vectors which later ICE during attempted expansion of
a vec_perm_const.

	PR tree-optimization/112990
	* match.pd (bit_insert @0 (BIT_FIELD_REF @1 ..) ..):
	Restrict to vector modes after lowering.
This commit is contained in:
Richard Biener 2023-12-13 09:38:59 +01:00
parent 97094d2ffd
commit b9baead90d

View file

@ -8505,6 +8505,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(simplify
(bit_insert @0 (BIT_FIELD_REF@2 @1 @rsize @rpos) @ipos)
(if (VECTOR_TYPE_P (type)
&& (VECTOR_MODE_P (TYPE_MODE (type))
|| optimize_vectors_before_lowering_p ())
&& types_match (@0, @1)
&& types_match (TREE_TYPE (TREE_TYPE (@0)), TREE_TYPE (@2))
&& TYPE_VECTOR_SUBPARTS (type).is_constant ())