Files
scriptc/packages/compiler/test
Chris Tate 3eed91a29b Convert sums built on unsigned shifts from 32 bits
An integer `+`, `-` or `*` whose operands and result are proven within
the uint32 range, and whose operand is a `>>>` result or arithmetic on
one, such as `((i + j) * (i + j + 1) >>> 1) + i + 1`, is now 32-bit
arithmetic without wrap, and its double converts from the 32 bits
(`uitofp i32`). Vectorized, that conversion takes three instructions on
x86-64 without AVX-512, where the 64-bit sum's unsigned conversion took
six. Sums of counters and literals, such as `i + 1`, keep the 64-bit
form, whose conversion LLVM folds with their uses as indexes.
2026-10-30 01:20:14 -05:00
..
2026-10-20 17:56:44 -05:00
2026-10-25 10:07:50 -05:00
2026-10-29 22:27:36 -05:00
2026-10-27 23:02:33 -05:00
2026-10-20 17:56:44 -05:00
2026-10-20 17:56:44 -05:00
2026-10-25 15:18:27 -05:00
2026-10-23 19:28:30 -05:00
2026-10-20 11:00:03 -05:00