[v2] build: explicitly enable sse4 for meson builds
Checks
Commit Message
If the compiler does not recognise the specific CPU when building with the
default "native" machine type, sse4.2 instructions can be missing, causing
a build error. Rather than advising the user to change the machine type,
we can just turn on SSE4.2 directly. This can prevent issues with running
automated tests with older compilers/distros on newer hardware.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
V2: insert missing quotes around "-msse4"
---
config/x86/meson.build | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Comments
+stable
This patch is probably worthwhile taking into 19.11 and 18.11 branches to
reduce chances of failures on CI of stable trees.
On Mon, Dec 23, 2019 at 10:38:40AM +0000, Bruce Richardson wrote:
> If the compiler does not recognise the specific CPU when building with the
> default "native" machine type, sse4.2 instructions can be missing, causing
> a build error. Rather than advising the user to change the machine type,
> we can just turn on SSE4.2 directly. This can prevent issues with running
> automated tests with older compilers/distros on newer hardware.
>
Cc: stable@dpdk.org
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> V2: insert missing quotes around "-msse4"
> ---
> config/x86/meson.build | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/config/x86/meson.build b/config/x86/meson.build
> index 8b0fa3e6f..adc857ba2 100644
> --- a/config/x86/meson.build
> +++ b/config/x86/meson.build
> @@ -15,11 +15,9 @@ if not is_windows
> endif
>
> # we require SSE4.2 for DPDK
> -sse_errormsg = '''SSE4.2 instruction set is required for DPDK.
> -Please set the machine type to "nehalem" or "corei7" or higher value'''
> -
> if cc.get_define('__SSE4_2__', args: machine_args) == ''
> - error(sse_errormsg)
> + message('SSE 4.2 not enabled by default, explicitly enabling')
> + machine_args += '-msse4'
> endif
>
> base_flags = ['SSE', 'SSE2', 'SSE3','SSSE3', 'SSE4_1', 'SSE4_2']
> --
> 2.24.1
>
On Fri, Jan 3, 2020 at 2:55 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> +stable
>
> This patch is probably worthwhile taking into 19.11 and 18.11 branches to
> reduce chances of failures on CI of stable trees.
+1
>
> On Mon, Dec 23, 2019 at 10:38:40AM +0000, Bruce Richardson wrote:
> > If the compiler does not recognise the specific CPU when building with the
> > default "native" machine type, sse4.2 instructions can be missing, causing
> > a build error. Rather than advising the user to change the machine type,
> > we can just turn on SSE4.2 directly. This can prevent issues with running
> > automated tests with older compilers/distros on newer hardware.
> >
> Cc: stable@dpdk.org
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Applied, thanks.
--
David Marchand
@@ -15,11 +15,9 @@ if not is_windows
endif
# we require SSE4.2 for DPDK
-sse_errormsg = '''SSE4.2 instruction set is required for DPDK.
-Please set the machine type to "nehalem" or "corei7" or higher value'''
-
if cc.get_define('__SSE4_2__', args: machine_args) == ''
- error(sse_errormsg)
+ message('SSE 4.2 not enabled by default, explicitly enabling')
+ machine_args += '-msse4'
endif
base_flags = ['SSE', 'SSE2', 'SSE3','SSSE3', 'SSE4_1', 'SSE4_2']