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 simplifies comptime zero divided by runtime float #22749

Open
jacobly0 opened this issue Feb 4, 2025 · 0 comments
Open

Sema: incorrectly simplifies comptime zero divided by runtime float #22749

jacobly0 opened this issue Feb 4, 2025 · 0 comments
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 std = @import("std");
const nan = std.math.nan;
var rt_nan: @Vector(1, f32) = .{nan(f32)};
var rt_zero: @Vector(1, f32) = .{0};
const ct_zero: @Vector(1, f32) = .{0};
pub fn main() void {
    std.debug.print("{} {}\n", .{ @divTrunc(rt_zero, rt_nan), @divTrunc(ct_zero, rt_nan) });
    std.debug.print("{} {}\n", .{ @divFloor(rt_zero, rt_nan), @divFloor(ct_zero, rt_nan) });
}
$ zig run repro.zig
{ nan } { 0e0 }
{ nan } { 0e0 }

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
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