------- Comment #3 from ubizjak at gmail dot com 2007-04-05 08:48 ------- > There is no corresponding define_expand for this pattern. Many define_insn > patterns without define_expand don't call ix86_binary_operator_ok. Will that > be a problem?
Those are sse builtins and are expanded via ix86_expand_binop_builtin(). This function fixes all operands to satisfy ix86_binary_operator_ok(). Regarding call to ix86_binary_operator_ok - this check is needed only when both input operands are nonimmediate_operand (and output operand is register_operand). There is indeed a pattern without this check - sse2_pmaddwd. Due to %, it is commutative, so check for PLUS of V8HI mode would be OK. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31478