#501: t/op/trans.t failures with jit on *BSD
---------------------+------------------------------------------------------
Reporter: rg | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: core | Version: trunk
Severity: low | Keywords:
Lang: | Patch:
Platform: freebsd |
---------------------+------------------------------------------------------
FreeBSD/i386 jit is failing tests 10 (sinh), 11 (tanh) and 19 (pow):
{{{
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/op/trans.t 3 768 22 3 13.64% 10-11 19
}}}
I'm suspecting the same problem for all 3 failures (some kind of register
clobbering maybe, though i really have no idea), so I'm filing only this
one ticket for all 3 failures.
This bug has been previously filed as
[http://rt.perl.org/rt3/Public/Bug/Display.html?id=36086 RT#36086]
The smallest example I can give for the problem is this:
{{{
set N1, 1.0
set N3, 2.0 # remove this to make it work
sinh N2, N1
say N2
end
}}}
Currently the result varies (NaN or small number) depending on the value
in N1, but it's not the correct one. You can even use N2 (but not N1, you
need a second register) instead of N3 to trigger the problem. However, if
I replace sinh with cosh, I get the correct result (for cosh of course ;))
What I can't see is the difference between the two ops/calls/functions.
darbelo [http://irclog.perlgeek.de/parrot/2009-03-26#i_1017155 reported
the same problem for OpenBSD 4.5].
If anybody could give me a hint what to look for, I'd be happy to dig
further. For now, I'm out of ideas.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/501>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets