Description[turbofan][x64] Improve code generation for Float64LessThan with Float64Abs.
During instruction selection, match the pattern
Float64LessThan(#0.0, Float64Abs(x))
which TurboFan generates for NumberToBoolean in the general case,
and which evaluates to false if x is 0, -0 or NaN, and compile this
to a simple (v)ucomisd using not_equal flags condition, which avoids
the costly Float64Abs.
Also consistently generate this pattern in TurboFan and the code
stubs/interpreter for ToBoolean.
R=mstarzinger@chromium.org
BUG=v8:5267
Committed: https://crrev.com/cdf9a4062ec6aa8f7c180e3f3e9f5c7130eb199a
Cr-Commit-Position: refs/heads/master@{#40740}
Patch Set 1 #Patch Set 2 : Fix #Patch Set 3 : Fix for realz. #
Messages
Total messages: 25 (16 generated)
|