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

Sema: incorrectly multiplies float vectors containing zeros at comptime #22743

Open
jacobly0 opened this issue Feb 4, 2025 · 0 comments
Open
Labels
bug Observed behavior contradicts documented or intended behavior frontend Tokenization, parsing, AstGen, Sema, and Liveness.
Milestone

Comments

@jacobly0
Copy link
Member

jacobly0 commented Feb 4, 2025

const nan = @import("std").math.nan;
comptime {
    @compileLog(nan(f32) * @as(f32, 0));
    @compileLog(@Vector(1, f32){nan(f32)} * @Vector(1, f32){0});
}
$ zig build-obj repro.zig
repro.zig:3:5: error: found compile log statement
    @compileLog(nan(f32) * @as(f32, 0));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Compile Log Output:
@as(f32, nan)
@as(@Vector(1, f32), .{ 0 })

As an added bonus for fixing this bug, you can delete the lines in test/behavior/x86_64/math.zig referencing this issue!

@jacobly0 jacobly0 added bug Observed behavior contradicts documented or intended behavior frontend Tokenization, parsing, AstGen, Sema, and Liveness. labels Feb 4, 2025
@jacobly0 jacobly0 added this to the 0.15.0 milestone Feb 4, 2025
@jacobly0 jacobly0 changed the title Sema: incorrectly multiplies float vectors containing zeros Sema: incorrectly multiplies float vectors containing zeros at comptime Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Observed behavior contradicts documented or intended behavior frontend Tokenization, parsing, AstGen, Sema, and Liveness.
Projects
None yet
Development

No branches or pull requests

1 participant