Bug ID: 37793
           Summary: Does SCEV have any problems with recognizing
                    shl+shr/shr+shl pairs turned into masks?
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Global Analyses

I'm not sure this is a bug, more like a question.

In, Sanjay Patel suggests transforming
lshr+shl into mask(and)+shl, which is not only a canonicalization, but
would also sidestep the problem which D46760 is trying to fix.

This canonicalization is already being done for the non-constants,
or equal constants, but not unequal constants.

The commit that introduced that restriction:
suggests that said transform negatively impacts backend (rotate instruction),
and SCEV.
The backend part will likely be resolved in or

But the state of SCEV is unknown.
Does it actually have a problem with the mask+shift,
or that comment is no longer correct?

You are receiving this mail because:
You are on the CC list for the bug.
llvm-bugs mailing list

Reply via email to