Open dead-claudia opened 5 days ago
The fascinating part about this is it didn't even attempt to compress the generated lookup table to 8-bit entries. That alone would've saved 9 of the 20 bytes difference.
So there's apparently at least two optimization bugs hiding here.
@rustbot label: +C-optimization -C-bug +I-heavy +A-LLVM +A-codegen +T-compiler
@rustbot label -needs-triage
I tried this code:
I expected to see this happen: assembly for the second to be like the first and just use immediates:
Instead, this happened: the following assembly, 20 bytes larger (54 to 74 bytes) and one instruction longer:
Interestingly, if you move the u8 -> u32 cast down to the last point possible, it results in the same exact assembly emit:
Meta
rustc --version --verbose
: