This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Unused __builtin_ia32_* builtins


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]