libretro / libretro/libretro-common

HAVE_ARM_NEON_ASM_OPTIMIZATIONS and HAVE_NEON fail to compiler float_to_s16.c

Open
#213 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
180
Forks
98
Avg merge
7h 16m
Merged PRs (30d)
1

Description

I have this error with the last changes in the file float_to_s16.c with NEON compilation:

AS libretro-common/audio/resampler/drivers/sinc_resampler_neon.S
AS memory/neon/memcpy-neon.S
CC libretro-common/audio/conversion/s16_to_float.c
CC libretro-common/audio/conversion/float_to_s16.c
CC libretro-common/audio/conversion/mono_to_stereo_float.c
CC libretro-common/audio/conversion/stereo_to_mono_float.c
libretro-common/audio/conversion/float_to_s16.c: En la función ‘convert_float_to_s16’:
libretro-common/audio/conversion/float_to_s16.c:50:7: error: nombre de tipo ‘float32x4_t’ desconocido; ¿quiso decir ‘_Float32x’?
float32x4_t vgf = {gf, gf, gf, gf};
^~~~~~~~~~~
_Float32x
libretro-common/audio/conversion/float_to_s16.c:50:30: aviso: exceso de elementos en el inicializador de escalar
float32x4_t vgf = {gf, gf, gf, gf};
^~
libretro-common/audio/conversion/float_to_s16.c:50:30: nota: (cerca de la inicialización de ‘vgf’)
libretro-common/audio/conversion/float_to_s16.c:50:34: aviso: exceso de elementos en el inicializador de escalar
float32x4_t vgf = {gf, gf, gf, gf};
^~
libretro-common/audio/conversion/float_to_s16.c:50:34: nota: (cerca de la inicialización de ‘vgf’)
libretro-common/audio/conversion/float_to_s16.c:50:38: aviso: exceso de elementos en el inicializador de escalar
float32x4_t vgf = {gf, gf, gf, gf};
^~
libretro-common/audio/conversion/float_to_s16.c:50:38: nota: (cerca de la inicialización de ‘vgf’)
CC libretro-common/audio/conversion/s16_to_float_neon.c
make: *** [Makefile.mini:181: obj-unix/release/./libretro-common/audio/conversion/float_to_s16.o] Error 1
make: *** Se espera a que terminen otras tareas....

line 118:

HAVE_THREAD_STORAGE = 1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting libretro-common/audio/conversion/float_to_s16.c around line 50 and the HAVE_ARM_NEON_ASM_OPTIMIZATIONS and HAVE_NEON conditions named in the issue. Reproduce the NEON build shown in the report and verify that float_to_s16.c compiles successfully without the float32x4_t error.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.