https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116738

--- Comment #16 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jakub Jelinek from comment #12)
> I think the problem is the mixing of four different substitutions in a
> single pattern,
> in particular round_saeonly and round_saeonly_scalar and mask and
> mask_scalar.
> <round_saeonly_scalar_name> is from the second,
> <round_saeonly_mode_condition> and
> <round_saeonly_mask_arg3> from the first and <mask_operand_arg34> and
> <mask_mode512bit_condition> from the third and <mask_scalar_name> from the
> fourth.
> I think it only should use 2 substs, likely mask_scalar and
> round_saeonly_scalar, like the previous pattern.  And if something needs to
> be added to those two subst attributes (likely to ensure the right extra
> arguments are passed to the gen* routine), it should be added.

Yeah, after confirming that UNSPEC works for the testcase, I copypasted from
similar pattern, and after some tires I lost my will to hunt down the remaining
causes of duplicate definitions.

Reply via email to