aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2018-01-14 14:41:25 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2018-01-14 06:41:25 -0800
commit6abe11c1a3b9f86398134533560bdc57788a93c9 (patch)
tree3886085c187311388ba794ae35b93353a782f6af /gcc/builtins.c
parentd543c04b795f8af4ebe5b3d5f38156ef4e5734f1 (diff)
downloadgcc-6abe11c1a3b9f86398134533560bdc57788a93c9.zip
gcc-6abe11c1a3b9f86398134533560bdc57788a93c9.tar.gz
gcc-6abe11c1a3b9f86398134533560bdc57788a93c9.tar.bz2
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. From-SVN: r256663
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions