mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-19 01:01:31 -07:00
fix variable NaN comparisons
This commit is contained in:
@@ -2944,7 +2944,7 @@ gb_internal lbValue lb_emit_comp(lbProcedure *p, TokenKind op_kind, lbValue left
|
||||
case Token_GtEq: pred = LLVMRealOGE; break;
|
||||
case Token_Lt: pred = LLVMRealOLT; break;
|
||||
case Token_LtEq: pred = LLVMRealOLE; break;
|
||||
case Token_NotEq: pred = LLVMRealONE; break;
|
||||
case Token_NotEq: pred = LLVMRealUNE; break;
|
||||
}
|
||||
|
||||
if (is_type_different_to_arch_endianness(left.type)) {
|
||||
@@ -2972,7 +2972,7 @@ gb_internal lbValue lb_emit_comp(lbProcedure *p, TokenKind op_kind, lbValue left
|
||||
LLVMRealPredicate pred = {};
|
||||
switch (op_kind) {
|
||||
case Token_CmpEq: pred = LLVMRealOEQ; break;
|
||||
case Token_NotEq: pred = LLVMRealONE; break;
|
||||
case Token_NotEq: pred = LLVMRealUNE; break;
|
||||
}
|
||||
mask = LLVMBuildFCmp(p->builder, pred, left.value, right.value, "");
|
||||
} else {
|
||||
|
||||
@@ -1442,7 +1442,7 @@ gb_internal lbValue lb_build_builtin_simd_proc(lbProcedure *p, Ast *expr, TypeAn
|
||||
LLVMRealPredicate pred = cast(LLVMRealPredicate)0;
|
||||
switch (builtin_id) {
|
||||
case BuiltinProc_simd_lanes_eq: pred = LLVMRealOEQ; break;
|
||||
case BuiltinProc_simd_lanes_ne: pred = LLVMRealONE; break;
|
||||
case BuiltinProc_simd_lanes_ne: pred = LLVMRealUNE; break;
|
||||
case BuiltinProc_simd_lanes_lt: pred = LLVMRealOLT; break;
|
||||
case BuiltinProc_simd_lanes_le: pred = LLVMRealOLE; break;
|
||||
case BuiltinProc_simd_lanes_gt: pred = LLVMRealOGT; break;
|
||||
|
||||
Reference in New Issue
Block a user