<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in neon.uc</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>3de13550 - raid6: neon: add missing prototypes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/lib/raid6/neon.uc#3de13550</link>
        <description>raid6: neon: add missing prototypesThe raid6 syndrome functions are generated for different sizes and haveno generic prototype, while in the inner functions have a prototypein a header that cannot be included from the correct file. In bothcases, the compiler warns about missing prototypes:lib/raid6/recov_neon_inner.c:27:6: warning: no previous prototype for &apos;__raid6_2data_recov_neon&apos; [-Wmissing-prototypes]lib/raid6/recov_neon_inner.c:77:6: warning: no previous prototype for &apos;__raid6_datap_recov_neon&apos; [-Wmissing-prototypes]lib/raid6/neon1.c:56:6: warning: no previous prototype for &apos;raid6_neon1_gen_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon1.c:86:6: warning: no previous prototype for &apos;raid6_neon1_xor_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon2.c:56:6: warning: no previous prototype for &apos;raid6_neon2_gen_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon2.c:97:6: warning: no previous prototype for &apos;raid6_neon2_xor_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon4.c:56:6: warning: no previous prototype for &apos;raid6_neon4_gen_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon4.c:119:6: warning: no previous prototype for &apos;raid6_neon4_xor_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon8.c:56:6: warning: no previous prototype for &apos;raid6_neon8_gen_syndrome_real&apos; [-Wmissing-prototypes]lib/raid6/neon8.c:163:6: warning: no previous prototype for &apos;raid6_neon8_xor_syndrome_real&apos; [-Wmissing-prototypes]Add a new header file that contains the prototypes for both to avoidthe warnings.Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Song Liu &lt;song@kernel.org&gt;Link: https://lore.kernel.org/r/20230517132220.937200-1-arnd@kernel.org

            List of files:
            /linux-6.15/lib/raid6/neon.uc</description>
        <pubDate>Wed, 17 May 2023 13:22:12 +0000</pubDate>
        <dc:creator>Arnd Bergmann &lt;arnd@arndb.de&gt;</dc:creator>
    </item>
<item>
        <title>1ad3935b - lib/raid6: use vdupq_n_u8 to avoid endianness warnings</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/lib/raid6/neon.uc#1ad3935b</link>
        <description>lib/raid6: use vdupq_n_u8 to avoid endianness warningsClang warns: vector initializers are not compatible with NEON intrinsicsin big endian mode [-Wnonportable-vector-initialization]While this is usually the case, it&apos;s not an issue for this case sincewe&apos;re initializing the uint8x16_t (16x uint8_t&apos;s) with the same value.Instead, use vdupq_n_u8 which both compilers lower into a single moviinstruction: https://godbolt.org/z/vBrgztThis avoids the static storage for a constant value.Link: https://github.com/ClangBuiltLinux/linux/issues/214Suggested-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Reviewed-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;

            List of files:
            /linux-6.15/lib/raid6/neon.uc</description>
        <pubDate>Tue, 26 Feb 2019 04:03:42 +0000</pubDate>
        <dc:creator>ndesaulniers@google.com &lt;ndesaulniers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>35129dde - md/raid6: use faster multiplication for ARM NEON delta syndrome</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/lib/raid6/neon.uc#35129dde</link>
        <description>md/raid6: use faster multiplication for ARM NEON delta syndromeThe P/Q left side optimization in the delta syndrome simply involvesrepeatedly multiplying a value by polynomial &apos;x&apos; in GF(2^8). Giventhat &apos;x * x * x * x&apos; equals &apos;x^4&apos; even in the polynomial world, wecan accelerate this substantially by performing up to 4 such operationsat once, using the NEON instructions for polynomial multiplication.Results on a Cortex-A57 running in 64-bit mode:  Before:  -------  raid6: neonx1   xor()  1680 MB/s  raid6: neonx2   xor()  2286 MB/s  raid6: neonx4   xor()  3162 MB/s  raid6: neonx8   xor()  3389 MB/s  After:  ------  raid6: neonx1   xor()  2281 MB/s  raid6: neonx2   xor()  3362 MB/s  raid6: neonx4   xor()  3787 MB/s  raid6: neonx8   xor()  4239 MB/sWhile we&apos;re at it, simplify MASK() by using a signed shift rather thana vector compare involving a temp register.Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;

            List of files:
            /linux-6.15/lib/raid6/neon.uc</description>
        <pubDate>Thu, 13 Jul 2017 17:16:00 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>0e833e69 - md/raid6: delta syndrome for ARM NEON</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/lib/raid6/neon.uc#0e833e69</link>
        <description>md/raid6: delta syndrome for ARM NEONThis implements XOR syndrome calculation using NEON intrinsics.As before, the module can be built for ARM and arm64 from thesame source.Relative performance on a Cortex-A57 based system:  raid6: int64x1  gen()   905 MB/s  raid6: int64x1  xor()   881 MB/s  raid6: int64x2  gen()  1343 MB/s  raid6: int64x2  xor()  1286 MB/s  raid6: int64x4  gen()  1896 MB/s  raid6: int64x4  xor()  1321 MB/s  raid6: int64x8  gen()  1773 MB/s  raid6: int64x8  xor()  1165 MB/s  raid6: neonx1   gen()  1834 MB/s  raid6: neonx1   xor()  1278 MB/s  raid6: neonx2   gen()  2528 MB/s  raid6: neonx2   xor()  1942 MB/s  raid6: neonx4   gen()  2888 MB/s  raid6: neonx4   xor()  2334 MB/s  raid6: neonx8   gen()  2957 MB/s  raid6: neonx8   xor()  2232 MB/s  raid6: using algorithm neonx8 gen() 2957 MB/s  raid6: .... xor() 2232 MB/s, rmw enabledCc: Markus Stockhausen &lt;stockhausen@collogia.de&gt;Cc: Neil Brown &lt;neilb@suse.de&gt;Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: NeilBrown &lt;neilb@suse.com&gt;

            List of files:
            /linux-6.15/lib/raid6/neon.uc</description>
        <pubDate>Wed, 01 Jul 2015 02:19:56 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>7d11965d - lib/raid6: add ARM-NEON accelerated syndrome calculation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/lib/raid6/neon.uc#7d11965d</link>
        <description>lib/raid6: add ARM-NEON accelerated syndrome calculationRebased/reworked a patch contributed by Rob Herring that usesNEON intrinsics to perform the RAID-6 syndrome calculations.It uses the existing unroll.awk code to generate severalunrolled versions of which the best performing one is selectedat boot time.Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;Cc: hpa@linux.intel.com

            List of files:
            /linux-6.15/lib/raid6/neon.uc</description>
        <pubDate>Thu, 16 May 2013 15:20:32 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
</channel>
</rss>
