[Bug jit/87291] Add support for inline asm to libgccjit
bouanto at zoho dot com
gcc-bugzilla@gcc.gnu.org
Sat Jun 6 22:59:29 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87291
--- Comment #29 from bouanto at zoho dot com ---
This API looks fine.
Another test would be to create a simple function, the equivalent of this:
#include <assert.h>
asm(
"add:\n"
"movq %rdi, %rax\n"
"add %rsi, %rax\n"
"ret\n");
extern int add(int, int);
int main(void) {
assert(add(40, 2) == 42);
}
(In reply to David Malcolm from comment #27)
> Created attachment 48694 [details]
> v3 of the work-in-progress patch
>
> Here's an updated version of the patch; also uploaded to:
> https://dmalcolm.fedorapeople.org/gcc/2020-06-06/0001-FIXME-WIP-on-extended-
> asm-support-v3.patch
>
> In particular, this adds a new:
> gcc_jit_context_add_top_level_asm
> entrypoint. On implementing this, it hooks into the symbol table like the C
> frontend does, so it looks like it will respect ordering as much as the C
> frontend does.
>
> How does this look? The top-level asm code is barely tested though; I'd
> appreciate a way to verify it from the automated test case.
>
> Changes in v3:
> * added gcc_jit_context_add_top_level_asm
> * drop redundant gcc_jit_extended_asm_add_goto_label
> * added gcc_jit_extended_asm_as_object
> * started adding documentation
> * added comments to libgccjit.h
> * consolidated test-asm.c, grouping create/verify pairs
> * add test coverage for "volatile"
> * initial implementation of make_debug_string
> * added some error-checking
More information about the Gcc-bugs
mailing list