Neon instructions for ARMv8.2-A architecture

What do you want to achieve?

I would like to leverage Neon instructions on Cortex-A76 (ARMv8.2-A architecture) running LVGL 9.3.

What have you tried so far?

I tried to enable Neon support in the configuration file:

#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NEON

However, the compilation fails due to unknown mnemonics, for example:

lvgl/src/draw/sw/blend/neon/lv_blend_neon.S:702: Error: unknown mnemonic 'vbif' -- 'vbif D_B,S_565_L,TMP_D1'

It seems lv_blend_neon.S provides assembly code for the ARMv7 architecture:

(...)
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON

.text
.fpu neon
.arch armv7a
(...)

Do we have/plan to have the assembly for the 64-bit architecture (such as ARMv8.2-A)?

Environment

  • Compiler: aarch64-none-linux-gnu-gcc (12.2.1)
  • MCU/MPU/Board: Cortex-A76 based SoC
  • LVGL version: 9.3.0