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.