Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SIGILL in neon_transpose8 on ARM 32bit? #66

@g40

Description

@g40

Attempting to run a 512x512 2D test on a 32 bit ARM7 (AllWinner H3). The 1D transforms appear to work correctly.

Sadly I am no ARM assembler expert. Looking up the stack here: https://github.com/anthonix/ffts/blob/master/src/ffts_transpose.c#L48, there is something that looks like it should be used for 32 bit code but is commented out. (neon_transpose4(in, out, w, h);)

Any thoughts. Anyone else working on ARM32?

The vanila C implementation in ffts_transpose.c does work as a fallback

0x000214a6 in neon_transpose8 () at src/neon.s:686
686       vpush   {q4-q7}
(gdb) where
#0  0x000214a6 in neon_transpose8 () at src/neon.s:686
#1  0x0001eaf6 in ffts_transpose (in=0xb6bed020, out=0xb6c6e020, w=256, h=256)
    at src/ffts_transpose.c:54
#2  0x000199c2 in ffts_execute_nd (p=0x35008, in=0xb6cef020, out=0xb6c6e020)
    at src/ffts_nd.c:96
#3  0x00018226 in ffts_execute (p=0x35008, in=0xb6cef020, out=0xb6c6e020)
    at src/ffts.c:221
#4  0x00011f2c in try_2d (dimensions=65536) at basicfft.cpp:417
#5  0x0001206c in main (argc=1, argv=0xbefff7c4) at basicfft.cpp:447

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions