diff options
author | belagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-07 16:00:06 +0000 |
---|---|---|
committer | belagod <belagod@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-07 16:00:06 +0000 |
commit | 80d18bad0099ba81ed1fc2905dfcb3760988f59e (patch) | |
tree | a7b44ee7854bed59cfaa75602ce9bef4403ebf9a | |
parent | c735d600f8cc40206b431fff11a87535f67c4364 (diff) | |
download | gcc-80d18bad0099ba81ed1fc2905dfcb3760988f59e.tar.gz |
2010-10-07 Tejas Belagod <tejas.belagod@arm.com>
PR target/45805
* config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
constraint, add register specifier in instruction template.
(neon_vec_pack_trunc_<mode>): Likewise.
(neon_vec_<US>mult_<mode>): Add register specifier to
instruction template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165122 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/arm/neon.md | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87391d9703b..d088f60ccc6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2010-10-07 Tejas Belagod <tejas.belagod@arm.com> + + * config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to + constraint, add register specifier in instruction template. + (neon_vec_pack_trunc_<mode>): Likewise. + (neon_vec_<US>mult_<mode>): Add register specifier to + instruction template. + 2010-10-07 Dave Korn <dave.korn.cygwin@gmail.com> * config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index cd91573be10..c788f1641ff 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -5361,9 +5361,9 @@ ;; Vectorize for non-neon-quad case (define_insn "neon_unpack<US>_<mode>" [(set (match_operand:<V_widen> 0 "register_operand" "=w") - (SE:<V_widen> (match_operand:VDI 1 "register_operand" "")))] + (SE:<V_widen> (match_operand:VDI 1 "register_operand" "w")))] "TARGET_NEON" - "vmovl.<US><V_sz_elem> %q0, %1" + "vmovl.<US><V_sz_elem> %q0, %P1" [(set_attr "neon_type" "neon_shift_1")] ) @@ -5400,7 +5400,7 @@ (SE:<V_widen> (match_operand:VDI 2 "register_operand" "w"))))] "TARGET_NEON" - "vmull.<US><V_sz_elem> %q0, %1, %2" + "vmull.<US><V_sz_elem> %q0, %P1, %P2" [(set_attr "neon_type" "neon_shift_1")] ) @@ -5449,9 +5449,9 @@ ;; For the non-quad case. (define_insn "neon_vec_pack_trunc_<mode>" [(set (match_operand:<V_narrow> 0 "register_operand" "=w") - (truncate:<V_narrow> (match_operand:VN 1 "register_operand" "")))] + (truncate:<V_narrow> (match_operand:VN 1 "register_operand" "w")))] "TARGET_NEON" - "vmovn.i<V_sz_elem>\t%0, %q1" + "vmovn.i<V_sz_elem>\t%P0, %q1" [(set_attr "neon_type" "neon_shift_1")] ) |