r259416 - in /branches/gcc-6-branch/gcc: Change...

hjl@gcc.gnu.org hjl@gcc.gnu.org
Mon Apr 16 19:00:00 GMT 2018


Author: hjl
Date: Mon Apr 16 19:00:53 2018
New Revision: 259416

URL: https://gcc.gnu.org/viewcvs?rev=259416&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/

	Backport from mainline
	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>

	* 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
	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/indirect-thunk-register-4.c: New test.

Added:
    branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c
Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/i386/i386.c
    branches/gcc-6-branch/gcc/doc/extend.texi
    branches/gcc-6-branch/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list