On 3/19/19 9:00 AM, Florian Weimer wrote:
> * Florian Weimer:
> 
>> * Jeff Law:
>>
>>> On 03/29/2018 08:00 AM, Florian Weimer wrote:
>>>> This patch performs lazy initialization of the relevant CPUID feature
>>>> register value.  It will needlessly invoke the CPUID determination code
>>>> on architectures which lack CPUID support or support for the feature
>>>> register, but I think it's not worth to avoid the complexity for that.
>>>>
>>>> I verified manually that the CMPXCHG16B implementation is still selected
>>>> for a 128-bit load after the change.  I don't know how to write an
>>>> automated test for that.
>>>>
>>>> Thanks,
>>>> Florian
>>>>
>>>> pr60790.patch
>>>>
>>>>
>>>> Index: libatomic/ChangeLog
>>>> ===================================================================
>>>> --- libatomic/ChangeLog    (revision 258952)
>>>> +++ libatomic/ChangeLog    (working copy)
>>>> @@ -1,3 +1,18 @@
>>>> +2018-03-29  Florian Weimer  <fwei...@tor.usersys.redhat.com>
>>>> +
>>>> +  PR libgcc/60790
>>>> +  x86: Do not assume ELF constructors run before IFUNC resolvers.
>>>> +  * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx):
>>>> +  Remove declarations.
>>>> +  (__libat_feat1, __libat_feat1_init): Declare.
>>>> +  (FEAT1_REGISTER): Define.
>>>> +  (load_feat1): New function.
>>>> +  (IFUNC_COND_1): Adjust.
>>>> +  * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx)
>>>> +  (init_cpuid): Remove definitions.
>>>> +  (__libat_feat1): New variable.
>>>> +  (__libat_feat1_init): New function.
>>> OK.
>>
>> Here is the backport to gcc-8-branch.
> 
> Ping?  <https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00524.html>
OK for the branch as well.  I didn't know you were waiting on me :-)
jeff

Reply via email to