Rule out overflowing signed divisions
Compare changes
+ 16
− 3
@@ -231,8 +231,8 @@ genExpr' _width = sized gen
@@ -267,7 +267,20 @@ genExpr' _width = sized gen
Consider a signed division such as (-128::W8) / (-1::W8). GHC lowers this to IDIV which will throw an FP exception since the 8-bit target register is too small to accommodate the result, 128.
Therefore, we are going to specify the Quot primop as being undefined in cases where the result overflows.
Fixes #1 (closed).