======================================================================================================================== length=256, char=0: 35933.10 (-705.25%) 2458.49 ( 44.91%) 2052.48 ( 54.00%) 4462.35 length=257, char=0: 36241.40 (-709.07%) 2449.31 ( 45.32%) 2088.25 ( 53.38%) 4479.40 length=258, char=0: 36506.50 (-707.37%) 2533.37 ( 43.97%) 2073.68 ( 54.14%) 4521.66 length=259, char=0: 36766.80 (-710.04%) 2573.23 ( 43.31%) 2088.39 ( 53.99%) 4538.88 length=260, char=0: 36958.30 (-711.39%) 2638.15 ( 42.08%) 2098.50 ( 53.93%) 4554.95 length=261, char=0: 37384.90 (-717.06%) 2635.56 ( 42.40%) 2112.04 ( 53.84%) 4575.56 length=262, char=0: 37582.20 (-720.77%) 2661.22 ( 41.88%) 2126.52 ( 53.56%) 4578.89 length=263, char=0: 37893.80 (-724.00%) 2705.17 ( 41.18%) 2155.46 ( 53.13%) 4598.76 length=264, char=0: 38126.30 (-720.58%) 2748.52 ( 40.84%) 2148.82 ( 53.75%) 4646.25 length=265, char=0: 38430.50 (-725.42%) 2789.58 ( 40.08%) 2159.59 ( 53.62%) 4655.89 length=266, char=0: 38699.40 (-728.77%) 2850.63 ( 38.95%) 2170.97 ( 53.51%) 4669.48 length=267, char=0: 38956.10 (-733.21%) 2896.94 ( 38.04%) 2182.96 ( 53.31%) 4675.43 length=268, char=0: 39198.60 (-734.03%) 2965.66 ( 36.90%) 2226.63 ( 52.62%) 4699.92 length=269, char=0: 39542.90 (-738.41%) 3069.46 ( 34.92%) 2229.59 ( 52.73%) 4716.43 length=270, char=0: 39822.00 (-737.24%) 3071.14 ( 35.43%) 2221.98 ( 53.28%) 4756.34 length=271, char=0: 40095.60 (-739.78%) 3116.24 ( 34.73%) 2234.95 ( 53.19%) 4774.54 length=512, char=0: 137512.00 (-1279.92%) 8993.82 ( 9.75%) 6227.36 ( 37.51%) 9965.19 length=513, char=0: 138047.00 (-1282.33%) 9076.86 ( 9.11%) 6187.04 ( 38.05%) 9986.55 length=514, char=0: 138744.00 (-1275.79%) 9174.97 ( 9.02%) 6207.71 ( 38.44%) 10084.70 length=515, char=0: 139094.00 (-1276.45%) 9249.32 ( 8.47%) 6225.89 ( 38.39%) 10105.30 length=516, char=0: 139488.00 (-1286.59%) 9387.34 ( 6.68%) 6248.57 ( 37.89%) 10059.80 length=517, char=0: 140146.00 (-1292.00%) 9406.52 ( 6.61%) 6253.62 ( 37.91%) 10072.00 length=518, char=0: 140728.00 (-1284.75%) 9495.81 ( 6.56%) 6274.71 ( 38.26%) 10162.70 length=519, char=0: 141207.00 (-1294.93%) 9570.67 ( 5.46%) 6358.77 ( 37.18%) 10122.90 length=520, char=0: 141825.00 (-1298.09%) 9800.91 ( 3.38%) 6316.39 ( 37.73%) 10144.20 length=521, char=0: 142328.00 (-1299.56%) 9870.21 ( 2.94%) 6336.67 ( 37.69%) 10169.50 length=522, char=0: 142876.00 (-1291.83%) 9936.09 ( 3.21%) 6357.73 ( 38.07%) 10265.30 length=523, char=0: 143333.00 (-1302.71%) 9946.90 ( 2.66%) 6447.33 ( 36.90%) 10218.30 length=524, char=0: 143793.00 (-1304.24%) 10093.50 ( 1.43%) 6403.34 ( 37.47%) 10239.90 length=525, char=0: 144453.00 (-1298.91%) 10122.80 ( 1.97%) 6418.25 ( 37.84%) 10326.10 length=526, char=0: 145077.00 (-1299.05%) 10208.90 ( 1.55%) 6440.72 ( 37.89%) 10369.70 length=527, char=0: 145490.00 (-1310.72%) 10346.70 ( -0.32%) 6461.50 ( 37.35%) 10313.20 length=1024, char=0: 537455.00 (-2112.45%) 34630.10 (-42.56%) 20549.10 ( 15.41%) 24292.30 length=1025, char=0: 538527.00 (-2114.96%) 34632.10 (-42.44%) 20584.50 ( 15.34%) 24313.20 length=1026, char=0: 539582.00 (-2115.53%) 34993.10 (-43.68%) 20620.10 ( 15.33%) 24354.50 length=1027, char=0: 540599.00 (-2115.10%) 35129.10 (-43.94%) 20644.70 ( 15.41%) 24405.20 length=1028, char=0: 541682.00 (-2117.35%) 35523.70 (-45.41%) 20685.00 ( 15.33%) 24429.30 length=1029, char=0: 542909.00 (-2119.46%) 35735.10 (-46.09%) 20741.20 ( 15.21%) 24461.30 length=1030, char=0: 543762.00 (-2119.68%) 35845.00 (-46.32%) 20760.60 ( 15.25%) 24497.30 length=1031, char=0: 544860.00 (-2119.82%) 36079.80 (-46.99%) 20798.00 ( 15.27%) 24545.20 length=1032, char=0: 545893.00 (-2120.69%) 36166.20 (-47.12%) 20829.20 ( 15.27%) 24582.10 length=1033, char=0: 546847.00 (-2121.45%) 36366.10 (-47.73%) 20877.20 ( 15.19%) 24616.70 length=1034, char=0: 548095.00 (-2124.11%) 36520.50 (-48.20%) 20911.00 ( 15.15%) 24643.30 length=1035, char=0: 549395.00 (-2125.90%) 36769.10 (-48.97%) 20940.70 ( 15.16%) 24681.90 length=1036, char=0: 549914.00 (-2124.01%) 36847.90 (-49.02%) 20979.40 ( 15.15%) 24726.20 length=1037, char=0: 551102.00 (-2126.26%) 37040.50 (-49.63%) 21018.10 ( 15.09%) 24754.60 length=1038, char=0: 552181.00 (-2127.43%) 37019.80 (-49.33%) 21052.80 ( 15.08%) 24790.10 length=1039, char=0: 553138.00 (-2127.14%) 37184.30 (-49.72%) 21086.90 ( 15.10%) 24836.20 * sysdeps/aarch64/memset.S (do_zva_64): Set 64 bytes in prologue and epilogue instead of 128 bytes. --- sysdeps/aarch64/memset.S | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/sysdeps/aarch64/memset.S b/sysdeps/aarch64/memset.S index 9fea4c2..78ead60 100644 --- a/sysdeps/aarch64/memset.S +++ b/sysdeps/aarch64/memset.S @@ -60,20 +60,14 @@ str q0, [dst, 16] stp q0, q0, [dst, 32] bic dst, dst, 63 - stp q0, q0, [dst, 64] - stp q0, q0, [dst, 96] - sub count, dstend, dst /* Count is now 128 too large. */ - sub count, count, 128+64+64 /* Adjust count and bias for loop. */ - add dst, dst, 128 - nop + add dst, dst, 64 + sub dstend, dstend, 64 1: dc zva, dst add dst, dst, 64 - subs count, count, 64 + cmp dstend, dst b.hi 1b - stp q0, q0, [dst, 0] - stp q0, q0, [dst, 32] - stp q0, q0, [dstend, -64] - stp q0, q0, [dstend, -32] + stp q0, q0, [dstend] + stp q0, q0, [dstend, 32] ret .endm