[PATCH] D71833: [PowerPC] Fix some bugs of the rlwinm folding

ChenZheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 23 18:03:54 PST 2019


shchenz added a comment.

Seems there is indeed some bug for current folding. If the wrap relationship between mb and me for folding result rlwinm is different with he wrap relationship in MI.

`rlwinm1 reg1, sh1, mb1, me1` -> `rlwinm2 reg2, sh2, mb2, me2`

If (mb1 > me1 && mb2 < me2), then rlwinm1 get 64 bit value, rlwinm2 get 32 bit value;
if (mb1 < me1 && mb2 > me2), then rlwinm1 get 32 bit value, rlwinm2 get 64 bit value.

The above two cases should be wrong. But I think the case in the description should be a valid transform.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71833/new/

https://reviews.llvm.org/D71833





More information about the llvm-commits mailing list