For sure.
Jeff Law <l...@redhat.com> 于2020年1月15日周三 上午4:48写道: > > On Tue, 2019-12-24 at 13:31 +0800, Hongyu Wang wrote: > > Hi: > > For avx512f scalar instructions, current builtin function like > > __builtin_ia32_*{sd,ss}_round can be replaced by > > __builtin_ia32_*{sd,ss}_mask_round with mask parameter set to -1. This > > patch did the replacement and remove the corresponding redundant > > builtins. > > > > Bootstrap is ok, make-check ok for i386 target. > > Ok for trunk? > > > > Changelog > > > > gcc/ > > * config/i386/avx512fintrin.h > > (_mm_add_round_sd, _mm_add_round_ss): Use > > __builtin_ia32_adds?_mask_round builtins instead of > > __builtin_ia32_adds?_round. > > (_mm_sub_round_sd, _mm_sub_round_ss, > > _mm_mul_round_sd, _mm_mul_round_ss, > > _mm_div_round_sd, _mm_div_round_ss, > > _mm_getexp_sd, _mm_getexp_ss, > > _mm_getexp_round_sd, _mm_getexp_round_ss, > > _mm_getmant_sd, _mm_getmant_ss, > > _mm_getmant_round_sd, _mm_getmant_round_ss, > > _mm_max_round_sd, _mm_max_round_ss, > > _mm_min_round_sd, _mm_min_round_ss, > > _mm_fmadd_round_sd, _mm_fmadd_round_ss, > > _mm_fmsub_round_sd, _mm_fmsub_round_ss, > > _mm_fnmadd_round_sd, _mm_fnmadd_round_ss, > > _mm_fnmsub_round_sd, _mm_fnmsub_round_ss): Likewise. > > * config/i386/i386-builtin.def > > (__builtin_ia32_addsd_round, __builtin_ia32_addss_round, > > __builtin_ia32_subsd_round, __builtin_ia32_subss_round, > > __builtin_ia32_mulsd_round, __builtin_ia32_mulss_round, > > __builtin_ia32_divsd_round, __builtin_ia32_divss_round, > > __builtin_ia32_getexpsd128_round, __builtin_ia32_getexpss128_round, > > __builtin_ia32_getmantsd_round, __builtin_ia32_getmantss_round, > > __builtin_ia32_maxsd_round, __builtin_ia32_maxss_round, > > __builtin_ia32_minsd_round, __builtin_ia32_minss_round, > > __builtin_ia32_vfmaddsd3_round, > > __builtin_ia32_vfmaddss3_round): Remove. > > * config/i386/i386-expand.c > > (ix86_expand_round_builtin): Remove corresponding case. > This doesn't really look like a bugfix to me. Can it wait for gcc-11? > > jeff > > >