]> git.ipfire.org Git - thirdparty/gcc.git/commit
MSP430: Emulate 16-bit shifts with rotate insn when src operand is in memory
authorjozefl <jozefl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 09:23:10 +0000 (09:23 +0000)
committerjozefl <jozefl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2019 09:23:10 +0000 (09:23 +0000)
commite9b88d36bd5fa5615ebcb47b7eea917f002af3db
tree59ac87cf7b187839129cbec50601df38d59e507f
parentd790a6d6cb3ce79f2ba686e74bf2c6da47ad1dc5
MSP430: Emulate 16-bit shifts with rotate insn when src operand is in memory

gcc/ChangeLog

2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

* config/msp430/msp430.md (ashlhi3): Force shift src operand into a
register if it is in memory, so the shift can be emulated with a rotate
instruction.
(ashrhi3): Likewise.
(lshrhi3): Likewise.

gcc/testsuite/ChangeLog

2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

* gcc.target/msp430/emulate-slli.c: New test.
* gcc.target/msp430/emulate-srai.c: New test.
* gcc.target/msp430/emulate-srli.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@271993 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/msp430/msp430.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/msp430/emulate-slli.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/emulate-srai.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/emulate-srli.c [new file with mode: 0644]