[dpdk-dev] [PATCH v2 3/3] eal/windows: librte_net build on Windows

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Mon Jul 20 18:26:40 CEST 2020


On Mon, 20 Jul 2020 12:54:08 +0000, Fady Bader wrote:
[snip]
> > Getting the same error with a setup similar to Dmitry's. My setup: SDK 10.0.18362,  
> 
> I'm sending v4 patch that should resolve this.
> 
> > clang 9.0.0. What version of clang are you using on your system?
> > You can try installing LLVM 9.0.0 from
> > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Freleases.ll
> > vm.org%2Fdownload.html&data=02%7C01%7Cfady%40mellanox.com%7C0b
> > 29fed755494b55361d08d82a9ff2b4%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0
> > %7C0%7C637306213753996879&sdata=5lPQtvt8EO7q8OAYN60J8rIdYdNJHjsS
> > Pp%2B6P9PL3N0%3D&reserved=0  
> 
> Thanks for the link, even with clang and SDK version same as yours and Dmitry's I'm still
> passing compilation and not getting the error described. 
> That's because the _m_prefetchw function that is defined in Clang's prfchwintrin.h is an
> intrinsic function corresponding to the instruction PREFETCHW that is part of the 
> instruction set extension 3DNOW, my processor doesn't support this instruction set 
> extension, so my compiler isn't reaching the part where it defines _m_prefetchw. 
> I think your processor does support the 3DNOW instruction set extension and that why 
> you are reaching this part and I'm not.

You can try building DPDK for a machine with RDSEED like so:

	meson -Dmachine=broadwell -Dexamples=helloworld build

FWIW, replacing <x86intrin.h> with <immintrin.h> in rte_random.c resolves the
issue on my setup and also looks valid as per [1]. I checked LLVM 10.0.0, and
both native and cross MinGW-w64 (GCC 9.2.0).

[1]:
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_rdseed32_step&expand=4541


More information about the dev mailing list