diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-01-06 22:29:56 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-01-14 13:34:58 -0800 |
commit | 3b73022d2a23780df5925e97b658e565299dedd9 (patch) | |
tree | 938b8461764c6b8d9cb72729a1c3b50a6292539d /gcc/tree-ssa-loop-im.c | |
parent | 95ec88783e8673948978fbf6a749becef20270bd (diff) | |
download | gcc-3b73022d2a23780df5925e97b658e565299dedd9.tar.gz |
x86: Add 'V' register operand modifier
Add 'V', a special modifier which prints the name of the full integer
register without '%'. For
extern void (*func_p) (void);
void
foo (void)
{
asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p));
}
it generates:
foo:
movq func_p(%rip), %rax
call __x86_indirect_thunk_rax
ret
gcc/
Backport from mainline
* config/i386/i386.c (print_reg): Print the name of the full
integer register without '%'.
(ix86_print_operand): Handle 'V'.
* doc/extend.texi: Document 'V' modifier.
gcc/testsuite/
Backport from mainline
* gcc.target/i386/indirect-thunk-register-4.c: New test.
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
0 files changed, 0 insertions, 0 deletions