[Bug jit/87291] Add support for inline asm to libgccjit
bouanto at zoho dot com
gcc-bugzilla@gcc.gnu.org
Wed Jun 3 23:11:59 GMT 2020
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.
More information about the Gcc-bugs
mailing list