• Re: armhf: neon instruction ?

    From Lennart Sorensen@21:1/5 to Mathieu Malaterre on Mon Jan 10 16:10:01 2022
    On Mon, Jan 10, 2022 at 03:49:56PM +0100, Mathieu Malaterre wrote:
    Dear arm porters,

    Could someone please clarify if I can build a package using gcc flags such as:

    -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee

    Ref:

    * https://salsa.debian.org/debian-phototools-team/highway/-/blob/master/CMakeLists.txt#L182-185

    Well the debian armhf specification does NOT require neon support,
    so packages should not require neon unless it is optional and provided
    as runtime detected code or an alternate library to load or whatever
    method works.

    --
    Len Sorensen

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mathieu Malaterre@21:1/5 to All on Mon Jan 10 16:10:01 2022
    Dear arm porters,

    Could someone please clarify if I can build a package using gcc flags such as:

    -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee

    Ref:

    * https://salsa.debian.org/debian-phototools-team/highway/-/blob/master/CMakeLists.txt#L182-185

    Thanks

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mathieu Malaterre@21:1/5 to lsorense@csclub.uwaterloo.ca on Mon Jan 10 16:40:01 2022
    Hi Lennart !

    On Mon, Jan 10, 2022 at 4:21 PM Lennart Sorensen
    <lsorense@csclub.uwaterloo.ca> wrote:

    On Mon, Jan 10, 2022 at 03:49:56PM +0100, Mathieu Malaterre wrote:
    Dear arm porters,

    Could someone please clarify if I can build a package using gcc flags such as:

    -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee

    Ref:

    * https://salsa.debian.org/debian-phototools-team/highway/-/blob/master/CMakeLists.txt#L182-185

    Well the debian armhf specification does NOT require neon support,
    so packages should not require neon unless it is optional and provided
    as runtime detected code or an alternate library to load or whatever
    method works.

    Please check:

    https://packages.qa.debian.org/f/fftw3.html

    Search for `-mfpu=neon` at:

    * https://buildd.debian.org/status/fetch.php?pkg=fftw3&arch=armhf&ver=3.3.8-2&stamp=1536684083&raw=0

    I believe my issue (as explained by Arnd) is indeed the vfpv4 features.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arnd Bergmann@21:1/5 to malat@debian.org on Mon Jan 10 16:20:01 2022
    On Mon, Jan 10, 2022 at 3:49 PM Mathieu Malaterre <malat@debian.org> wrote:

    Dear arm porters,

    Could someone please clarify if I can build a package using gcc flags such as:

    -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard -mfp16-format=ieee

    Ref:

    * https://salsa.debian.org/debian-phototools-team/highway/-/blob/master/CMakeLists.txt#L182-185

    A package built with those options is likely to not work on currently supported processors that only have VFPv3 rather than VFPv4 (All Cortex-A8, A9 and more). The highest supported FPU implemetnation at the moment is "vfpv3-d16", so
    no VFPv4 extensions, NEON or extra double-precision registers, see also [1].

    A future Debian release might drop support for implementations with less than 32
    double-precision registers or with no NEON, but would likely still need runtime detection for vfpv4 features that are not in vfpv3 (fused
    multiply-accumulate and
    half precision floats).

    Arnd

    [1] https://wiki.debian.org/ArmHardFloatPort/VfpComparison

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)