examined soa-18 runfail
This commit is contained in:
@@ -13,3 +13,20 @@ __vec16_i64 (((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_
|
|||||||
*)(&tmp__2_))[0]
|
*)(&tmp__2_))[0]
|
||||||
```
|
```
|
||||||
where 'tmp__2_' is of __vec16_i64 data type.
|
where 'tmp__2_' is of __vec16_i64 data type.
|
||||||
|
|
||||||
|
2. soa-18.ispc (-O0)
|
||||||
|
The same as (1). The generator uses the structure of a kind
|
||||||
|
```
|
||||||
|
struct l_unnamed_0 {
|
||||||
|
__vec16_i64 field0;
|
||||||
|
__vec16_i32 field1;
|
||||||
|
} ptr_;
|
||||||
|
```
|
||||||
|
and a function
|
||||||
|
```
|
||||||
|
__masked_store_i64(((&ptr_.field0)), _slice_ptr7_slice_offset_extract_0_, internal_mask_26_function_mask9_);
|
||||||
|
```
|
||||||
|
|
||||||
|
where '_slice_ptr7_slice_offset_extract_0_' is of type __vec16_i64. The
|
||||||
|
problem is, we store 64 bit ints in memory sequentually and in vectors
|
||||||
|
separately (hi and lo parts). This way, the '.field0' has wrong layout
|
||||||
|
|||||||
Reference in New Issue
Block a user