Skip to content
Commit f06a57fc authored by Craig Topper's avatar Craig Topper
Browse files

Recommit r343498 "[X86] Improve test instruction shrinking when the sign flag...

Recommit r343498 "[X86] Improve test instruction shrinking when the sign flag is used and the output of the and is truncated."

This includes a fix to prevent i16 compares with i32/i64 ands from being shrunk if bit 15 of the and is set and the sign bit is used.

Original commit message:
Currently we skip looking through truncates if the sign flag is used. But that's overly restrictive.

It's safe to look through the truncate as long as we ensure one of the 3 things when we shrink. Either the MSB of the mask at the shrunken size isn't set. If the mask bit is set then either the shrunk size needs to be equal to the compare size or the sign

There are still missed opportunities to shrink a load and fold it in here. This will be fixed in a future patch.

llvm-svn: 343539
parent 12ae3e67
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment