Re: [pcre-dev] JIT fails with NEON instructions

Top Page
Delete this message
Author: Sebastian Pop
Date:  
To: Zoltán Herczeg
CC: pcre-dev@exim.org
Subject: Re: [pcre-dev] JIT fails with NEON instructions
Hi Zoltán,
I will submit a patch to fix the errors by end of today.

Sebastian

On Tue, Nov 5, 2019 at 1:47 AM Zoltán Herczeg <hzmester@???> wrote:

> Hi Sebastian,
>
> thank you for the investigation. Could you estimate when you can send the
> patch?
>
> Regards,
> Zoltan
>
> -------- Eredeti levél --------
> Feladó: Sebastian Pop < sebpop@??? (Link -> mailto:sebpop@gmail.com)
> >
> Dátum: 2019 október 30 23:00:04
> Tárgy: Re: [pcre-dev] JIT fails with NEON instructions
> Címzett: Zoltán Herczeg < hzmester@??? (Link -> mailto:
> hzmester@???) >
>
> The problem occurs on Ubuntu 18.04 and A-72 as well
> when configuring with --enable-pcre2-16 and --enable-pcre2-32
> each exposes one fail.
> I will send a patch to fix these issues.
>
> Sebastian
>
> On Wed, Oct 30, 2019 at 3:47 PM Sebastian Pop < sebpop@??? (Link ->
> mailto:sebpop@gmail.com) > wrote:
> A previous email to the pcre-dev list shows the log output:
> https://lists.exim.org/lurker/message/20191030.143840.c1a0847b.en.html
> (Link ->
> https://lists.exim.org/lurker/message/20191030.143840.c1a0847b.en.html)
>
> My testing for the patch was on both Ubuntu 18.04 and 19.04 on A1 instance
> based on A-72. I will try to see if I can reproduce the bug on A1 with a
> Fedora
> distribution.
>
> Sebastian
>
> On Wed, Oct 30, 2019 at 3:37 PM Sebastian Pop < sebpop@??? (Link ->
> mailto:sebpop@gmail.com) > wrote:
> Thanks Zoltán for the heads up.
> I can work on fixing the reported issues.
> Is there a log of the output and instructions on how to reproduce the
> problems?
> I would need the configure or cmake line and the make command.
>
> Thanks,
> Sebastian
>
> On Wed, Oct 30, 2019 at 1:28 PM Zoltán Herczeg < hzmester@???
> (Link -> mailto:hzmester@freemail.hu) > wrote:
> Hi Sebastian,
> could you check this failure?
> Regards,
> Zoltan
> -------- Eredeti levél --------
> Feladó: Petr Pisar via Pcre-dev < pcre-dev@??? (Link -> mailto:
> pcre-dev@???) ) >
> Dátum: 2019 október 30 18:25:42
> Tárgy: Re: [pcre-dev] JIT fails with NEON instructions
> Címzett: pcre-dev@??? (Link -> mailto:pcre-dev@exim.org) )
> On Wed, Oct 30, 2019 at 03:38:45PM +0100, Petr Pisar via Pcre-dev wrote:
> > On Thu, Oct 17, 2019 at 05:54:08PM +0100, ph10@??? (Link
> -> mailto:ph10@hermes.cam.ac.uk) wrote:
> > > I have just made available a Release Candidate for PCRE2 10.34 here:
> > >
> > > https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.gz (Link ->
> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.gz)
> > > https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.bz2 (Link
> -> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.bz2)
> > > https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.zip (Link
> -> https://ftp.pcre.org/pub/pcre/Testing/pcre2-10.34-RC1.tar.zip)
> > >
> > > NOTE: this is a different FTP site than was used for previous releases.
> > >
> > I experience two test failures on 64-bit ARM with Fedora 32 distribution:
> >
> Both failures are triggered by this PCRE2 commit:
> commit a6b4b9c7f9e3d20966de682487ee575cba053a20
> Author: zherczeg <zherczeg@6239d852-aaf2-0410-a92c-79f79f948069>
> Date: Tue Sep 17 06:59:45 2019 +0000
> Support NEON based fast forward character search in ARM64. Patch by
> Sebastian Pop.
> git-svn-id: svn:// vcs.exim.org/pcre2/code/trunk@1172 (Link ->
> http://vcs.exim.org/pcre2/code/trunk@1172)
> 6239d852-aaf2-0410-a92c-79f79f948
> 069
> I verified it on this machine:
> # lscpu
> Architecture: aarch64
> CPU op-mode(s): 64-bit
> Byte Order: Little Endian
> CPU(s): 4
> On-line CPU(s) list: 0-3
> Thread(s) per core: 1
> Core(s) per socket: 4
> Socket(s): 1
> NUMA node(s): 1
> Vendor ID: Cavium
> Model: 1
> Model name: ThunderX2 99xx
> Stepping: 0x1
> BogoMIPS: 400.00
> NUMA node0 CPU(s): 0-3
> Vulnerability L1tf: Not affected
> Vulnerability Mds: Not affected
> Vulnerability Meltdown: Not affected
> Vulnerability Spec store bypass: Vulnerable
> Vulnerability Spectre v1: Mitigation; __user pointer sanitization
> Vulnerability Spectre v2: Vulnerable
> Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid
> asimdrdm
> using Fedora 31 (gcc-9.2.1, binutils-2.32).
> The compiler defines __ARM_NEON macro on that machine. getauxval(AT_HWCAP)
> sets
> HWCAP_ASIMD bit. So I believe the machine supports NEON.
> When I disable the
> #if (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64 && (defined
> __ARM_NEON || defined
> __ARM_NEON__))
> branch in src/pcre2_jit_compile.c not to emit NEON instructions, all tests
> pass on that machine.
> This I conclude something is wrong in the NEON support in sljit.
> -- Petr
>