The optimizer should be told to normalize (AndL (ConvI2L x) 0xFF) to (ConvI2L
(AndI x 0xFF)), and then the existing matcher rule will work for free. The
suggested fix is OK only as a point fix in Tiger, since it mixes optimizer
knowledge into the matcher.
The optimizer should commute I2L with And for any mask that fits in 32 bits.
Also, the matcher should get rid of LDSB for any mask less than 0xFF. Also,
the matcher should remove useless I2UL conversions in more places. These are
more profitable and complex fixes, for Dragon.