https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87291
--- Comment #9 from bouanto at zoho dot com --- Ok, so you would go without a function-like API. I think you're missing a few parameters here, like the ASM dialect (intel vs ATT) unless that would be the string ".intel_syntax;" at the start of the asm_template. Also, the parameter location might be missing. Does gcc provide a way to specify whether the stack should be aligned properly, or is it done automatically, or should it be specified manually in asm_template with a string like ".align 32"? (In reply to David Malcolm from comment #8) > 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.