This is the mail archive of the gcc@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: Using intrinsic functions to extend the isa


On Wed, Apr 13, 2011 at 5:32 PM, Ian Lance Taylor <iant@google.com> wrote:
> Feng LI <nemokingdom@gmail.com> writes:
>
>> I use unspec_volatile for a function with void arguments and
>> void return value for some initialization work. But it didn't generate
>> code in this case. I think probably I need to add more restrictions
>> some where but I don't know why and how. The code looks like:
>>
>> extern __inline void __attribute__((__gnu_inline__, __always_inline__,
>> __artificial__))
>> __TEnd (void)
>> {
>> ? __builtin_ia32_tend ();
>> }
>>
>> (define_expand "dta_tend"
>> ? [(unspec_volatile [(const_int 0)] UNSPEC_TEND)]
>> ? ""
>> ? "")
>>
>> (define_insn "*dta_tend"
>> ? [(unspec_volatile [(const_int 0)] UNSPEC_TEND)]
>> ? ""
>> ? "tend"
>> ? [(set_attr "length" "3")
>> ? ?(set_attr "mode" "none")])
>
> In the RTL dumps generated by -da, where does the insn appear and where
> does it disappear?

Do you have any const or pure attributes on the tend builtin?

Richard.

> Ian
>


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