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.

Reply via email to