-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MSP430] Add codegen support for MSP430X shift instructions
MSP430X devices can utilize the RxxX and RxxM types of shift instructions, which are more efficient than the default MSP430 shift instructions. MSP430 shifts can only shift by one bit position at a time, whilst RxxM and RxxX can shift by multiple bit positions. RxxM shifts only support shift counts up to 4, but are cheaper than RxxX shifts, which can shift by up to 16 bit positions. Therefore, there are some situations where it is preferable to generate one or two RxxM shifts instead of an RxxX shift. RRCM and RRCX are not currently implemented as they are not required when MSP430TargetLowering only lowers shifts with 8-bit or 16-bit operands. They could be used in the future to improve the efficiency of shifts for 32-bit or 64-bit operands. Differential Revision: https://reviews.llvm.org/D110725
- Loading branch information
1 parent
ea81f1c
commit 05053b8
Showing
7 changed files
with
1,226 additions
and
104 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
Oops, something went wrong.