First of all, in order to build with clang at all, one must first apply
Valentin Obst's build fix for LLVM [1]. Once that is done, then when
building with clang, via:

    make LLVM=1 -C tools/testing/selftests

...the build fails because clang inline asm requires size suffixes for
instructions, including the fisttp instruction. In this case, the 16-bit
suffix 's' is missing.

Fix by adding an 's' (short) suffix in each place that it is missing.

[1] 
https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c...@valentinobst.de/

Signed-off-by: John Hubbard <[email protected]>
---
 tools/testing/selftests/x86/test_FISTTP.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/x86/test_FISTTP.c 
b/tools/testing/selftests/x86/test_FISTTP.c
index 09789c0ce3e9..b9ae9d8cebcb 100644
--- a/tools/testing/selftests/x86/test_FISTTP.c
+++ b/tools/testing/selftests/x86/test_FISTTP.c
@@ -25,7 +25,7 @@ int test(void)
        
feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
        asm volatile ("\n"
        "       fld1""\n"
-       "       fisttp  res16""\n"
+       "       fisttps res16""\n"
        "       fld1""\n"
        "       fisttpl res32""\n"
        "       fld1""\n"
@@ -45,7 +45,7 @@ int test(void)
        
feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
        asm volatile ("\n"
        "       fldpi""\n"
-       "       fisttp  res16""\n"
+       "       fisttps res16""\n"
        "       fldpi""\n"
        "       fisttpl res32""\n"
        "       fldpi""\n"
@@ -66,7 +66,7 @@ int test(void)
        asm volatile ("\n"
        "       fldpi""\n"
        "       fchs""\n"
-       "       fisttp  res16""\n"
+       "       fisttps res16""\n"
        "       fldpi""\n"
        "       fchs""\n"
        "       fisttpl res32""\n"
@@ -88,7 +88,7 @@ int test(void)
        
feclearexcept(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW);
        asm volatile ("\n"
        "       fldln2""\n"
-       "       fisttp  res16""\n"
+       "       fisttps res16""\n"
        "       fldln2""\n"
        "       fisttpl res32""\n"
        "       fldln2""\n"
-- 
2.45.1


Reply via email to