[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-core-libs-dev
Subject:    Re: RFR: 8266054: VectorAPI rotate operation optimization [v9]
From:       Jatin Bhateja <jbhateja () openjdk ! java ! net>
Date:       2021-06-30 11:02:41
Message-ID: NISLS29-RSnN4cZqyhx20Eou9qH2JFhD7UTmvO8pCGU=.79dcc9ed-4a6c-4bba-bac4-7923bd1cf230 () github ! com
[Download RAW message or body]

> Current VectorAPI Java side implementation expresses rotateLeft and rotateRight \
> operation using following operations:- 
> vec1 = lanewise(VectorOperators.LSHL, n)
> vec2 = lanewise(VectorOperators.LSHR, n)
> res = lanewise(VectorOperations.OR, vec1 , vec2)
> 
> This patch moves above handling from Java side to C2 compiler which facilitates \
> dismantling the rotate operation if target ISA does not support a direct rotate \
> instruction. 
> AVX512 added vector rotate instructions vpro[rl][v][dq] which operate over long and \
> integer type vectors. For other cases (i.e. sub-word type vectors or for targets \
> which do not support direct rotate operations )   instruction sequence comprising \
> of vector SHIFT (LEFT/RIGHT) and vector OR is emitted. 
> Please find below the performance data for included JMH benchmark.
> Machine:  Cascade Lake Server (Intel(R) Xeon(R) Platinum 8280 CPU @ 2.70GHz)
> 
> 
> Benchmark | (TESTSIZE) | Shift | Baseline AVX3 (ops/ms) | Withopt  AVX3 (ops/ms) | \
>                 Gain % | Baseline AVX2 (ops/ms) | Withopt AVX2 (ops/ms) | Gain %
> -- | -- | -- | -- | -- | -- | -- | -- | --
> > > > > > > > > 
> RotateBenchmark.testRotateLeftB | 128.00 | 7.00 | 17223.35 | 17094.69 | -0.75 | \
> 17008.32 | 17488.06 | 2.82 RotateBenchmark.testRotateLeftB | 128.00 | 7.00 | \
> 8944.98 | 8811.34 | -1.49 | 8878.17 | 9218.68 | 3.84 \
> RotateBenchmark.testRotateLeftB | 128.00 | 15.00 | 17195.75 | 17137.32 | -0.34 | \
> 16789.01 | 17780.34 | 5.90 RotateBenchmark.testRotateLeftB | 128.00 | 15.00 | \
> 9052.67 | 8838.60 | -2.36 | 8814.62 | 9206.01 | 4.44 \
> RotateBenchmark.testRotateLeftB | 128.00 | 31.00 | 17100.19 | 16950.64 | -0.87 | \
> 16827.73 | 17720.37 | 5.30 RotateBenchmark.testRotateLeftB | 128.00 | 31.00 | \
> 9079.95 | 8471.26 | -6.70 | 8888.44 | 9167.68 | 3.14 \
> RotateBenchmark.testRotateLeftB | 256.00 | 7.00 | 21231.33 | 21513.08 | 1.33 | \
> 21824.51 | 21479.48 | -1.58 RotateBenchmark.testRotateLeftB | 256.00 | 7.00 | \
> 11103.62 | 11180.16 | 0.69 | 11173.67 | 11529.22 | 3.18 \
> RotateBenchmark.testRotateLeftB | 256.00 | 15.00 | 21119.14 | 21552.04 | 2.05 | \
> 21693.05 | 21915.37 | 1.02 RotateBenchmark.testRotateLeftB | 256.00 | 15.00 | \
> 11048.68 | 11094.20 | 0.41 | 11049.90 | 11439.07 | 3.52 \
> RotateBenchmark.testRotateLeftB | 256.00 | 31.00 | 21506.31 | 21391.41 | -0.53 | \
> 21263.18 | 21986.29 | 3.40 RotateBenchmark.testRotateLeftB | 256.00 | 31.00 | \
> 11056.12 | 11232.78 | 1.60 | 10941.59 | 11397.09 | 4.16 \
> RotateBenchmark.testRotateLeftB | 512.00 | 7.00 | 17976.56 | 18180.85 | 1.14 | \
> 1212.26 | 2533.34 | 108.98 RotateBenchmark.testRotateLeftB | 512.00 | 15.00 | \
> 17553.70 | 18219.07 | 3.79 | 1256.73 | 2537.41 | 101.91 \
> RotateBenchmark.testRotateLeftB | 512.00 | 31.00 | 17618.03 | 17738.15 | 0.68 | \
> 1214.69 | 2533.83 | 108.60 RotateBenchmark.testRotateLeftI | 128.00 | 7.00 | \
> 7258.87 | 7468.88 | 2.89 | 7115.12 | 7117.26 | 0.03 RotateBenchmark.testRotateLeftI \
> | 128.00 | 7.00 | 3586.65 | 3950.85 | 10.15 | 3532.17 | 3595.80 | 1.80 \
> RotateBenchmark.testRotateLeftI | 128.00 | 7.00 | 1835.07 | 1999.68 | 8.97 | \
> 1789.90 | 1819.93 | 1.68 RotateBenchmark.testRotateLeftI | 128.00 | 15.00 | 7273.36 \
> | 7410.91 | 1.89 | 7198.60 | 6994.79 | -2.83 RotateBenchmark.testRotateLeftI | \
> 128.00 | 15.00 | 3674.98 | 3926.27 | 6.84 | 3549.90 | 3755.09 | 5.78 \
> RotateBenchmark.testRotateLeftI | 128.00 | 15.00 | 1840.94 | 1882.25 | 2.24 | \
> 1801.56 | 1872.89 | 3.96 RotateBenchmark.testRotateLeftI | 128.00 | 31.00 | 7457.11 \
> | 7361.48 | -1.28 | 6975.33 | 7385.94 | 5.89 RotateBenchmark.testRotateLeftI | \
> 128.00 | 31.00 | 3570.74 | 3929.30 | 10.04 | 3635.37 | 3736.67 | 2.79 \
> RotateBenchmark.testRotateLeftI | 128.00 | 31.00 | 1902.32 | 1960.46 | 3.06 | \
> 1812.32 | 1813.88 | 0.09 RotateBenchmark.testRotateLeftI | 256.00 | 7.00 | 11174.24 \
> | 12044.52 | 7.79 | 11509.87 | 11273.44 | -2.05 RotateBenchmark.testRotateLeftI | \
> 256.00 | 7.00 | 5981.47 | 6073.70 | 1.54 | 5593.66 | 5661.93 | 1.22 \
> RotateBenchmark.testRotateLeftI | 256.00 | 7.00 | 2932.49 | 3069.54 | 4.67 | \
> 2950.86 | 2892.42 | -1.98 RotateBenchmark.testRotateLeftI | 256.00 | 15.00 | \
> 11764.11 | 12098.63 | 2.84 | 11069.52 | 11476.93 | 3.68 \
> RotateBenchmark.testRotateLeftI | 256.00 | 15.00 | 5855.20 | 6080.40 | 3.85 | \
> 5919.11 | 5607.04 | -5.27 RotateBenchmark.testRotateLeftI | 256.00 | 15.00 | \
> 2989.05 | 3048.56 | 1.99 | 2902.63 | 2821.83 | -2.78 \
> RotateBenchmark.testRotateLeftI | 256.00 | 31.00 | 11652.84 | 11965.40 | 2.68 | \
> 11525.62 | 11459.83 | -0.57 RotateBenchmark.testRotateLeftI | 256.00 | 31.00 | \
> 5851.82 | 6164.94 | 5.35 | 5882.60 | 5842.30 | -0.69 \
> RotateBenchmark.testRotateLeftI | 256.00 | 31.00 | 3015.99 | 3043.79 | 0.92 | \
> 2963.71 | 2947.97 | -0.53 RotateBenchmark.testRotateLeftI | 512.00 | 7.00 | \
> 16029.15 | 16189.79 | 1.00 | 860.43 | 2339.32 | 171.88 \
> RotateBenchmark.testRotateLeftI | 512.00 | 7.00 | 8078.25 | 8081.84 | 0.04 | 427.39 \
> | 1147.92 | 168.59 RotateBenchmark.testRotateLeftI | 512.00 | 7.00 | 4021.49 | \
> 4294.03 | 6.78 | 209.25 | 582.28 | 178.27 RotateBenchmark.testRotateLeftI | 512.00 \
> | 15.00 | 15912.98 | 16329.03 | 2.61 | 848.23 | 2296.78 | 170.77 \
> RotateBenchmark.testRotateLeftI | 512.00 | 15.00 | 8054.10 | 8306.37 | 3.13 | \
> 429.93 | 1146.90 | 166.77 RotateBenchmark.testRotateLeftI | 512.00 | 15.00 | \
> 4102.58 | 4071.08 | -0.77 | 217.86 | 582.20 | 167.24 \
> RotateBenchmark.testRotateLeftI | 512.00 | 31.00 | 16177.79 | 16287.85 | 0.68 | \
> 857.84 | 2243.15 | 161.49 RotateBenchmark.testRotateLeftI | 512.00 | 31.00 | \
> 8187.47 | 8410.48 | 2.72 | 434.60 | 1128.20 | 159.60 \
> RotateBenchmark.testRotateLeftI | 512.00 | 31.00 | 4109.15 | 4233.80 | 3.03 | \
> 208.71 | 572.43 | 174.27 RotateBenchmark.testRotateLeftL | 128.00 | 7.00 | 3755.09 \
> | 3930.29 | 4.67 | 3604.19 | 3598.47 | -0.16 RotateBenchmark.testRotateLeftL | \
> 128.00 | 7.00 | 1829.03 | 1957.39 | 7.02 | 1833.95 | 1808.38 | -1.39 \
> RotateBenchmark.testRotateLeftL | 128.00 | 7.00 | 915.35 | 970.55 | 6.03 | 916.25 | \
> 899.08 | -1.87 RotateBenchmark.testRotateLeftL | 128.00 | 15.00 | 3664.85 | 3812.26 \
> | 4.02 | 3629.37 | 3579.23 | -1.38 RotateBenchmark.testRotateLeftL | 128.00 | 15.00 \
> | 1829.51 | 1877.76 | 2.64 | 1781.05 | 1807.57 | 1.49 \
> RotateBenchmark.testRotateLeftL | 128.00 | 15.00 | 913.37 | 953.42 | 4.38 | 912.26 \
> | 908.73 | -0.39 RotateBenchmark.testRotateLeftL | 128.00 | 31.00 | 3648.45 | \
> 3899.20 | 6.87 | 3552.67 | 3581.04 | 0.80 RotateBenchmark.testRotateLeftL | 128.00 \
> | 31.00 | 1816.50 | 1959.68 | 7.88 | 1820.88 | 1819.71 | -0.06 \
> RotateBenchmark.testRotateLeftL | 128.00 | 31.00 | 901.05 | 955.13 | 6.00 | 913.74 \
> | 907.90 | -0.64 RotateBenchmark.testRotateLeftL | 256.00 | 7.00 | 5850.99 | \
> 6108.64 | 4.40 | 5882.65 | 5755.21 | -2.17 RotateBenchmark.testRotateLeftL | 256.00 \
> | 7.00 | 2962.21 | 3060.47 | 3.32 | 2955.20 | 2909.18 | -1.56 \
> RotateBenchmark.testRotateLeftL | 256.00 | 7.00 | 1480.46 | 1534.72 | 3.66 | \
> 1467.78 | 1430.60 | -2.53 RotateBenchmark.testRotateLeftL | 256.00 | 15.00 | \
> 5858.23 | 6047.51 | 3.23 | 5770.02 | 5773.19 | 0.05 RotateBenchmark.testRotateLeftL \
> | 256.00 | 15.00 | 2951.49 | 3096.53 | 4.91 | 2885.21 | 2899.31 | 0.49 \
> RotateBenchmark.testRotateLeftL | 256.00 | 15.00 | 1486.26 | 1527.94 | 2.80 | \
> 1441.93 | 1454.25 | 0.85 RotateBenchmark.testRotateLeftL | 256.00 | 31.00 | 5873.21 \
> | 6089.75 | 3.69 | 5767.58 | 5664.11 | -1.79 RotateBenchmark.testRotateLeftL | \
> 256.00 | 31.00 | 2969.67 | 3081.39 | 3.76 | 2878.50 | 2905.86 | 0.95 \
> RotateBenchmark.testRotateLeftL | 256.00 | 31.00 | 1452.21 | 1520.03 | 4.67 | \
> 1430.30 | 1485.63 | 3.87 RotateBenchmark.testRotateLeftL | 512.00 | 7.00 | 8088.65 \
> | 8443.63 | 4.39 | 455.67 | 1226.33 | 169.13 RotateBenchmark.testRotateLeftL | \
> 512.00 | 7.00 | 4011.95 | 4120.25 | 2.70 | 229.77 | 619.87 | 169.77 \
> RotateBenchmark.testRotateLeftL | 512.00 | 7.00 | 2090.57 | 2109.53 | 0.91 | 115.21 \
> | 310.36 | 169.37 RotateBenchmark.testRotateLeftL | 512.00 | 15.00 | 8166.84 | \
> 8557.28 | 4.78 | 457.67 | 1242.86 | 171.56 RotateBenchmark.testRotateLeftL | 512.00 \
> | 15.00 | 4137.02 | 4287.95 | 3.65 | 227.26 | 624.80 | 174.93 \
> RotateBenchmark.testRotateLeftL | 512.00 | 15.00 | 2095.01 | 2102.86 | 0.37 | \
> 114.26 | 310.83 | 172.03 RotateBenchmark.testRotateLeftL | 512.00 | 31.00 | 8082.68 \
> | 8400.56 | 3.93 | 459.59 | 1230.07 | 167.64 RotateBenchmark.testRotateLeftL | \
> 512.00 | 31.00 | 4047.67 | 4147.58 | 2.47 | 229.01 | 606.38 | 164.78 \
> RotateBenchmark.testRotateLeftL | 512.00 | 31.00 | 2086.83 | 2126.72 | 1.91 | \
> 111.93 | 305.66 | 173.08 RotateBenchmark.testRotateLeftS | 128.00 | 7.00 | 13597.19 \
> | 13255.09 | -2.52 | 13818.39 | 13242.40 | -4.17 RotateBenchmark.testRotateLeftS | \
> 128.00 | 7.00 | 7028.26 | 6826.59 | -2.87 | 6765.15 | 6907.87 | 2.11 \
> RotateBenchmark.testRotateLeftS | 128.00 | 7.00 | 3570.40 | 3468.01 | -2.87 | \
> 3449.66 | 3533.50 | 2.43 RotateBenchmark.testRotateLeftS | 128.00 | 15.00 | \
> 13615.99 | 13464.40 | -1.11 | 13330.02 | 13870.57 | 4.06 \
> RotateBenchmark.testRotateLeftS | 128.00 | 15.00 | 7043.31 | 6763.34 | -3.97 | \
> 6928.88 | 7063.57 | 1.94 RotateBenchmark.testRotateLeftS | 128.00 | 15.00 | 3495.12 \
> | 3537.62 | 1.22 | 3503.41 | 3457.67 | -1.31 RotateBenchmark.testRotateLeftS | \
> 128.00 | 31.00 | 13591.66 | 13665.84 | 0.55 | 13773.27 | 13126.08 | -4.70 \
> RotateBenchmark.testRotateLeftS | 128.00 | 31.00 | 7027.08 | 7011.24 | -0.23 | \
> 6974.98 | 6815.50 | -2.29 RotateBenchmark.testRotateLeftS | 128.00 | 31.00 | \
> 3568.28 | 3569.62 | 0.04 | 3580.67 | 3463.58 | -3.27 \
> RotateBenchmark.testRotateLeftS | 256.00 | 7.00 | 21154.03 | 21416.32 | 1.24 | \
> 21187.01 | 21401.61 | 1.01 RotateBenchmark.testRotateLeftS | 256.00 | 7.00 | \
> 11194.24 | 10865.47 | -2.94 | 11063.19 | 10977.60 | -0.77 \
> RotateBenchmark.testRotateLeftS | 256.00 | 7.00 | 5797.80 | 5523.94 | -4.72 | \
> 5654.63 | 5468.78 | -3.29 RotateBenchmark.testRotateLeftS | 256.00 | 15.00 | \
> 21333.89 | 21412.74 | 0.37 | 21610.94 | 20908.96 | -3.25 \
> RotateBenchmark.testRotateLeftS | 256.00 | 15.00 | 11327.07 | 11113.48 | -1.89 | \
> 11148.25 | 10678.14 | -4.22 RotateBenchmark.testRotateLeftS | 256.00 | 15.00 | \
> 5810.69 | 5569.72 | -4.15 | 5663.26 | 5618.87 | -0.78 \
> RotateBenchmark.testRotateLeftS | 256.00 | 31.00 | 21753.20 | 21198.43 | -2.55 | \
> 21567.90 | 21929.81 | 1.68 RotateBenchmark.testRotateLeftS | 256.00 | 31.00 | \
> 11517.08 | 11039.64 | -4.15 | 11103.08 | 10871.59 | -2.08 \
> RotateBenchmark.testRotateLeftS | 256.00 | 31.00 | 5897.16 | 5606.75 | -4.92 | \
> 5459.87 | 5604.12 | 2.64 RotateBenchmark.testRotateLeftS | 512.00 | 7.00 | 29748.53 \
> | 28883.73 | -2.91 | 1549.02 | 3928.53 | 153.61 RotateBenchmark.testRotateLeftS | \
> 512.00 | 7.00 | 15197.09 | 15878.19 | 4.48 | 772.59 | 1924.35 | 149.08 \
> RotateBenchmark.testRotateLeftS | 512.00 | 7.00 | 8046.30 | 8081.19 | 0.43 | 388.11 \
> | 990.28 | 155.16 RotateBenchmark.testRotateLeftS | 512.00 | 15.00 | 30618.04 | \
> 29419.19 | -3.92 | 1524.22 | 3915.97 | 156.92 RotateBenchmark.testRotateLeftS | \
> 512.00 | 15.00 | 15854.43 | 15846.37 | -0.05 | 766.09 | 1953.60 | 155.01 \
> RotateBenchmark.testRotateLeftS | 512.00 | 15.00 | 7814.77 | 7899.30 | 1.08 | \
> 390.82 | 970.37 | 148.29 RotateBenchmark.testRotateLeftS | 512.00 | 31.00 | \
> 29596.82 | 28538.69 | -3.58 | 1530.45 | 3906.91 | 155.28 \
> RotateBenchmark.testRotateLeftS | 512.00 | 31.00 | 15662.48 | 15849.25 | 1.19 | \
> 778.08 | 1934.31 | 148.60 RotateBenchmark.testRotateLeftS | 512.00 | 31.00 | \
> 8121.14 | 7758.59 | -4.46 | 392.78 | 959.73 | 144.34 \
> RotateBenchmark.testRotateRightB | 128.00 | 7.00 | 17465.84 | 17069.34 | -2.27 | \
> 16849.73 | 17842.08 | 5.89 RotateBenchmark.testRotateRightB | 128.00 | 7.00 | \
> 9049.19 | 8864.15 | -2.04 | 8786.67 | 9105.34 | 3.63 \
> RotateBenchmark.testRotateRightB | 128.00 | 15.00 | 17703.38 | 17070.98 | -3.57 | \
> 16595.85 | 17784.68 | 7.16 RotateBenchmark.testRotateRightB | 128.00 | 15.00 | \
> 9007.68 | 8817.41 | -2.11 | 8704.49 | 9185.87 | 5.53 \
> RotateBenchmark.testRotateRightB | 128.00 | 31.00 | 17531.05 | 16983.40 | -3.12 | \
> 16947.69 | 17655.40 | 4.18 RotateBenchmark.testRotateRightB | 128.00 | 31.00 | \
> 8986.30 | 8794.15 | -2.14 | 8816.62 | 9225.95 | 4.64 \
> RotateBenchmark.testRotateRightB | 256.00 | 7.00 | 21293.95 | 21506.74 | 1.00 | \
> 21163.29 | 21854.03 | 3.26 RotateBenchmark.testRotateRightB | 256.00 | 7.00 | \
> 11258.47 | 11072.92 | -1.65 | 11118.12 | 11338.96 | 1.99 \
> RotateBenchmark.testRotateRightB | 256.00 | 15.00 | 21253.36 | 21292.37 | 0.18 | \
> 21224.39 | 21763.88 | 2.54 RotateBenchmark.testRotateRightB | 256.00 | 15.00 | \
> 11064.80 | 11198.35 | 1.21 | 10960.98 | 11294.14 | 3.04 \
> RotateBenchmark.testRotateRightB | 256.00 | 31.00 | 21358.14 | 21346.21 | -0.06 | \
> 21487.25 | 21854.42 | 1.71 RotateBenchmark.testRotateRightB | 256.00 | 31.00 | \
> 11045.61 | 11208.26 | 1.47 | 10907.03 | 11415.18 | 4.66 \
> RotateBenchmark.testRotateRightB | 512.00 | 7.00 | 17898.61 | 18307.54 | 2.28 | \
> 1214.65 | 2546.64 | 109.66 RotateBenchmark.testRotateRightB | 512.00 | 15.00 | \
> 17909.25 | 18242.51 | 1.86 | 1215.05 | 2563.98 | 111.02 \
> RotateBenchmark.testRotateRightB | 512.00 | 31.00 | 17883.35 | 17928.44 | 0.25 | \
> 1220.77 | 2543.30 | 108.34 RotateBenchmark.testRotateRightI | 128.00 | 7.00 | \
> 7139.97 | 7626.72 | 6.82 | 6994.86 | 7075.65 | 1.15 \
> RotateBenchmark.testRotateRightI | 128.00 | 7.00 | 3657.37 | 3898.34 | 6.59 | \
> 3617.06 | 3576.12 | -1.13 RotateBenchmark.testRotateRightI | 128.00 | 7.00 | \
> 1804.26 | 1969.19 | 9.14 | 1796.62 | 1858.84 | 3.46 \
> RotateBenchmark.testRotateRightI | 128.00 | 15.00 | 7404.31 | 7760.09 | 4.80 | \
> 7036.77 | 7401.52 | 5.18 RotateBenchmark.testRotateRightI | 128.00 | 15.00 | \
> 3600.52 | 3956.35 | 9.88 | 3595.28 | 3560.36 | -0.97 \
> RotateBenchmark.testRotateRightI | 128.00 | 15.00 | 1813.32 | 1966.41 | 8.44 | \
> 1839.95 | 1852.53 | 0.68 RotateBenchmark.testRotateRightI | 128.00 | 31.00 | \
> 7118.48 | 7724.81 | 8.52 | 7151.56 | 7021.09 | -1.82 \
> RotateBenchmark.testRotateRightI | 128.00 | 31.00 | 3529.70 | 3881.63 | 9.97 | \
> 3623.08 | 3601.01 | -0.61 RotateBenchmark.testRotateRightI | 128.00 | 31.00 | \
> 1823.61 | 1961.34 | 7.55 | 1786.86 | 1748.85 | -2.13 \
> RotateBenchmark.testRotateRightI | 256.00 | 7.00 | 11697.98 | 11835.25 | 1.17 | \
> 11513.16 | 11184.87 | -2.85 RotateBenchmark.testRotateRightI | 256.00 | 7.00 | \
> 5890.11 | 6102.57 | 3.61 | 5658.79 | 5696.08 | 0.66 \
> RotateBenchmark.testRotateRightI | 256.00 | 7.00 | 2964.94 | 3070.26 | 3.55 | \
> 2945.00 | 2962.08 | 0.58 RotateBenchmark.testRotateRightI | 256.00 | 15.00 | \
> 11562.51 | 12151.29 | 5.09 | 11404.17 | 11120.28 | -2.49 \
> RotateBenchmark.testRotateRightI | 256.00 | 15.00 | 5702.93 | 6130.57 | 7.50 | \
> 5799.54 | 5779.08 | -0.35 RotateBenchmark.testRotateRightI | 256.00 | 15.00 | \
> 2861.96 | 3051.44 | 6.62 | 2943.99 | 2860.65 | -2.83 \
> RotateBenchmark.testRotateRightI | 256.00 | 31.00 | 11203.13 | 11710.59 | 4.53 | \
> 11363.18 | 11112.16 | -2.21 RotateBenchmark.testRotateRightI | 256.00 | 31.00 | \
> 5893.97 | 6070.71 | 3.00 | 5776.67 | 5648.84 | -2.21 \
> RotateBenchmark.testRotateRightI | 256.00 | 31.00 | 2971.83 | 3046.76 | 2.52 | \
> 2903.35 | 2833.88 | -2.39 RotateBenchmark.testRotateRightI | 512.00 | 7.00 | \
> 16064.71 | 15851.35 | -1.33 | 861.93 | 2256.88 | 161.84 \
> RotateBenchmark.testRotateRightI | 512.00 | 7.00 | 7916.80 | 8462.65 | 6.89 | \
> 430.23 | 1147.30 | 166.67 RotateBenchmark.testRotateRightI | 512.00 | 7.00 | \
> 4104.64 | 4068.28 | -0.89 | 216.30 | 572.86 | 164.84 \
> RotateBenchmark.testRotateRightI | 512.00 | 15.00 | 16133.09 | 16281.59 | 0.92 | \
> 856.36 | 2229.58 | 160.35 RotateBenchmark.testRotateRightI | 512.00 | 15.00 | \
> 8127.26 | 8117.59 | -0.12 | 419.16 | 1176.42 | 180.66 \
> RotateBenchmark.testRotateRightI | 512.00 | 15.00 | 4080.11 | 4063.26 | -0.41 | \
> 218.32 | 571.93 | 161.97 RotateBenchmark.testRotateRightI | 512.00 | 31.00 | \
> 15834.26 | 16314.64 | 3.03 | 865.96 | 2297.74 | 165.34 \
> RotateBenchmark.testRotateRightI | 512.00 | 31.00 | 7965.62 | 8270.48 | 3.83 | \
> 428.55 | 1148.87 | 168.08 RotateBenchmark.testRotateRightI | 512.00 | 31.00 | \
> 4161.69 | 4034.76 | -3.05 | 215.63 | 570.19 | 164.43 \
> RotateBenchmark.testRotateRightL | 128.00 | 7.00 | 3556.70 | 3877.08 | 9.01 | \
> 3596.46 | 3558.32 | -1.06 RotateBenchmark.testRotateRightL | 128.00 | 7.00 | \
> 1772.93 | 1993.86 | 12.46 | 1856.79 | 1783.22 | -3.96 \
> RotateBenchmark.testRotateRightL | 128.00 | 7.00 | 908.66 | 1000.37 | 10.09 | \
> RotateBenchmark.testRotateRightL | 128.00 | 15.00 | 1817.53 | 1985.69 | 9.25 | \
> 1892.38 | 1833.16 | -3.13 RotateBenchmark.testRotateRightL | 128.00 | 15.00 | \
> 941.03 | 952.68 | 1.24 | 915.79 | 910.21 | -0.61 RotateBenchmark.testRotateRightL | \
> 128.00 | 31.00 | 3649.48 | 3896.56 | 6.77 | 3637.59 | 3557.53 | -2.20 \
> RotateBenchmark.testRotateRightL | 128.00 | 31.00 | 1840.12 | 1997.19 | 8.54 | \
> 1821.47 | 1799.82 | -1.19 RotateBenchmark.testRotateRightL | 128.00 | 31.00 | \
> 901.33 | 995.67 | 10.47 | 909.20 | 902.73 | -0.71 RotateBenchmark.testRotateRightL \
> | 256.00 | 7.00 | 5789.93 | 5960.54 | 2.95 | 5758.14 | 5736.30 | -0.38 \
> RotateBenchmark.testRotateRightL | 256.00 | 7.00 | 2963.20 | 3063.30 | 3.38 | \
> 2943.48 | 2833.84 | -3.72 RotateBenchmark.testRotateRightL | 256.00 | 7.00 | \
> 1501.81 | 1510.23 | 0.56 | 1463.85 | 1462.26 | -0.11 \
> RotateBenchmark.testRotateRightL | 256.00 | 15.00 | 5870.05 | 5951.43 | 1.39 | \
> 5794.74 | 5604.58 | -3.28 RotateBenchmark.testRotateRightL | 256.00 | 15.00 | \
> 2971.36 | 3047.00 | 2.55 | 2931.19 | 2907.30 | -0.82 \
> RotateBenchmark.testRotateRightL | 256.00 | 15.00 | 1473.97 | 1530.54 | 3.84 | \
> 1473.45 | 1442.40 | -2.11 RotateBenchmark.testRotateRightL | 256.00 | 31.00 | \
> 5858.08 | 6080.49 | 3.80 | 5863.69 | 5549.85 | -5.35 \
> RotateBenchmark.testRotateRightL | 256.00 | 31.00 | 2916.24 | 3045.77 | 4.44 | \
> 2981.59 | 2815.07 | -5.58 RotateBenchmark.testRotateRightL | 256.00 | 31.00 | \
> 1441.20 | 1531.56 | 6.27 | 1492.47 | 1473.25 | -1.29 \
> RotateBenchmark.testRotateRightL | 512.00 | 7.00 | 8147.24 | 8310.05 | 2.00 | \
> 469.45 | 1235.21 | 163.12 RotateBenchmark.testRotateRightL | 512.00 | 7.00 | \
> 4142.95 | 4258.86 | 2.80 | 234.14 | 615.52 | 162.88 \
> RotateBenchmark.testRotateRightL | 512.00 | 7.00 | 2095.48 | 2087.20 | -0.40 | \
> 113.55 | 311.19 | 174.05 RotateBenchmark.testRotateRightL | 512.00 | 15.00 | \
> 8222.94 | 8246.58 | 0.29 | 458.91 | 1244.32 | 171.15 \
> RotateBenchmark.testRotateRightL | 512.00 | 15.00 | 4160.04 | 4226.46 | 1.60 | \
> 227.78 | 625.38 | 174.56 RotateBenchmark.testRotateRightL | 512.00 | 15.00 | \
> 2064.63 | 2162.44 | 4.74 | 113.27 | 314.15 | 177.36 \
> RotateBenchmark.testRotateRightL | 512.00 | 31.00 | 8157.94 | 8466.90 | 3.79 | \
> 450.26 | 1221.90 | 171.37 RotateBenchmark.testRotateRightL | 512.00 | 31.00 | \
> 4039.74 | 4283.33 | 6.03 | 224.82 | 612.68 | 172.53 \
> RotateBenchmark.testRotateRightL | 512.00 | 31.00 | 2066.88 | 2147.51 | 3.90 | \
> 110.97 | 303.43 | 173.42 RotateBenchmark.testRotateRightS | 128.00 | 7.00 | \
> 13548.39 | 13245.87 | -2.23 | 13490.93 | 13084.76 | -3.01 \
> RotateBenchmark.testRotateRightS | 128.00 | 7.00 | 7020.16 | 6768.85 | -3.58 | \
> 6991.39 | 7044.32 | 0.76 RotateBenchmark.testRotateRightS | 128.00 | 7.00 | 3550.50 \
> | 3505.19 | -1.28 | 3507.12 | 3612.86 | 3.01 RotateBenchmark.testRotateRightS | \
> 128.00 | 15.00 | 13743.43 | 13325.44 | -3.04 | 13696.15 | 13255.80 | -3.22 \
> RotateBenchmark.testRotateRightS | 128.00 | 15.00 | 6856.02 | 6969.18 | 1.65 | \
> 6886.29 | 6834.12 | -0.76 RotateBenchmark.testRotateRightS | 128.00 | 15.00 | \
> 3569.53 | 3492.76 | -2.15 | 3539.02 | 3470.02 | -1.95 \
> RotateBenchmark.testRotateRightS | 128.00 | 31.00 | 13704.18 | 13495.07 | -1.53 | \
> 13649.14 | 13583.87 | -0.48 RotateBenchmark.testRotateRightS | 128.00 | 31.00 | \
> 7011.77 | 6953.93 | -0.82 | 6978.28 | 6740.30 | -3.41 \
> RotateBenchmark.testRotateRightS | 128.00 | 31.00 | 3591.62 | 3620.12 | 0.79 | \
> 3502.04 | 3510.05 | 0.23 RotateBenchmark.testRotateRightS | 256.00 | 7.00 | \
> 21950.71 | 22113.60 | 0.74 | 21484.27 | 21596.64 | 0.52 \
> RotateBenchmark.testRotateRightS | 256.00 | 7.00 | 11616.88 | 11099.73 | -4.45 | \
> 11188.29 | 10737.68 | -4.03 RotateBenchmark.testRotateRightS | 256.00 | 7.00 | \
> 5872.72 | 5579.12 | -5.00 | 5784.05 | 5454.57 | -5.70 \
> RotateBenchmark.testRotateRightS | 256.00 | 15.00 | 22017.83 | 20817.97 | -5.45 | \
> 21934.65 | 21356.90 | -2.63 RotateBenchmark.testRotateRightS | 256.00 | 15.00 | \
> 11414.27 | 11044.86 | -3.24 | 11454.35 | 11140.34 | -2.74 \
> RotateBenchmark.testRotateRightS | 256.00 | 15.00 | 5786.64 | 5634.05 | -2.64 | \
> 5724.93 | 5639.99 | -1.48 RotateBenchmark.testRotateRightS | 256.00 | 31.00 | \
> 21754.77 | 21466.01 | -1.33 | 21140.67 | 21970.03 | 3.92 \
> RotateBenchmark.testRotateRightS | 256.00 | 31.00 | 11676.46 | 11358.64 | -2.72 | \
> 11204.90 | 11213.48 | 0.08 RotateBenchmark.testRotateRightS | 256.00 | 31.00 | \
> 5728.20 | 5772.49 | 0.77 | 5594.33 | 5544.25 | -0.90 \
> RotateBenchmark.testRotateRightS | 512.00 | 7.00 | 30247.03 | 30179.41 | -0.22 | \
> 1538.75 | 3975.82 | 158.38 RotateBenchmark.testRotateRightS | 512.00 | 7.00 | \
> 15988.73 | 15621.42 | -2.30 | 776.04 | 1910.91 | 146.24 \
> RotateBenchmark.testRotateRightS | 512.00 | 7.00 | 8115.84 | 8025.28 | -1.12 | \
> 389.12 | 984.46 | 152.99 RotateBenchmark.testRotateRightS | 512.00 | 15.00 | \
> 30110.91 | 30200.69 | 0.30 | 1532.49 | 3983.77 | 159.95 \
> RotateBenchmark.testRotateRightS | 512.00 | 15.00 | 15957.90 | 15690.73 | -1.67 | \
> 774.90 | 1931.00 | 149.19 RotateBenchmark.testRotateRightS | 512.00 | 15.00 | \
> 8113.26 | 8037.93 | -0.93 | 391.90 | 965.53 | 146.37 \
> RotateBenchmark.testRotateRightS | 512.00 | 31.00 | 29816.97 | 29891.54 | 0.25 | \
> 1538.12 | 3881.93 | 152.38 RotateBenchmark.testRotateRightS | 512.00 | 31.00 | \
> 15405.95 | 15619.17 | 1.38 | 762.49 | 1871.00 | 145.38 \
> RotateBenchmark.testRotateRightS | 512.00 | 31.00 | 7919.80 | 7957.35 | 0.47 | \
> 393.63 | 972.49 | 147.06

Jatin Bhateja has updated the pull request with a new target base due to a merge or a \
rebase. The pull request now contains 13 commits:

 - Merge http://github.com/openjdk/jdk into JDK-8266054
 - Merge http://github.com/openjdk/jdk into JDK-8266054
 - Merge http://github.com/openjdk/jdk into JDK-8266054
 - Merge branch 'JDK-8266054' of http://github.com/jatin-bhateja/jdk into JDK-8266054
 - 8266054: Removing redundant teat templates.
 - 8266054: Code reorganization for efficient sharing of logic to check rotate \
                operation support on a target platform.
 - 8266054: Removing redundant test templates.
 - 8266054: Review comments resolution.
 - 8266054: Review comments resolution.
 - 8266054: Review comments resolution.
 - ... and 3 more: https://git.openjdk.java.net/jdk/compare/a0f32cb1...c60355d7

-------------

Changes: https://git.openjdk.java.net/jdk/pull/3720/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3720&range=08
  Stats: 4393 lines in 52 files changed: 4172 ins; 60 del; 161 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3720.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3720/head:pull/3720

PR: https://git.openjdk.java.net/jdk/pull/3720


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic