-
Notifications
You must be signed in to change notification settings - Fork 396
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
TRIL tests on z/OS generates non-standard NaN formatting #7254
Comments
This is long known problem. I try to attack it in #5587 "Use custom function to format TRIL code" (not yet merged) |
Thanks @janvrany , @sarwat12 was working on handling NaN's correctly on Z. His PR (#7196) will enable the tril test on Linux on Z as the logic in the evaluator now simply return the operand which is NaN (So we would not generate any constant materialization). |
Yes, once my PR #5587 gets in (waiting for review) there would have to be hopefully trivial change needed on z/OS to support NaNs - see https://github.com/eclipse/omr/pull/5587/files#diff-b2afab503b2a84d6f6fa84b75d153dd38e53b5b15b40798548af6f0777a67b5cR467-R469 I decided to do one step at a time, first get make drop-in replacement for std::snprintf() and after that address these details in another PRs. |
While working on PR #7196 , we noticed that adding NaN value handling to the S390 float & double max/min evaluators seems to pass all the MaxMin.cpp tests on Linux on Z, but on z/OS, the tests with NaN operands keeps failing with the following exception:
The tests are failing most likely due to non-standard
nan
formatting where the TRIL generator raises an exception:std::snprintf("(dconst %f)", NAN)
yields(dconst nan)
on Linux/GCC, passing all the testsstd::snprintf("(dconst %f)", NAN)
yields(dconst NaNQ(1))
on zOS/XLC, where the tests fail.This leads to the Float/Double MaxMin tests currently being disabled on z/OS. Opening up this issue to keep track of potential fixes for the correct
NaN
formatting on z/OS. @r30shahThe text was updated successfully, but these errors were encountered: