Description
Packed narrow datatypes can be loaded with vmtl/vmts in the C datatype of SEW width. This avoids the need to switch SEW and VL before each vmtl and vmmacc. The strict typing of intrinsics doesn't allow loading the packed SEW wide tiles.
Any changes required
Add type-casting loads/stores which return narrow (SEW/w) types but load them with SEW.
Example:
vfloat16m1_t va = __riscv_vmtl_v_f16_as_f32m1(A, a_ld_in_f32_elements, vl_in_f32_elements)
Description
Packed narrow datatypes can be loaded with vmtl/vmts in the C datatype of SEW width. This avoids the need to switch SEW and VL before each vmtl and vmmacc. The strict typing of intrinsics doesn't allow loading the packed SEW wide tiles.
Any changes required
Add type-casting loads/stores which return narrow (SEW/w) types but load them with SEW.
Example:
vfloat16m1_t va = __riscv_vmtl_v_f16_as_f32m1(A, a_ld_in_f32_elements, vl_in_f32_elements)