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.

Reply via email to