On Fri, Oct 16, 2015 at 2:35 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> On Fri, Oct 16, 2015 at 8:43 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
>> On Thu, Oct 15, 2015 at 9:30 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
>>
>>>>>> Do we support -O2 -march=lakemont with
>>>>>>
>>>>>> __attribute__((target("arch=silvermont")))
>>>>>
>>>>> Hm, no.
>>>>>
>>>>
>>>> Do we issue an error or silently ignore
>>>> __attribute__((target("arch=silvermont")))?
>>>> If we don't support it, should we support
>>>>
>>>> -O2 -march=silvermont
>>>>
>>>> __attribute__((target("arch=lakemont")))
>>>
>>> Actually, we have to re-initialize:
>>>
>>>   opts->x_target_flags
>>>     |= (TARGET_DEFAULT | TARGET_SUBTARGET_DEFAULT) & 
>>> ~opts_set->x_target_flags;
>>>
>>> just before TARGET_SUBTARGET{32,64}_DEFAULT processing, and it will work.
>>
>> No, this won't work. The value of MASK_NO_FANCY_MATH depend on
>> MASK_80387setting, and once fancy math bit is set, it couldn't be
>> cleared for march != lakemont.
>>
>> It looks just like we want to error out when lakemont is enabled with 
>> -m80387.
>
> Like in the attached patch, that also slightly improves existing error
> reporting.
>

We should use a bit instead of checking PROCESSOR_LAKEMONT
so that we don't need to check another PROCESSOR_XXX for
a new IA MCU processor.

Thanks.


-- 
H.J.

Reply via email to