The SIMD HWIntrinsic types (Vector64<T>. Vector128<T>, and Vector256<T>) are special and represent the __m64, __m128, and __m256 ABI types.
These types have special handling in both the System V and Windows ABI and are treated as "scalar" (e.g. non aggregate and non union) types for the purpose of parameter passing or value returns. They additionally play some role in the selection of MultiReg or HVA (also known as HFA) structs.
We should add the appropriate support for these types to ensure we are meeting the requirement of the underlying ABI for a given platform/system.
category:correctness
theme:runtime
skill-level:expert
cost:large
impact:medium
The SIMD HWIntrinsic types (
Vector64<T>.Vector128<T>, andVector256<T>) are special and represent the__m64,__m128, and__m256ABI types.These types have special handling in both the System V and Windows ABI and are treated as "scalar" (e.g. non aggregate and non union) types for the purpose of parameter passing or value returns. They additionally play some role in the selection of MultiReg or HVA (also known as HFA) structs.
We should add the appropriate support for these types to ensure we are meeting the requirement of the underlying ABI for a given platform/system.
category:correctness
theme:runtime
skill-level:expert
cost:large
impact:medium