Hi there, For define_peephole2, one can use (match_scratch:SI 2 "r") to require an extra scratch register. I am wondering whether it is possible to require an extra register for define_split? I am trying to split following RTL into more than one RTLs and thus need an extra register. (define_split [(set (match_operand:SF 0 "register_operand") (match_operand:SF 1 "const_double_operand"))] ................. ) The above define_split can match its targets, but following will fail to match: (define_split [(set (match_operand:SF 0 "register_operand") (match_operand:SF 1 "const_double_operand")) (clobber (match_scratch:SI 2 "register_operand"))] ............ ) Could some one please help? Thanks in advance. BR, Terry