Of course, the answer is to
emit_insn( gen_comparesi3( op0, op1 ));
which generates the required match_scratch
instead of ...
cmpmode = SELECT_CC_MODE( branchCode, op0, op1 );
flags = gen_rtx_REG ( cmpmode, CC_REGNUM );
compare = gen_rtx_COMPARE ( cmpmode, op0, op1 );
emit_ins
in a GCC port to a 16 bit cpu that uses CC flags for branching,
I'm experimenting with using a 32 bit subtract for compare
instead of multiple 16 bit compares and branches.
my cbranch4 expander produces a compare and conditional
branch patterns...
cmpmode = SELECT_CC_MODE( branchCode, op0,