diff mbox series

[OpenWrt-Devel] target: bump minimum CPU type to pentium-mmx

Message ID 20200112044434.633455-1-rosenp@gmail.com
State Accepted
Delegated to: Petr Štetiar
Headers show
Series [OpenWrt-Devel] target: bump minimum CPU type to pentium-mmx | expand

Commit Message

Rosen Penev Jan. 12, 2020, 4:44 a.m. UTC
f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86

The reason is that ffmpeg's x86 assembly requires at least MMX, which the
pentium CPU_TYPE was preventing.

Fixes ffmpeg compilation on x86_legacy and x86_geode.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 include/target.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Hauke Mehrtens Feb. 22, 2020, 2:13 p.m. UTC | #1
On 1/12/20 5:44 AM, Rosen Penev wrote:
> f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86
> 
> The reason is that ffmpeg's x86 assembly requires at least MMX, which the
> pentium CPU_TYPE was preventing.

As far as I understand it MMX is already needed and you just want to
rename the toolchain from pentium to pentium_mmx, is this correct?

> 
> Fixes ffmpeg compilation on x86_legacy and x86_geode.
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>  include/target.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/target.mk b/include/target.mk
> index a813ba2d2d..a30400c5bc 100644
> --- a/include/target.mk
> +++ b/include/target.mk
> @@ -177,8 +177,8 @@ ifeq ($(DUMP),1)
>      CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64
>    endif
>    ifeq ($(ARCH),i386)
> -    CPU_TYPE ?= pentium
> -    CPU_CFLAGS_pentium = -march=pentium-mmx
> +    CPU_TYPE ?= pentium-mmx
> +    CPU_CFLAGS_pentium-mmx = -march=pentium-mmx
>      CPU_CFLAGS_pentium4 = -march=pentium4
>    endif
>    ifneq ($(findstring arm,$(ARCH)),)
>
Rosen Penev Feb. 22, 2020, 10:27 p.m. UTC | #2
Sent from my iPhone

> On Feb 22, 2020, at 6:13 AM, Hauke Mehrtens <hauke@hauke-m.de> wrote:
> 
> On 1/12/20 5:44 AM, Rosen Penev wrote:
>> f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86
>> 
>> The reason is that ffmpeg's x86 assembly requires at least MMX, which the
>> pentium CPU_TYPE was preventing.
> 
> As far as I understand it MMX is already needed and you just want to
> rename the toolchain from pentium to pentium_mmx, is this correct?
Yeah. Changing the CPU_TYPE to pentium-mmx fixes NASM.
> 
>> 
>> Fixes ffmpeg compilation on x86_legacy and x86_geode.
>> 
>> Signed-off-by: Rosen Penev <rosenp@gmail.com>
>> ---
>> include/target.mk | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/include/target.mk b/include/target.mk
>> index a813ba2d2d..a30400c5bc 100644
>> --- a/include/target.mk
>> +++ b/include/target.mk
>> @@ -177,8 +177,8 @@ ifeq ($(DUMP),1)
>>     CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64
>>   endif
>>   ifeq ($(ARCH),i386)
>> -    CPU_TYPE ?= pentium
>> -    CPU_CFLAGS_pentium = -march=pentium-mmx
>> +    CPU_TYPE ?= pentium-mmx
>> +    CPU_CFLAGS_pentium-mmx = -march=pentium-mmx
>>     CPU_CFLAGS_pentium4 = -march=pentium4
>>   endif
>>   ifneq ($(findstring arm,$(ARCH)),)
>> 
> 
>
Hauke Mehrtens July 12, 2020, 4:58 p.m. UTC | #3
On 7/9/20 2:21 PM, Nick Lowe wrote:
> Hi all,
> 
> Might it be better to compile for march i686 and mtune i686 instead of
> pentium-mmx for both targets these days? Are there any devices anybody
> uses that are not i686 compatible?
> 
> AMD's Geode processors offer full i686 features. (The NOPL instruction
> has not been erroneously generated by binutils/GAS for a decade, it used
> to be a historical issue due to a bug
> there: https://gcc.gnu.org/legacy-ml/gcc/2010-08/msg00194.html)
> 
> Cheers,
> 
> Nick

Hi,

My initial concern was that the commit message was not really clear to me.

I think we can drop support for everything which does not support i686
(Pentium pro) instruction set.

GCC compiler option documentation:
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

Hauke
diff mbox series

Patch

diff --git a/include/target.mk b/include/target.mk
index a813ba2d2d..a30400c5bc 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -177,8 +177,8 @@  ifeq ($(DUMP),1)
     CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64
   endif
   ifeq ($(ARCH),i386)
-    CPU_TYPE ?= pentium
-    CPU_CFLAGS_pentium = -march=pentium-mmx
+    CPU_TYPE ?= pentium-mmx
+    CPU_CFLAGS_pentium-mmx = -march=pentium-mmx
     CPU_CFLAGS_pentium4 = -march=pentium4
   endif
   ifneq ($(findstring arm,$(ARCH)),)