------- Comment #7 from hjl at lucon dot org  2007-04-05 16:54 -------
(In reply to comment #6)
> (In reply to comment #5)
> 
> > So anothe word is those patterns are used by ix86_expand_binop_builtin()
> > and won't be generated automatically. Will be "sse2_umulv2siv2di3"
> > generated automatically? If yes, what makes it different from other
> > patterns used by ix86_expand_binop_builtin() only?
> 
> No, they won't be generated automatically, because they don't have the name
> that is recognized by generic expander. IOW, they are not named insn pattern.
> 

Since sse2_umulv2siv2di3 is used by ix86_expand_binop_builtin() and sse.md
only:

[EMAIL PROTECTED] i386]$ grep sse2_umulv2siv2di3 *.c *.md
i386.c:  { MASK_SSE2, CODE_FOR_sse2_umulv2siv2di3, 0, IX86_BUILTIN_PMULUDQ128,
0, 0 },
sse.md:(define_insn "sse2_umulv2siv2di3"
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (gen_lowpart (V2DImode, t1), op1,
op2));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (gen_lowpart (V2DImode, t4), t2,
t3));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (t1, gen_lowpart (V4SImode, op1),
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (t4, gen_lowpart (V4SImode, op1),
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (t5, gen_lowpart (V4SImode, op2),
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (operands[0], t1, t2));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (operands[0], t1, t2));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (operands[0], t1, t2));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (operands[0], t1, t2));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (t1, operands[1], operands[2]));
sse.md:  emit_insn (gen_sse2_umulv2siv2di3 (t4, t2, t3));

is ix86_binary_operator_ok in sse2_umulv2siv2di3 not used at all and really
optional?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31478

Reply via email to