forked from oracle/graal
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AArch64: Add match rules for bitfield move.
This patch adds the following match rules to generate bitfield move instruction on AArch64: * (RightShift (LeftShift value a) b) -> SBFX/SBFIZ * (UnsignedRightShift (LeftShift value a) b) -> UBFX/UBFIZ * (LeftShift (SignExtend value) a) -> SBFIZ Eg: lsl w0, w1, oracle#8 asr w0, w0, oracle#15 is optimized to: sbfx w0, w1, oracle#7, oracle#17 It also adds the rules to integrate the ZeroExtend with unsigned bitfield move operation. Eg: ubfiz w0, w1, oracle#5, oracle#12 and x0, x0, #0xffffffff is optimized to: ubfiz x0, x1, oracle#5, oracle#12 Change-Id: I2b635d4895db0d5f4c30630176f336e9a226ccaf
- Loading branch information
Xiaohong Gong
committed
Feb 24, 2020
1 parent
a372222
commit 5b1d4e2
Showing
5 changed files
with
296 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.