Re: [RFC} arm architecture board/feature deprecation timeline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 15, 2024, at 20:24, Matt Turner wrote:
> On 07/31, Arnd Bergmann wrote:
>>=== iWMMXt ===
>>
>>I'm not aware of any remaining users for iWMMXt, and we dropped
>>support for ARMv7 PJ4 CPUs (MMP2, Berlin) already, so the
>>only supported hardware that even has this is Intel/Marvell
>>PXA and MMP1.
>
> pixman had [1][2] iwMMXt paths that I optimized for the XO 1.75 and
> would occasionally test on a CuBox over the years.
>
> I'm surprised to see that commit b9920fdd5a75 ("ARM: 9352/1: iwmmxt:
> Remove support for PJ4/PJ4B cores") landed with the claim that "there is
> no v6/v7 user space that actually makes use of this". A quick Google
> search reveals evidence of usage [3]. It doesn't seem like this should
> have been backported to the stable branches in any case.

Sorry for missing this one, I'm sure I spend more than a quick
google search trying to find instances of this, but clearly didn't
see this, and I now see that pixman is the only package listed in
https://codesearch.debian.net that uses the compiler flags.

I'm still not sure how your version worked on ARMv7, was this before
or after the move to the hardfloat ABI? What I see on modern armhf
gcc targets is that they reject -march=iwmmxt{,2} because those
imply armv5 without vfp, while armhf toolchains require vfpv3d16
as the minimum fpu.

My guess is that the pixman code still works correctly for softfloat
toolchains, but the meson.build check would fall back to the vfpv3
version for armv7/hardfloat builds.

gcc also rejects "-march=iwmmxt2+vfpv3-d16". While it accepts
"-march=iwmmxt2 -mfpu=vfpv3-d16", I suspect that this combination
has not been tested well.

> I know that ffmpeg used to have iwMMXt paths as well, but I believe they
> were removed a few years ago.

Right, apparently this was in 2012:
https://gitlab.laihua.com/linshizhi/ffmpeg.wasm-core/commit/363bd1c62c1bcbac2dcb56f3dc47824f075888d2

   Arnd




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux