ios-jsc icon indicating copy to clipboard operation
ios-jsc copied to clipboard

[Known Issue] SIMD vector support for 32-bit architectures is missing

Open mbektchiev opened this issue 6 years ago • 3 comments

There's currently no support for calling functions with SIMD vector type arguments and return values on i386 and armv7 architectures.

simd_float2, simd_float3, simd_float4, simd_double2 tests are failing and app crashes on simd_double3 with EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x126e978d)

mbektchiev avatar Sep 27 '18 07:09 mbektchiev

Merged with #1002(master) and #1024(release)

mbektchiev avatar Dec 03 '18 09:12 mbektchiev

After running app with added plugin which methods return different types of vectors, returned values of simd_double3 and simd_double4 are correct but these for simd_float2, simd_float3, simd_float4, simd_double2 are not (all values of the vectors are 0).

Natalia-Hristova avatar Dec 17 '18 14:12 Natalia-Hristova

The fix we've merged was mistakenly related to this issue.

It appears that for the armv7 and i386 architectures libffi cannot handle SIMD vector types as arguments and return values at the moment. The only way to use such functions in NativeScript (if these architectures need to be supported) is by calling them from native code.

mbektchiev avatar Dec 18 '18 07:12 mbektchiev