Bharati Bhole writes: > > > > p debug_rtx(desc) > > > > > (gdb) p debug_rtx(desc) > (define_expand ("fix_truncdfdi2") > [ > (parallel [ > (set (match_operand:DI 0 ("nonimmediate_operand") ("")) > (fix:DI (match_operand:DF 1 ("register_operand") ("")))) > (clobber (reg:CC 17 [0])) > ]) > ] ("TARGET_80387 || (TARGET_64BIT && TARGET_SSE2)") ("{ > if (TARGET_64BIT && TARGET_SSE2) > { > rtx out = REG_P (operands[0]) ? operands[0] : gen_reg_rtx (DImode); > emit_insn (gen_fix_truncdfdi_sse (out, operands[1])); > if (out != operands[0]) > emit_move_insn (operands[0], out); > DONE; > } > }")) > $17 = void OK, so define_expand: see 13.15 Defining RTL Sequences for Code Generation. parallel: see 11.15 Side Effect Expressions match_operand:: see 13.4 RTL Template TARGET_xx are macros in the target.h header files. gen_blah generates another insn. emit_move_insn() is obvious. ... etc. So, this seems to be documented. I can't see anything here that is obscure or undocumented. Andrew.