------- 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