2012-12-17 Andrew Stubbs <ams@codesourcery.com>
commit8012d2c2a0da04442448d78100ebb1ddbedf7af9
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Dec 2012 16:39:19 +0000 (17 16:39 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Dec 2012 16:39:19 +0000 (17 16:39 +0000)
tree39d8d4f5cab7cfe22cf74f6a34e24eb1e4551bc1
parent9bed074bff4241582b598204c4fc25fc4c305d7c
2012-12-17  Andrew Stubbs  <ams@codesourcery.com>
    Ulrich Weigand  <ulrich.weigand@linaro.org>

gcc/
* config/arm/arm.md (zero_extend<mode>di2): Add extra alternatives
for NEON registers.
Add alternative for one-instruction extend-in-place.
(extend<mode>di2): Likewise.
Add constraints for Thumb-mode memory loads.
Prevent extend splitters doing NEON alternatives.
* config/arm/iterators.md (qhs_extenddi_cstr, qhs_zextenddi_cstr):
Adjust constraints to add new alternatives.
* config/arm/neon.md: Add splitters for zero- and sign-extend.

gcc/testsuite/
* gcc.target/arm/neon-extend-1.c: New file.
* gcc.target/arm/neon-extend-2.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194558 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.md
gcc/config/arm/iterators.md
gcc/config/arm/neon.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/neon-extend-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon-extend-2.c [new file with mode: 0644]