Hi Simon, On Thu, Sep 28, 2023 at 10:41 AM Simon Glass <[email protected]> wrote: > > Hi Bin, > > U-Boot 64-bit on x86 disables sse, but when enabling Truetype I get a > compiler error: > > drivers/video/console_truetype.c: In function 'frac': > drivers/video/console_truetype.c:30:15: error: SSE register return > with SSE disabled > 30 | static double frac(double val) > > Do you know how to enable SSE for 64-bit? >
The following patch could enable SSE for 64-bit: diff --git a/arch/x86/config.mk b/arch/x86/config.mk index 26ec1af2f0..250d7c9948 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -27,7 +27,7 @@ ifeq ($(IS_32BIT),y) PLATFORM_CPPFLAGS += -march=i386 -m32 else PLATFORM_CPPFLAGS += $(if $(CONFIG_SPL_BUILD),,-fpic) -fno-common -march=core2 -m64 -PLATFORM_CPPFLAGS += -mno-mmx -mno-sse +PLATFORM_CPPFLAGS += -mno-mmx endif However as Heinrich mentioned, U-Boot codes should be written in a "floating point free" way. The fix should really be updating console_truetype.c to use integers instead of using float/double. Regards, Bin

