There are (define_insn "sse2_umulv2siv2di3" [(set (match_operand:V2DI 0 "register_operand" "=x") (mult:V2DI (zero_extend:V2DI (vec_select:V2SI (match_operand:V4SI 1 "nonimmediate_operand" "%0") (parallel [(const_int 0) (const_int 2)]))) (zero_extend:V2DI (vec_select:V2SI (match_operand:V4SI 2 "nonimmediate_operand" "xm") (parallel [(const_int 0) (const_int 2)])))))] "TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)" "pmuludq\t{%2, %0|%0, %2}" [(set_attr "type" "sseimul") (set_attr "mode" "TI")])
I have 2 questions: 1. Is ix86_binary_operator_ok needed here? 2. If yes, why is V8HImode used? -- Summary: Typo in sse2_umulv2siv2di3 pattern Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31478