Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some floating point tests fail on arm-linux-(gnu,musl)eabi (soft float) #21234

Open
alexrp opened this issue Aug 28, 2024 · 0 comments
Open

Some floating point tests fail on arm-linux-(gnu,musl)eabi (soft float) #21234

alexrp opened this issue Aug 28, 2024 · 0 comments
Labels
arch-arm 32-bit ARM backend-llvm The LLVM backend outputs an LLVM IR Module. bug Observed behavior contradicts documented or intended behavior
Milestone

Comments

@alexrp
Copy link
Member

alexrp commented Aug 28, 2024

Zig Version

31fef6f

Steps to Reproduce and Observed Behavior

While working on fixing our soft float support, I discovered a handful of tests that fail on arm-linux-(gnu,musl)eabi (with the full soft ABI):

test-modules
└─ test-behavior
   └─ run test behavior-arm-linux.4.19...6.10.3-musleabi-baseline-Debug-libc 1833/1948 passed, 3 failed, 112 skipped
error: 'behavior.floatop.test.cmp f16' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x97047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:212:13: 0x2bd8db in testCmp__anon_48443 (test)
            try expect((lhs > rhs) == (no_nan and lhs_order > rhs_order));
            ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:130:5: 0x2bdaf3 in test.cmp f16 (test)
    try testCmp(f16);
    ^
error: 'behavior.floatop.test.cmp f32/f64' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x97047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:212:13: 0x2be5d3 in testCmp__anon_48513 (test)
            try expect((lhs > rhs) == (no_nan and lhs_order > rhs_order));
            ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:138:5: 0x2bf543 in test.cmp f32/f64 (test)
    try testCmp(f32);
    ^
error: 'behavior.math.test.NaN comparison' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x97047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/math.zig:1629:5: 0x314e1b in testNanEqNan__anon_54921 (test)
    try expect(!(nan1 > nan2));
    ^
/home/alexrp/Source/zig/test/behavior/math.zig:1601:5: 0x315aeb in test.NaN comparison (test)
    try testNanEqNan(f16);
    ^
error: while executing test 'behavior.usingnamespace.import_segregation.test.no clobbering happened', the following test command failed:
qemu-arm /home/alexrp/Source/zig/.zig-cache/o/b7e64fdef1247f410cec05ddfa4d88c5/test --seed=0xf34ffde3 --cache-dir=/home/alexrp/Source/zig/.zig-cache --listen=-
test-modules
└─ test-behavior
   └─ run test behavior-arm-linux.4.19...6.10.3-gnueabi.2.28-baseline-Debug-libc 1833/1948 passed, 3 failed, 112 skipped
error: 'behavior.floatop.test.cmp f16' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x8d047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:212:13: 0x2cdfdf in testCmp__anon_48439 (test)
            try expect((lhs > rhs) == (no_nan and lhs_order > rhs_order));
            ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:130:5: 0x2ce267 in test.cmp f16 (test)
    try testCmp(f16);
    ^
error: 'behavior.floatop.test.cmp f32/f64' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x8d047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:212:13: 0x2ced8b in testCmp__anon_48509 (test)
            try expect((lhs > rhs) == (no_nan and lhs_order > rhs_order));
            ^
/home/alexrp/Source/zig/test/behavior/floatop.zig:138:5: 0x2cfe1f in test.cmp f32/f64 (test)
    try testCmp(f32);
    ^
error: 'behavior.math.test.NaN comparison' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0x8d047 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/test/behavior/math.zig:1629:5: 0x32974f in testNanEqNan__anon_54917 (test)
    try expect(!(nan1 > nan2));
    ^
/home/alexrp/Source/zig/test/behavior/math.zig:1601:5: 0x32a52f in test.NaN comparison (test)
    try testNanEqNan(f16);
    ^
error: while executing test 'behavior.usingnamespace.import_segregation.test.no clobbering happened', the following test command failed:
qemu-arm -L /opt/glibc/arm-linux-gnueabi /home/alexrp/Source/zig/.zig-cache/o/1a002c0aa7925ec65f2e00d28fc9bc36/test --seed=0xf34ffde3 --cache-dir=/home/alexrp/Source/zig/.zig-cache --listen=-
test-modules
└─ test-std
   └─ run test std-arm-linux.4.19...6.10.3-musleabi-baseline-Debug-libc 2716/2793 passed, 1 failed, 76 skipped
error: 'math.gamma.test.gamma.special' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0xcc1ff7 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/lib/std/math/gamma.zig:266:9: 0x16bfe1f in test.gamma.special (test)
        try expect(std.math.isNan(gamma(T, -std.math.nan(T))));
        ^
error: while executing test 'zig.system.darwin.macos.test.detect', the following test command failed:
qemu-arm /home/alexrp/Source/zig/.zig-cache/o/1296de7f14df689d056a921f62d78997/test --seed=0xf34ffde3 --cache-dir=/home/alexrp/Source/zig/.zig-cache --listen=-
test-modules
└─ test-std
   └─ run test std-arm-linux.4.19...6.10.3-gnueabi.2.28-baseline-Debug-libc 2716/2793 passed, 1 failed, 76 skipped
error: 'math.gamma.test.gamma.special' failed: /home/alexrp/Source/zig/lib/std/testing.zig:546:14: 0xc7dbc3 in expect (test)
    if (!ok) return error.TestUnexpectedResult;
             ^
/home/alexrp/Source/zig/lib/std/math/gamma.zig:266:9: 0x17307db in test.gamma.special (test)
        try expect(std.math.isNan(gamma(T, -std.math.nan(T))));
        ^
error: while executing test 'zig.system.darwin.macos.test.detect', the following test command failed:
qemu-arm -L /opt/glibc/arm-linux-gnueabi /home/alexrp/Source/zig/.zig-cache/o/1e49820ec7797fa0d5933532abe069b9/test --seed=0xf34ffde3 --cache-dir=/home/alexrp/Source/zig/.zig-cache --listen=-

Expected Behavior

No failures.

@alexrp alexrp added the bug Observed behavior contradicts documented or intended behavior label Aug 28, 2024
alexrp added a commit to alexrp/zig that referenced this issue Sep 1, 2024
@Vexu Vexu added this to the 0.15.0 milestone Sep 1, 2024
@Vexu Vexu added the arch-arm 32-bit ARM label Sep 1, 2024
alexrp added a commit to alexrp/zig that referenced this issue Sep 6, 2024
DivergentClouds pushed a commit to DivergentClouds/zig that referenced this issue Sep 24, 2024
@alexrp alexrp added the backend-llvm The LLVM backend outputs an LLVM IR Module. label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm 32-bit ARM backend-llvm The LLVM backend outputs an LLVM IR Module. bug Observed behavior contradicts documented or intended behavior
Projects
None yet
Development

No branches or pull requests

2 participants