Skip to content

Fix llvmpipe on ARM processors without NEON

Lubomir Rintel requested to merge lkundrak/mesa:lr/neon into master


the patches in this set fix llvmpipe driver on an ARM machine that has no NEON instructions. My machine is a XO-1.75 laptop with a Marvell MMP2 processor:

  [lkundrak at xo ~]$ LD_SHOW_AUXV=yespls /bin/true |grep HWCAP
  AT_HWCAP:        half thumb fastmult vfp edsp iwmmxt thumbee vfpv3 vfpv3d16 tls idivt
  [lkundrak at xo ~]$

With unpatched Mesa:

  # gdb /usr/libexec/Xorg --ex run
  (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
  warning: JITed object file architecture armv7 is not compatible with target architecture iwmmxt.
  Program received signal SIGILL, Illegal instruction.
  0xb6fbe028 in ?? ()
    (gdb) x/i $pc
  => 0xb6fbe028:  vld1.32 {d16[]-d17[]}, [r7 :32]

Seems like defaulting to enabling NEON on armv7 and thus breaking on Marvell and NVidia (and perhaps other) platform was a deliberate decision and as such is not considered a bug by LLVM upstream:


Edited by Emma Anholt

Merge request reports