From 37f81333f74286adfe76ea53c2b701b0117e0776 Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Sat, 30 Mar 2019 08:53:10 +0100 Subject: 20190330.1 global branch merge. Signed-off-by: Matteo Bernardini --- ...08-x86-Add-V-register-operand-modifier-doc.diff | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff (limited to 'development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff') diff --git a/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff new file mode 100644 index 0000000000..b3bd93a218 --- /dev/null +++ b/development/gcc5/patches/0008-x86-Add-V-register-operand-modifier-doc.diff @@ -0,0 +1,65 @@ +From 8a47615dd04a02fdae9691f5ad73fd5a5530c156 Mon Sep 17 00:00:00 2001 +From: hjl +Date: Tue, 16 Jan 2018 11:19:51 +0000 +Subject: [PATCH 8/9] x86: Add 'V' register operand modifier (documentation) + +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 + + * 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 + + * gcc.target/i386/indirect-thunk-register-4.c: New test. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256736 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ChangeLog | 10 ++++++++++ + gcc/config/i386/i386.c | 13 ++++++++++++- + gcc/doc/extend.texi | 3 +++ + gcc/testsuite/ChangeLog | 7 +++++++ + gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c | 13 +++++++++++++ + 5 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c + +diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi +index 46e0a36..9db9e0e 100644 +--- a/src/gcc/doc/extend.texi ++++ b/src/gcc/doc/extend.texi +@@ -8778,6 +8778,9 @@ The table below shows the list of supported modifiers and their effects. + @tab @code{2} + @end multitable + ++@code{V} is a special modifier which prints the name of the full integer ++register without @code{%}. ++ + @anchor{x86floatingpointasmoperands} + @subsubsection x86 Floating-Point @code{asm} Operands + -- cgit v1.2.3