https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87291
--- Comment #8 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Reading the docs for extended asm, I think the API entrypoint would need to look something like: extern void gcc_jit_block_add_extended_asm (gcc_jit_block *block, int is_volatile, int is_inline, const char *asm_template, int num_output_operands, gcc_jit_asm_operand **output_operands, int num_input_operands, gcc_jit_asm_operand **input_operands, int num_clobbers, const char **clobbers, int num_goto_labels, gcc_jit_block **goto_labels); which is a lot of arguments, and we'd also need a way to create gcc_jit_asm_operand instances. If there are goto_labels, then the asm is implicitly "goto"-qualified; the asm also is treated as potentially falling through to whatever is after it in the block; it doesn't terminated its gcc_jit_block.