This is the mail archive of the gcc-patches@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]

Re: [PATCH] Intrinsics for ADCX, ADOX, RDSEED and PREFETCHW


On Thu, Jul 19, 2012 at 11:23:09AM +0200, Uros Bizjak wrote:
> >> You have a mnemonic clash here. prefetchw is not good name for a new
> >> instruction, it clashes with existing 3dnow name. Intel will need to
> >> fix the spec, you probably won't be able to change prefetchw encoding
> >> in binutils.
> >
> > From what I understand, Intel is using the same encoding of that insn as
> > 3dNOW!, so there is no clash, just the same insn is now enabled by two ISAs
> > (3dNOW! and this new CPUID prfchw bit).
> 
> I see. Then please review prefetch changes to not change existing
> functionality (i.e. -m3dnow should work as now, while -m3dnow -mprfchw
> can emit new instructions everywhere). However, do not change existing
> mm3dnow.h header.

I think it is fine to change existing mm3dnow.h header, but not in the way
it has been changed in the patch.  The thing is that unlike the newly added
intrinsics headers, mm3dnow.h is still publicly includable header, and just
including that header should work properly, so mm3dnow.h has to include
prftchwintrin.h, which should be allowed to be included from x86intrin.h
as well as mm3dnow.h, and that header should have guards, so that if both
x86intrin.h is included and mm3dnow.h too (the latter first),
prftchwintrin.h isn't included in twice.

	Jakub


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