]> git.ipfire.org Git - thirdparty/gcc.git/commit
MSP430: Implement 64-bit shifts in assembly code
authorjozefl <jozefl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jun 2019 21:24:56 +0000 (21:24 +0000)
committerjozefl <jozefl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jun 2019 21:24:56 +0000 (21:24 +0000)
commit4ccf69d71a760142d08a839f26673b92945fa2e7
tree588d5986dd2a505d0fff820371c546025752c25e
parentd433f873de68b75a9c2e8f68c9411c016a04c5fe
MSP430: Implement 64-bit shifts in assembly code

gcc/ChangeLog:

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

* config/msp430/msp430.c (msp430_expand_helper): Setup arguments which
describe how to perform MSPABI compliant 64-bit shift.
* config/msp430/msp430.md (ashldi3): New define_expand.
(ashrdi3): New define_expand.
(lshrdi3): New define_expand.

libgcc/ChangeLog:

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

* config/msp430/slli.S (__mspabi_sllll): New library function for
performing a logical left shift of a 64-bit value.
* config/msp430/srai.S (__mspabi_srall): New library function for
performing a arithmetic right shift of a 64-bit value.
* config/msp430/srll.S (__mspabi_srlll): New library function for
performing a logical right shift of a 64-bit value.

gcc/testsuite/ChangeLog:

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

* gcc.target/msp430/mspabi_sllll.c: New test.
* gcc.target/msp430/mspabi_srall.c: New test.
* gcc.target/msp430/mspabi_srlll.c: New test.
* gcc.c-torture/execute/shiftdi-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272360 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/config/msp430/msp430.c
gcc/config/msp430/msp430.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/shiftdi-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/mspabi_sllll.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/mspabi_srall.c [new file with mode: 0644]
gcc/testsuite/gcc.target/msp430/mspabi_srlll.c [new file with mode: 0644]
libgcc/ChangeLog
libgcc/config/msp430/slli.S
libgcc/config/msp430/srai.S
libgcc/config/msp430/srli.S