Michael Dickens

Results 92 comments of Michael Dickens

Trying to clean out old stuff & came upon this! Still relevant, I think! I'd say if you combine scripts and tools as noted, then your list here is good...

@jdemel yes! they are just related scripts & tools to do stuff that Volk needs but unrelated to the build. 1 directory is easier than 2 here!

@Aang23 that commit is for a single kernel: `volk_32fc_convert_16ic`. Is it a compile issue then, that the change from the commit break compiling? Or is it runtime, that the kernel...

@Aang23 guessing the issue is the macro `VCVTRQ_S32_F32`, since that's assembly code & thus potentially "volatile" across different NEON architectures. Some internet sleuthing turns up that the `=t` should really...

Just from the commit: ``` #define VCVTRQ_S32_F32(result, value) \ __VOLK_ASM("VCVTR.S32.F32 %0, %1" : "=t"(result[0]) : "t"(value[0]) :); \ __VOLK_ASM("VCVTR.S32.F32 %0, %1" : "=t"(result[1]) : "t"(value[1]) :); \ __VOLK_ASM("VCVTR.S32.F32 %0, %1"...

I believe should instead be: ``` #define VCVTRQ_S32_F32(result, value) \ __VOLK_ASM("VCVTR.S32.F32 %0, %1" : "=r"(result[0]) : "t"(value[0]) :); \ __VOLK_ASM("VCVTR.S32.F32 %0, %1" : "=r"(result[1]) : "t"(value[1]) :); \ __VOLK_ASM("VCVTR.S32.F32 %0,...

Ah ... gotcha. Well looking at the other macro code, the `=w` is wrong then. `w` == "Floating point register, Advanced SIMD vector register or SVE vector register". This is...

Interesting. Can you try `=r` and `t` respectively ... that's really the correct combination.

Strange. If you go with `=t` and `t` respectively, it sounds like the build succeeds ... which is progress! does `make test` succeed? or `volk_profile`? I'm now curious if that...

Well ... I'd say to create a PR with that fix & we'll get it in merged. No idea _why_ it works, but the code makes a lot more sense...