Hi! for i in `grep __builtin_ia32 config/i386/i386-builtin.def | sed 's/^.*__builtin_ia32_/__builtin_ia32_/;s/".*$//' | sort -u`; do grep -q -w $i config/i386/*.h || echo $i; done
shows many builtins not used in any of the intrinsic headers. I believe for the __builtin_ia32_* builtins we only support the intrinsics and not the builtins directly. Can we remove some of these (not necessarily all of them), after checking when and why they were added and if they were added for the intrinsic headers which now e.g. uses generic vector arith instead? E.g. __builtin_ia32_add{pd,ps}{,256} were used in intrinsic headers in <= 4.9.x and unused afterwards. __builtin_ia32_ceilpd I can't find in any header of any version. Perhaps just start with the builtins that were used in <= 4.9.x headers and aren't anymore (that is the first list until empty line, rest are builtins not appearing in 4.9 intrinsic headers either). __builtin_ia32_addpd __builtin_ia32_addpd256 __builtin_ia32_addps __builtin_ia32_addps256 __builtin_ia32_andsi256 __builtin_ia32_divpd __builtin_ia32_divpd256 __builtin_ia32_divps __builtin_ia32_divps256 __builtin_ia32_loaddqu __builtin_ia32_loaddqu256 __builtin_ia32_loadupd __builtin_ia32_loadupd256 __builtin_ia32_loadups __builtin_ia32_loadups256 __builtin_ia32_mulpd __builtin_ia32_mulpd256 __builtin_ia32_mulps __builtin_ia32_mulps256 __builtin_ia32_paddb128 __builtin_ia32_paddb256 __builtin_ia32_paddd128 __builtin_ia32_paddd256 __builtin_ia32_paddq128 __builtin_ia32_paddq256 __builtin_ia32_paddw128 __builtin_ia32_paddw256 __builtin_ia32_pand128 __builtin_ia32_pcmpeqb128 __builtin_ia32_pcmpeqb256 __builtin_ia32_pcmpeqd128 __builtin_ia32_pcmpeqd256 __builtin_ia32_pcmpeqq __builtin_ia32_pcmpeqq256 __builtin_ia32_pcmpeqw128 __builtin_ia32_pcmpeqw256 __builtin_ia32_pcmpgtb128 __builtin_ia32_pcmpgtb256 __builtin_ia32_pcmpgtd128 __builtin_ia32_pcmpgtd256 __builtin_ia32_pcmpgtq __builtin_ia32_pcmpgtq256 __builtin_ia32_pcmpgtw128 __builtin_ia32_pcmpgtw256 __builtin_ia32_pmulld128 __builtin_ia32_pmulld256 __builtin_ia32_pmullw128 __builtin_ia32_pmullw256 __builtin_ia32_por128 __builtin_ia32_por256 __builtin_ia32_psubb128 __builtin_ia32_psubb256 __builtin_ia32_psubd128 __builtin_ia32_psubd256 __builtin_ia32_psubq128 __builtin_ia32_psubq256 __builtin_ia32_psubw128 __builtin_ia32_psubw256 __builtin_ia32_pxor128 __builtin_ia32_pxor256 __builtin_ia32_storedqu __builtin_ia32_storedqu256 __builtin_ia32_storeupd __builtin_ia32_storeupd256 __builtin_ia32_storeups __builtin_ia32_storeups256 __builtin_ia32_subpd __builtin_ia32_subpd256 __builtin_ia32_subps __builtin_ia32_subps256 __builtin_ia32_bndcl __builtin_ia32_bndcu __builtin_ia32_bndint __builtin_ia32_bndldx __builtin_ia32_bndlower __builtin_ia32_bndmk __builtin_ia32_bndret __builtin_ia32_bndstx __builtin_ia32_bndupper __builtin_ia32_ceilpd __builtin_ia32_ceilpd256 __builtin_ia32_ceilpd512 __builtin_ia32_ceilpd_vec_pack_sfix __builtin_ia32_ceilpd_vec_pack_sfix256 __builtin_ia32_ceilpd_vec_pack_sfix512 __builtin_ia32_ceilps __builtin_ia32_ceilps256 __builtin_ia32_ceilps512 __builtin_ia32_ceilps_sfix __builtin_ia32_ceilps_sfix256 __builtin_ia32_ceilps_sfix512 __builtin_ia32_copysignpd __builtin_ia32_copysignpd256 __builtin_ia32_copysignpd512 __builtin_ia32_copysignps __builtin_ia32_copysignps256 __builtin_ia32_copysignps512 __builtin_ia32_cvtps2dq512 __builtin_ia32_exp2ps __builtin_ia32_fldenv __builtin_ia32_floorpd __builtin_ia32_floorpd256 __builtin_ia32_floorpd512 __builtin_ia32_floorpd_vec_pack_sfix __builtin_ia32_floorpd_vec_pack_sfix256 __builtin_ia32_floorpd_vec_pack_sfix512 __builtin_ia32_floorps __builtin_ia32_floorps256 __builtin_ia32_floorps512 __builtin_ia32_floorps_sfix __builtin_ia32_floorps_sfix256 __builtin_ia32_floorps_sfix512 __builtin_ia32_fnclex __builtin_ia32_fnstenv __builtin_ia32_fnstsw __builtin_ia32_narrow_bounds __builtin_ia32_pswapdsi __builtin_ia32_rintpd __builtin_ia32_rintpd256 __builtin_ia32_rintps __builtin_ia32_rintps256 __builtin_ia32_roundpd_az __builtin_ia32_roundpd_az256 __builtin_ia32_roundpd_az_vec_pack_sfix __builtin_ia32_roundpd_az_vec_pack_sfix256 __builtin_ia32_roundpd_az_vec_pack_sfix512 __builtin_ia32_roundps_az __builtin_ia32_roundps_az256 __builtin_ia32_roundps_az_sfix __builtin_ia32_roundps_az_sfix256 __builtin_ia32_roundps_az_sfix512 __builtin_ia32_rsqrtf __builtin_ia32_rsqrtps_nr __builtin_ia32_rsqrtps_nr256 __builtin_ia32_sizeof __builtin_ia32_sqrtpd512 __builtin_ia32_sqrtps512 __builtin_ia32_sqrtps_nr __builtin_ia32_sqrtps_nr256 __builtin_ia32_truncpd __builtin_ia32_truncpd256 __builtin_ia32_truncpd512 __builtin_ia32_truncps __builtin_ia32_truncps256 __builtin_ia32_truncps512 __builtin_ia32_vec_pack_sfix __builtin_ia32_vec_pack_sfix256 __builtin_ia32_vec_pack_sfix512 __builtin_ia32_vpcmov256 __builtin_ia32_vpcmov_v16hi256 __builtin_ia32_vpcmov_v16qi __builtin_ia32_vpcmov_v2df __builtin_ia32_vpcmov_v2di __builtin_ia32_vpcmov_v32qi256 __builtin_ia32_vpcmov_v4df256 __builtin_ia32_vpcmov_v4di256 __builtin_ia32_vpcmov_v4sf __builtin_ia32_vpcmov_v4si __builtin_ia32_vpcmov_v8hi __builtin_ia32_vpcmov_v8sf256 __builtin_ia32_vpcmov_v8si256 Jakub