Open SadiinsoSnowfall opened 1 week ago
waiting for the behavior refactor PR
I have updated the iota
test so as to not trigger UB, discussion on how to solve the root of the problem is ongoing but this is not the goal of this PR.
Iota test is correct. It shows a real problem in the system. Don't put asserts
The current ARM implementations of rshl
and rshr
taking an index_t
as a shift value do not work: the vshlq_n_
family of intrinsics cannot take a negative shift constant. This problem was already present in neon_shifter
but no unit test checked the behaviour of this flavour of rshr/l
.
GCC does compile the current code without any problem, but this goes against the ARM documentation and the generated instructions are also a mismatch with what is described in the documentation.
The decision we took for now is to remove assert from shifts. We can advance on that, finish the callable transition and suppport for type translation and think about how EVE shoudl sue assert in the mean time.
@DenisYaroshevskiy are you OK with that ?