Dear Ian,

Thanks the reply.

>> Is there a way to make the instruction has to allocate to run without
>> using the scheduler for particular instruction ?
>
> I don't understand the question.

The target we are using supports parallel instruction execution, Max 7.
For one cycle, one instruction packet is executed. one packet has max 7
instructions. so the scheduler is enabled. However, the scheduler enabling
is not required for some packets. so how we can disable the instruction
scheduling for particular packets ?

> Nothing is out of scope of the scheduler.  Using unspec_volatile in
> the RTL template makes the instruction a scheduling barrier and a
> memory barrier.

Can you give more information or link to understand more about
unspec_volatile ? The information available in gcc internals is not
sufficient.

Thanks and Regards
Raja Saleru

> raja.sal...@iap-online.com writes:
>
>> In gcc, while instruction scheduling can it be possible to suspend the
>> scheduling for some instructions ? or
>
> No.  You can turn off instruction scheduling for the entire
> compilation.  You can use #pragma GCC optimize to turn scheduling off
> for a specific function.  But there is no way to turn it off for some
> instructions within a function but not others.
>
>
>> Is there a way to make the instruction has to allocate to run without
>> using the scheduler for particular instruction ?
>
> I don't understand the question.
>
>
>> Currently there is RTL template in machine description
>> unspec_volatile().
>> If the instruction is scheduled using this, does this make the
>> instruction
>> out of scope of scheduler ?
>
> Nothing is out of scope of the scheduler.  Using unspec_volatile in
> the RTL template makes the instruction a scheduling barrier and a
> memory barrier.
>
> Ian
>

Reply via email to