small corrections in vector functions

This commit is contained in:
Eyck-Alexander Jentzsch 2025-02-04 22:03:48 +01:00
parent 512b79a3e7
commit 3428745a00

View File

@ -93,8 +93,9 @@ uint64_t vector_load_store(void* core, std::function<bool(void*, uint64_t, uint6
uint8_t vd, uint64_t base_addr, uint64_t vl, uint64_t vstart, vtype_t vtype, bool vm, uint8_t elem_byte_size,
uint64_t elem_count, int8_t EMUL_pow, uint8_t segment_size, int64_t stride) {
assert(pow(2, EMUL_pow) * segment_size <= 8);
assert(segment_size > 0);
assert((elem_count & (elem_count - 1)) == 0); // check that elem_count is power of 2
assert(elem_count <= VLEN / 8);
assert(elem_count <= VLEN * RFS / 8);
unsigned eew = elem_byte_size * 8;
unsigned emul_stride = EMUL_pow <= 0 ? 1 : pow(2, EMUL_pow);
assert(emul_stride * segment_size <= 8);