Closed rossberg closed 6 months ago
Sleeping over this I realised that my fix wasn't quite what we wanted, because packconst is, in fact, not invertible: because it wraps its argument, it is a lossy operation. So I changed it the other way round, using unpackconst on the RHS, which also fixed the test failures.
(For the semantics of these ops it wouldn't matter which inverse value to pick, because they all result in the same value being written in the next step. So underspecifying it as before wasn't incorrect per se, but it still resulted in a local non-determinism that we'd like to avoid.)
In short, problem solved, you can ignore the above. I hope you haven't yet wasted time on it...
That's great! I was just about to have a look at it, so no time wasted at all.
@jaehyun1ee, @f52985, as discussed today, this fixes a bug in the reduction of array.new_data/init_data. The new version requires the inverse of the packconst helper, which I'm not sure how to implement, hence the failure below.