https://llvm.org/bugs/show_bug.cgi?id=28510
Bug ID: 28510 Summary: SSE compare float to integer _mm_comige_ss family of instructions has changed behavior Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: juj...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified STR: #include <xmmintrin.h> #include <math.h> #include <stdio.h> int main() { __m128 a = _mm_set1_ps(42.f); __m128 b = _mm_set1_ps(NAN); int equal = _mm_comieq_ss(a, b); printf("equal: %d\n", equal); } Clang/LLVM <= 3.8, GCCs and Visual Studios will print "equal: 1" as expected (although unintuitive), but the current Clang trunk will print "equal: 0" instead. We are currently discussing this change in behavior in https://github.com/kripken/emscripten/issues/4435 as well. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs