"Petar Bajic" <petar.bajic@xxxxxxxxxxxxxxx> writes: > If I write define_expand like this : > > (define_expand "movsicc_movz" > [(set (match_operand:SI 0 "register_operand" "=d,d") > (if_then_else (eq (match_operand:SI 2 "register_operand" "=d,d") > (const_int 0)) > (match_operand:SI 1 "register_operand" "=d,d") (match_dup 0)))] > "" > "{dlx_emit_cond_move(operands[0], operands[1], operands[2]); DONE;}" ) > > > it never gets used/generated In order for a define_expand to be used by the machine independent code, it must have a standard name, as listed here: http://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html In this case you should call it simply "movsicc", not "movsicc_movz". Ian