https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127083

            Bug ID: 127083
           Summary: gcc.target/i386/truncsfbf-1.c etc. FAIL
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: i386-pc-solaris2.11, x86_64-pc-solaris2.11

Several of the new gcc.target/i386/truncsfbf-?.c tests FAIL on Solaris/x86:

* With both as and gas:

FAIL: gcc.target/i386/truncsfbf-1.c check-function-bodies foo

  The difference between the Linux and Solaris versions is like

--- lx/truncsfbf-1.s.m32        2026-08-26 11:11:44.917926445 +0200
+++ truncsfbf-1.s.m32   2026-08-26 11:08:47.751837863 +0200
@@ -15,11 +15,10 @@

-       cmove   %ecx, %eax
+       cmovl.e %ecx, %eax

  Fixed in the attached partial patch.

FAIL: gcc.target/i386/truncsfbf-2.c execution test

bf16 -> float failed: 14, 9.999999e-39
bf16 -> float failed: 15, -9.999999e-39
bf16 -> float failed: 16, 1.170903e-38
bf16 -> float failed: 17, -1.170903e-38
bf16 -> float failed: 18, 1.175494e-38
bf16 -> float failed: 19, -1.175494e-38
bf16 -> float failed: 20, 1.170902e-38
bf16 -> float failed: 21, 4.999295e-39
bf16 -> float failed: 22, 1.175494e-38

* With as only:

FAIL: gcc.target/i386/truncsfbf-5.c (test for excess errors)
UNRESOLVED: gcc.target/i386/truncsfbf-5.c compilation failed to produce
executable

Assembler: truncsfbf-5.c
        "/var/tmp//cc3VpOdd.s", line 7 : Illegal usage of '}'
        "/var/tmp//cc3VpOdd.s", line 7 : Illegal mnemonic
        Near line: "    {vex} vcvtneps2bf16     %xmm0, %xmm0"
        "/var/tmp//cc3VpOdd.s", line 7 : Syntax error
        Near line: "    {vex} vcvtneps2bf16     %xmm0, %xmm0"
        "/var/tmp//cc3VpOdd.s", line 7 : Syntax error
        Near line: "    {vex} vcvtneps2bf16     %xmm0, %xmm0"

  Fixed by requiring avxneconvert as in the attached patch.

FAIL: gcc.target/i386/truncsfbf-6.c (test for excess errors)
UNRESOLVED: gcc.target/i386/truncsfbf-6.c compilation failed to produce
executable

Excess errors:
Assembler: truncsfbf-6.c
        "/var/tmp//ccsZrqlb.s", line 7 : Illegal mnemonic
        Near line: "    vcvtneps2bf16   %xmm0, %xmm0"
        "/var/tmp//ccsZrqlb.s", line 7 : Syntax error

  It seems the test needs to require both avx512vl and avx512bf16, but there
  seems to be no effective target for the latter.

Reply via email to