RFR: 8281518: New optimization: convert "(x|y)-(x^y)" into "x&y" [v2]
Zhiqiang Zang
duke at openjdk.java.net
Wed Feb 9 16:04:48 UTC 2022
> Convert `(x|y)-(x^y)` into `x&y`, in `SubINode::Ideal` and `SubLNode::Ideal`.
>
> The results of the microbenchmark are as follows:
>
> Baseline:
> Benchmark Mode Cnt Score Error Units
> SubIdeal_XOrY_Minus_XXorY_.baselineInt avgt 60 0.481 ± 0.003 ns/op
> SubIdeal_XOrY_Minus_XXorY_.baselineLong avgt 60 0.482 ± 0.004 ns/op
> SubIdeal_XOrY_Minus_XXorY_.testInt avgt 60 0.901 ± 0.007 ns/op
> SubIdeal_XOrY_Minus_XXorY_.testLong avgt 60 0.894 ± 0.004 ns/op
>
> Patch:
> Benchmark Mode Cnt Score Error Units
> SubIdeal_XOrY_Minus_XXorY_.baselineInt avgt 60 0.480 ± 0.003 ns/op
> SubIdeal_XOrY_Minus_XXorY_.baselineLong avgt 60 0.483 ± 0.005 ns/op
> SubIdeal_XOrY_Minus_XXorY_.testInt avgt 60 0.600 ± 0.004 ns/op
> SubIdeal_XOrY_Minus_XXorY_.testLong avgt 60 0.602 ± 0.004 ns/op
Zhiqiang Zang has updated the pull request incrementally with one additional commit since the last revision:
include bug id.
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7395/files
- new: https://git.openjdk.java.net/jdk/pull/7395/files/5e8fb4c7..5abc414f
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7395&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7395&range=00-01
Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/jdk/pull/7395.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7395/head:pull/7395
PR: https://git.openjdk.java.net/jdk/pull/7395
More information about the hotspot-compiler-dev
mailing list