This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 4/4] x86: Add 'V' register operand modifier


On Fri, Jan 12, 2018 at 10:00 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> 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.
>
> Seems reasonable. Purpose of this is to make posible to call thunks
> from asm statements, right?
>

Yes.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]