r256663 - in /trunk/gcc: ChangeLog config/i386/...
hjl@gcc.gnu.org
hjl@gcc.gnu.org
Sun Jan 14 14:41:00 GMT 2018
Author: hjl
Date: Sun Jan 14 14:41:25 2018
New Revision: 256663
URL: https://gcc.gnu.org/viewcvs?rev=256663&root=gcc&view=rev
Log:
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/
* 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/
* gcc.target/i386/indirect-thunk-register-4.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/doc/extend.texi
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list