> On Mar 19, 2018, at 8:19 AM, Bill Schmidt <wschm...@linux.vnet.ibm.com> wrote:
> 
> On Mar 16, 2018, at 5:51 PM, Segher Boessenkool <seg...@kernel.crashing.org> 
> wrote:
>> 
>> Hi Carl,
>> 
>> On Wed, Mar 14, 2018 at 08:27:08AM -0700, Carl Love wrote:
>>> The following patch fixes an ICE when compiling the test case
>>> 
>>> gcc -mcpu=power7 builtin-fctid-fctiw-runnable.c
>>> 
>>> The GCC compiler now gives a message 
>>> 
>>>   "error: builtin function ‘__builtin_fctiw’ requires the ‘-mpower8-vector’ 
>>> option" 
>>> 
>>> and exits without generating an internal error.
>> 
>> This is an improvement over the ICE, for sure.
>> 
>> But fctiw is an ISA 1.xx instruction already (and fctid is as well,
>> but explicitly undefined for 32-bit implementations until some 2.xx,
>> I forgot which, 2.02 I think?)
>> 
>> Requiring power8 for it is weird and surprising.  power8-vector doubly so.
>> 
>> It does not seem to be a good idea to only enable the builtin for cases
>> where the current implementation is not broken.
>> 
>> (The issue is that pre-power8 we do not allow SImode in FPR registers.
>> Which makes the current fctiw implementation fail).
>> 
>> I think we have two good options:
>> 
>> 1) Remove these builtins;
>> or
>> 2) Make them work.
>> 
> I don't think we can remove them, as for a while they were the only way to
> access these instructions.  We now have some vec_* intrinsics that are
> the preferred interfaces, but for backward compatibility I think we have to
> keep the old ones.

Sorry, never mind, I was thinking of vector forms.  Please ignore me.

Bill
> 
> Thanks,
> Bill
> 
>> 
>> Segher

Reply via email to