* [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines @ 2019-01-25 0:52 ndesaulniers 2019-01-25 1:03 ` Matthias Kaehlcke ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: ndesaulniers @ 2019-01-25 0:52 UTC (permalink / raw) To: airlied, daniel Cc: Nick Desaulniers, stable, S, Shirish, Matthias Kaehlcke, James Y Knight, Nathan Chancellor, Guenter Roeck, Harry Wentland, Leo Li, Alex Deucher, Christian König, David (ChunMing) Zhou, Matthias Kaehlcke, Michel Dänzer, Tony Cheng, Dmytro Laktyushkin, amd-gfx, dri-devel, linux-kernel arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn on SSE2 to support emitting double precision floating point instructions rather than calls to non-existent (usually available from gcc_s or compiler_rt) floating point helper routines. Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html Link: https://github.com/ClangBuiltLinux/linux/issues/327 Cc: stable@vger.kernel.org # 4.19 Reported-by: S, Shirish <Shirish.S@amd.com> Reported-by: Matthias Kaehlcke <mka@google.com> Suggested-by: James Y Knight <jyknight@google.com> Suggested-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Tested-by: Guenter Roeck <linux@roeck-us.net> --- drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile index 95f332ee3e7e..dc85a3c088af 100644 --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) cc_stack_align := -mstack-alignment=16 endif -calcs_ccflags := -mhard-float -msse $(cc_stack_align) +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) CFLAGS_dcn_calcs.o := $(calcs_ccflags) CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile index d97ca6528f9d..33c7d7588712 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) cc_stack_align := -mstack-alignment=16 endif -dml_ccflags := -mhard-float -msse $(cc_stack_align) +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) CFLAGS_display_mode_lib.o := $(dml_ccflags) CFLAGS_display_pipe_clocks.o := $(dml_ccflags) -- 2.20.1.321.g9e740568ce-goog ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-25 0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers @ 2019-01-25 1:03 ` Matthias Kaehlcke 2019-01-25 1:21 ` Nathan Chancellor 2019-01-25 15:29 ` Wentland, Harry 2 siblings, 0 replies; 8+ messages in thread From: Matthias Kaehlcke @ 2019-01-25 1:03 UTC (permalink / raw) To: ndesaulniers Cc: airlied, daniel, stable, S, Shirish, James Y Knight, Nathan Chancellor, Guenter Roeck, Harry Wentland, Leo Li, Alex Deucher, Christian König, David (ChunMing) Zhou, Michel Dänzer, Tony Cheng, Dmytro Laktyushkin, amd-gfx, dri-devel, linux-kernel On Thu, Jan 24, 2019 at 04:52:59PM -0800, ndesaulniers@google.com wrote: > arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > on SSE2 to support emitting double precision floating point instructions > rather than calls to non-existent (usually available from gcc_s or > compiler_rt) floating point helper routines. > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > Link: https://github.com/ClangBuiltLinux/linux/issues/327 > Cc: stable@vger.kernel.org # 4.19 > Reported-by: S, Shirish <Shirish.S@amd.com> > Reported-by: Matthias Kaehlcke <mka@google.com> > Suggested-by: James Y Knight <jyknight@google.com> > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > Tested-by: Guenter Roeck <linux@roeck-us.net> > --- > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > index 95f332ee3e7e..dc85a3c088af 100644 > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_dcn_calcs.o := $(calcs_ccflags) > CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > index d97ca6528f9d..33c7d7588712 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -dml_ccflags := -mhard-float -msse $(cc_stack_align) > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_display_mode_lib.o := $(dml_ccflags) > CFLAGS_display_pipe_clocks.o := $(dml_ccflags) Tested-by: Matthias Kaehlcke <mka@chromium.org> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-25 0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers 2019-01-25 1:03 ` Matthias Kaehlcke @ 2019-01-25 1:21 ` Nathan Chancellor 2019-01-25 15:29 ` Wentland, Harry 2 siblings, 0 replies; 8+ messages in thread From: Nathan Chancellor @ 2019-01-25 1:21 UTC (permalink / raw) To: ndesaulniers Cc: airlied, daniel, stable, S, Shirish, Matthias Kaehlcke, James Y Knight, Guenter Roeck, Harry Wentland, Leo Li, Alex Deucher, Christian König, David (ChunMing) Zhou, Matthias Kaehlcke, Michel Dänzer, Tony Cheng, Dmytro Laktyushkin, amd-gfx, dri-devel, linux-kernel On Thu, Jan 24, 2019 at 04:52:59PM -0800, ndesaulniers@google.com wrote: > arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > on SSE2 to support emitting double precision floating point instructions > rather than calls to non-existent (usually available from gcc_s or > compiler_rt) floating point helper routines. > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > Link: https://github.com/ClangBuiltLinux/linux/issues/327 > Cc: stable@vger.kernel.org # 4.19 > Reported-by: S, Shirish <Shirish.S@amd.com> > Reported-by: Matthias Kaehlcke <mka@google.com> > Suggested-by: James Y Knight <jyknight@google.com> > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > Tested-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > index 95f332ee3e7e..dc85a3c088af 100644 > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_dcn_calcs.o := $(calcs_ccflags) > CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > index d97ca6528f9d..33c7d7588712 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -dml_ccflags := -mhard-float -msse $(cc_stack_align) > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_display_mode_lib.o := $(dml_ccflags) > CFLAGS_display_pipe_clocks.o := $(dml_ccflags) > -- > 2.20.1.321.g9e740568ce-goog > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-25 0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers 2019-01-25 1:03 ` Matthias Kaehlcke 2019-01-25 1:21 ` Nathan Chancellor @ 2019-01-25 15:29 ` Wentland, Harry 2019-01-29 15:30 ` Alex Deucher 2 siblings, 1 reply; 8+ messages in thread From: Wentland, Harry @ 2019-01-25 15:29 UTC (permalink / raw) To: ndesaulniers, airlied, daniel Cc: stable, S, S, Shirish, Matthias Kaehlcke, James Y Knight, Nathan Chancellor, Guenter Roeck, Li, Sun peng (Leo), Deucher, Alexander, Koenig, Christian, Zhou, David(ChunMing), Matthias Kaehlcke, Daenzer, Michel, Cheng, Tony, Laktyushkin, Dmytro, amd-gfx, dri-devel, linux-kernel On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote: > arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > on SSE2 to support emitting double precision floating point instructions > rather than calls to non-existent (usually available from gcc_s or > compiler_rt) floating point helper routines. > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > Link: https://github.com/ClangBuiltLinux/linux/issues/327 > Cc: stable@vger.kernel.org # 4.19 > Reported-by: S, Shirish <Shirish.S@amd.com> > Reported-by: Matthias Kaehlcke <mka@google.com> > Suggested-by: James Y Knight <jyknight@google.com> > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > Tested-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Harry Wentland <harry.wentland@amd.com> and applied. Harry > --- > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > index 95f332ee3e7e..dc85a3c088af 100644 > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_dcn_calcs.o := $(calcs_ccflags) > CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > index d97ca6528f9d..33c7d7588712 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > cc_stack_align := -mstack-alignment=16 > endif > > -dml_ccflags := -mhard-float -msse $(cc_stack_align) > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > CFLAGS_display_mode_lib.o := $(dml_ccflags) > CFLAGS_display_pipe_clocks.o := $(dml_ccflags) > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-25 15:29 ` Wentland, Harry @ 2019-01-29 15:30 ` Alex Deucher 2019-01-29 18:56 ` Guenter Roeck 0 siblings, 1 reply; 8+ messages in thread From: Alex Deucher @ 2019-01-29 15:30 UTC (permalink / raw) To: Wentland, Harry Cc: ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo), dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish, Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight, Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig, Christian, Guenter Roeck On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote: > > On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote: > > arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > > AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > > on SSE2 to support emitting double precision floating point instructions > > rather than calls to non-existent (usually available from gcc_s or > > compiler_rt) floating point helper routines. > > > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > > Link: https://github.com/ClangBuiltLinux/linux/issues/327 > > Cc: stable@vger.kernel.org # 4.19 > > Reported-by: S, Shirish <Shirish.S@amd.com> > > Reported-by: Matthias Kaehlcke <mka@google.com> > > Suggested-by: James Y Knight <jyknight@google.com> > > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > > Tested-by: Guenter Roeck <linux@roeck-us.net> > > Reviewed-by: Harry Wentland <harry.wentland@amd.com> > > and applied. > This patch causes a segfault: https://bugs.freedesktop.org/show_bug.cgi?id=109487 Any ideas? Alex > Harry > > > --- > > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > index 95f332ee3e7e..dc85a3c088af 100644 > > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > > cc_stack_align := -mstack-alignment=16 > > endif > > > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > > > CFLAGS_dcn_calcs.o := $(calcs_ccflags) > > CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > > index d97ca6528f9d..33c7d7588712 100644 > > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > > cc_stack_align := -mstack-alignment=16 > > endif > > > > -dml_ccflags := -mhard-float -msse $(cc_stack_align) > > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > > > CFLAGS_display_mode_lib.o := $(dml_ccflags) > > CFLAGS_display_pipe_clocks.o := $(dml_ccflags) > > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-29 15:30 ` Alex Deucher @ 2019-01-29 18:56 ` Guenter Roeck 2019-01-29 19:01 ` Wentland, Harry 0 siblings, 1 reply; 8+ messages in thread From: Guenter Roeck @ 2019-01-29 18:56 UTC (permalink / raw) To: Alex Deucher Cc: Wentland, Harry, ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo), dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish, Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight, Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig, Christian On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote: > On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote: > > > > On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote: > > > arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > > > AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > > > on SSE2 to support emitting double precision floating point instructions > > > rather than calls to non-existent (usually available from gcc_s or > > > compiler_rt) floating point helper routines. > > > > > > Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > > > Link: https://github.com/ClangBuiltLinux/linux/issues/327 > > > Cc: stable@vger.kernel.org # 4.19 > > > Reported-by: S, Shirish <Shirish.S@amd.com> > > > Reported-by: Matthias Kaehlcke <mka@google.com> > > > Suggested-by: James Y Knight <jyknight@google.com> > > > Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > > > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > > > Tested-by: Guenter Roeck <linux@roeck-us.net> > > > > Reviewed-by: Harry Wentland <harry.wentland@amd.com> > > > > and applied. > > > > This patch causes a segfault: > https://bugs.freedesktop.org/show_bug.cgi?id=109487 > > Any ideas? > Set -msse2 only for clang ? I suspect, though, that this might only solve the compile problem. If I understand correctly, the first warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that something is seriously wrong. Maybe enabling sse2 results in different results from floating point operations. Unfortunately I don't have a system with the affected GPU, so I can't run any tests on real hardware. Unless someone can test with real hardware, I think we have no choice but to revert the patch. Guenter > Alex > > > Harry > > > > > --- > > > drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > > > drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > > index 95f332ee3e7e..dc85a3c088af 100644 > > > --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > > +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > > > cc_stack_align := -mstack-alignment=16 > > > endif > > > > > > -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > > > +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > > > > > CFLAGS_dcn_calcs.o := $(calcs_ccflags) > > > CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > > > index d97ca6528f9d..33c7d7588712 100644 > > > --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > > > +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > > > @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > > > cc_stack_align := -mstack-alignment=16 > > > endif > > > > > > -dml_ccflags := -mhard-float -msse $(cc_stack_align) > > > +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > > > > > > CFLAGS_display_mode_lib.o := $(dml_ccflags) > > > CFLAGS_display_pipe_clocks.o := $(dml_ccflags) > > > > > _______________________________________________ > > amd-gfx mailing list > > amd-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-29 18:56 ` Guenter Roeck @ 2019-01-29 19:01 ` Wentland, Harry 2019-01-29 19:10 ` Nick Desaulniers 0 siblings, 1 reply; 8+ messages in thread From: Wentland, Harry @ 2019-01-29 19:01 UTC (permalink / raw) To: Guenter Roeck, Alex Deucher Cc: ndesaulniers, airlied, daniel, S, Laktyushkin, Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo), dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish, Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight, Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig, Christian On 2019-01-29 1:56 p.m., Guenter Roeck wrote: > On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote: >> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote: >>> >>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote: >>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The >>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn >>>> on SSE2 to support emitting double precision floating point instructions >>>> rather than calls to non-existent (usually available from gcc_s or >>>> compiler_rt) floating point helper routines. >>>> >>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html >>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327 >>>> Cc: stable@vger.kernel.org # 4.19 >>>> Reported-by: S, Shirish <Shirish.S@amd.com> >>>> Reported-by: Matthias Kaehlcke <mka@google.com> >>>> Suggested-by: James Y Knight <jyknight@google.com> >>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com> >>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> >>>> Tested-by: Guenter Roeck <linux@roeck-us.net> >>> >>> Reviewed-by: Harry Wentland <harry.wentland@amd.com> >>> >>> and applied. >>> >> >> This patch causes a segfault: >> https://bugs.freedesktop.org/show_bug.cgi?id=109487 >> >> Any ideas? >> > > Set -msse2 only for clang ? I suspect, though, that this might only > solve the compile problem. If I understand correctly, the first > warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that > something is seriously wrong. Maybe enabling sse2 results in different > results from floating point operations. > > Unfortunately I don't have a system with the affected GPU, > so I can't run any tests on real hardware. Unless someone can test > with real hardware, I think we have no choice but to revert the > patch. > Might be a good idea. Even though, best to revert for now until we understand what's going on. It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash. Harry > Guenter > >> Alex >> >>> Harry >>> >>>> --- >>>> drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- >>>> drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- >>>> 2 files changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile >>>> index 95f332ee3e7e..dc85a3c088af 100644 >>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile >>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) >>>> cc_stack_align := -mstack-alignment=16 >>>> endif >>>> >>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align) >>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) >>>> >>>> CFLAGS_dcn_calcs.o := $(calcs_ccflags) >>>> CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) >>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile >>>> index d97ca6528f9d..33c7d7588712 100644 >>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile >>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) >>>> cc_stack_align := -mstack-alignment=16 >>>> endif >>>> >>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align) >>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) >>>> >>>> CFLAGS_display_mode_lib.o := $(dml_ccflags) >>>> CFLAGS_display_pipe_clocks.o := $(dml_ccflags) >>>> >>> _______________________________________________ >>> amd-gfx mailing list >>> amd-gfx@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines 2019-01-29 19:01 ` Wentland, Harry @ 2019-01-29 19:10 ` Nick Desaulniers 0 siblings, 0 replies; 8+ messages in thread From: Nick Desaulniers @ 2019-01-29 19:10 UTC (permalink / raw) To: Wentland, Harry Cc: Guenter Roeck, Alex Deucher, airlied, daniel, S, Laktyushkin, Dmytro, Zhou, David(ChunMing), Li, Sun peng (Leo), dri-devel, Daenzer, Michel, linux-kernel, stable, S, Shirish, Matthias Kaehlcke, Matthias Kaehlcke, amd-gfx, James Y Knight, Deucher, Alexander, Nathan Chancellor, Cheng, Tony, Koenig, Christian Suggestions: 1. revert patch 2. get me the disassembly from gcc of the translation unit in question. 3. land patch that adds clang guards or something different based on 2. Revert first; ask questions later. On Tue, Jan 29, 2019 at 11:01 AM Wentland, Harry <Harry.Wentland@amd.com> wrote: > > On 2019-01-29 1:56 p.m., Guenter Roeck wrote: > > On Tue, Jan 29, 2019 at 10:30:31AM -0500, Alex Deucher wrote: > >> On Fri, Jan 25, 2019 at 10:29 AM Wentland, Harry <Harry.Wentland@amd.com> wrote: > >>> > >>> On 2019-01-24 7:52 p.m., ndesaulniers@google.com wrote: > >>>> arch/x86/Makefile disables SSE and SSE2 for the whole kernel. The > >>>> AMDGPU drivers modified in this patch re-enable SSE but not SSE2. Turn > >>>> on SSE2 to support emitting double precision floating point instructions > >>>> rather than calls to non-existent (usually available from gcc_s or > >>>> compiler_rt) floating point helper routines. > >>>> > >>>> Link: https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html > >>>> Link: https://github.com/ClangBuiltLinux/linux/issues/327 > >>>> Cc: stable@vger.kernel.org # 4.19 > >>>> Reported-by: S, Shirish <Shirish.S@amd.com> > >>>> Reported-by: Matthias Kaehlcke <mka@google.com> > >>>> Suggested-by: James Y Knight <jyknight@google.com> > >>>> Suggested-by: Nathan Chancellor <natechancellor@gmail.com> > >>>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > >>>> Tested-by: Guenter Roeck <linux@roeck-us.net> > >>> > >>> Reviewed-by: Harry Wentland <harry.wentland@amd.com> > >>> > >>> and applied. > >>> > >> > >> This patch causes a segfault: > >> https://bugs.freedesktop.org/show_bug.cgi?id=109487 > >> > >> Any ideas? > >> > > > > Set -msse2 only for clang ? I suspect, though, that this might only > > solve the compile problem. If I understand correctly, the first > > warning in the log is due to BREAK_TO_DEBUGGER(), suggesting that > > something is seriously wrong. Maybe enabling sse2 results in different > > results from floating point operations. > > > > Unfortunately I don't have a system with the affected GPU, > > so I can't run any tests on real hardware. Unless someone can test > > with real hardware, I think we have no choice but to revert the > > patch. > > > > Might be a good idea. Even though, best to revert for now until we understand what's going on. > > It seems like people at AMD building with gcc 5.4 are fine, but those using gcc 7.3 or 8.2 experience the crash. > > Harry > > > Guenter > > > >> Alex > >> > >>> Harry > >>> > >>>> --- > >>>> drivers/gpu/drm/amd/display/dc/calcs/Makefile | 2 +- > >>>> drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- > >>>> 2 files changed, 2 insertions(+), 2 deletions(-) > >>>> > >>>> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/Makefile b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > >>>> index 95f332ee3e7e..dc85a3c088af 100644 > >>>> --- a/drivers/gpu/drm/amd/display/dc/calcs/Makefile > >>>> +++ b/drivers/gpu/drm/amd/display/dc/calcs/Makefile > >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > >>>> cc_stack_align := -mstack-alignment=16 > >>>> endif > >>>> > >>>> -calcs_ccflags := -mhard-float -msse $(cc_stack_align) > >>>> +calcs_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > >>>> > >>>> CFLAGS_dcn_calcs.o := $(calcs_ccflags) > >>>> CFLAGS_dcn_calc_auto.o := $(calcs_ccflags) > >>>> diff --git a/drivers/gpu/drm/amd/display/dc/dml/Makefile b/drivers/gpu/drm/amd/display/dc/dml/Makefile > >>>> index d97ca6528f9d..33c7d7588712 100644 > >>>> --- a/drivers/gpu/drm/amd/display/dc/dml/Makefile > >>>> +++ b/drivers/gpu/drm/amd/display/dc/dml/Makefile > >>>> @@ -30,7 +30,7 @@ else ifneq ($(call cc-option, -mstack-alignment=16),) > >>>> cc_stack_align := -mstack-alignment=16 > >>>> endif > >>>> > >>>> -dml_ccflags := -mhard-float -msse $(cc_stack_align) > >>>> +dml_ccflags := -mhard-float -msse -msse2 $(cc_stack_align) > >>>> > >>>> CFLAGS_display_mode_lib.o := $(dml_ccflags) > >>>> CFLAGS_display_pipe_clocks.o := $(dml_ccflags) > >>>> > >>> _______________________________________________ > >>> amd-gfx mailing list > >>> amd-gfx@lists.freedesktop.org > >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx -- Thanks, ~Nick Desaulniers ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-01-29 19:10 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-01-25 0:52 [PATCH] drm/amd/display: add -msse2 to prevent Clang from emitting libcalls to undefined SW FP routines ndesaulniers 2019-01-25 1:03 ` Matthias Kaehlcke 2019-01-25 1:21 ` Nathan Chancellor 2019-01-25 15:29 ` Wentland, Harry 2019-01-29 15:30 ` Alex Deucher 2019-01-29 18:56 ` Guenter Roeck 2019-01-29 19:01 ` Wentland, Harry 2019-01-29 19:10 ` Nick Desaulniers
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).