asavonic added inline comments.

================
Comment at: clang/test/Sema/x86-no-x87.c:2
+// RUN: %clang_cc1 -fsyntax-only -verify %s -triple x86_64-linux-gnu 
-target-feature -x87
+// RUN: %clang_cc1 -fsyntax-only -verify %s -triple i686-linux-gnu 
-target-feature -x87
+// RUN: %clang_cc1 -fsyntax-only -verify %s -triple x86_64-windows-msvc 
-target-feature -x87 -DNOERROR
----------------
pengfei wrote:
> Should i686 expect no error like GCC?
GCC seems to fallback to soft-float for i686 if -mno-80387 is used:

  long double orig(long double x, long double y)
  {
    long double z = x + y;
    if (z < 0.0)
      return z;
    else
      return 0.0;
  }

i686-linux-gnu-gcc-8 -c -S -mno-80387 -O3:
          call  __addxf3@PLT
          [...]
          call  __ltxf2@PLT
          addl  $32, %esp
          testl %eax, %eax
          js    .L3
          xorl  %esi, %esi
          xorl  %edi, %edi
          xorl  %ebp, %ebp
  .L3:
          addl  $12, %esp
          movl  %esi, %eax
          movl  %edi, %edx
          movl  %ebp, %ecx
          popl  %ebx
          popl  %esi
          popl  %edi
          popl  %ebp
          ret

This looks like a different ABI.
X87 instructions are not used, so no error is reported.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98895/new/

https://reviews.llvm.org/D98895

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to