[Bug target/63724] [AArch64] Inefficient immediate expansion and hoisting.

2015-01-11 Thread yroux at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63724

--- Comment #4 from Yvan Roux yroux at gcc dot gnu.org ---
Author: yroux
Date: Sun Jan 11 18:36:42 2015
New Revision: 219433

URL: https://gcc.gnu.org/viewcvs?rev=219433root=gccview=rev
Log:
gcc/
2015-01-11  Yvan Roux  yvan.r...@linaro.org

Backport from trunk r217362, r217546.
2014-11-14  Ramana Radhakrishnan  ramana.radhakrish...@arm.com

PR target/63724
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Split out
numerical immediate handling to...
(aarch64_internal_mov_immediate): ...this. New.
(aarch64_rtx_costs): Use aarch64_internal_mov_immediate.
(aarch64_mov_operand_p): Relax predicate.
* config/aarch64/aarch64.md (movmode:GPI): Do not expand CONST_INTs.
(*movsi_aarch64): Turn into define_insn_and_split and new alternative
for 'n'.
(*movdi_aarch64): Likewise.

2014-11-11  James Greenhalgh  james.greenha...@arm.com

* config/aarch64/aarch64-simd.md
(aarch64_simd_bslmode_internal): Remove float cases, canonicalize.
(aarch64_simd_bslmode): Add gen_lowpart expressions where we
are punning between float vectors and integer vectors.

gcc/testsuite
2015-01-11  Yvan Roux  yvan.r...@linaro.org

Backport from trunk r217362.
2014-11-11  James Greenhalgh  james.greenha...@arm.com

* gcc.target/aarch64/vbslq_f64_1.c: New.
* gcc.target/aarch64/vbslq_f64_2.c: Likewise.
* gcc.target/aarch64/vbslq_u64_1.c: Likewise.
* gcc.target/aarch64/vbslq_u64_2.c: Likewise.


Added:
   
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/vbslq_f64_1.c
   
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/vbslq_f64_2.c
   
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/vbslq_u64_1.c
   
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.target/aarch64/vbslq_u64_2.c
Modified:
branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64-simd.md
branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64.c
branches/linaro/gcc-4_9-branch/gcc/config/aarch64/aarch64.md
branches/linaro/gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro


[Bug target/63724] [AArch64] Inefficient immediate expansion and hoisting.

2014-11-14 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63724

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Fixed by r217546


[Bug target/63724] [AArch64] Inefficient immediate expansion and hoisting.

2014-11-14 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63724

--- Comment #3 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Author: ramana
Revision: 217546
Modified property: svn:log

Modified: svn:log at Fri Nov 14 11:03:00 2014
--
--- svn:log (original)
+++ svn:log Fri Nov 14 11:03:00 2014
@@ -1,1 +1,14 @@
-Fix typo in *arith_shift_insn_shiftsi
+Fix PR target/63724
+
+2014-11-14  Ramana Radhakrishnan  ramana.radhakrish...@arm.com
+
+PR target/63724
+* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Split out
+numerical immediate handling to...
+(aarch64_internal_mov_immediate): ...this. New.
+(aarch64_rtx_costs): Use aarch64_internal_mov_immediate.
+(aarch64_mov_operand_p): Relax predicate.
+* config/aarch64/aarch64.md (movmode:GPI): Do not expand CONST_INTs.
+(*movsi_aarch64): Turn into define_insn_and_split and new alternative
+for 'n'.
+(*movdi_aarch64): Likewise.


[Bug target/63724] [AArch64] Inefficient immediate expansion and hoisting.

2014-11-03 Thread ramana at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63724

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Target||aarch64-linux-gnu
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-11-03
   Assignee|unassigned at gcc dot gnu.org  |ramana at gcc dot 
gnu.org
   Target Milestone|--- |5.0
 Ever confirmed|0   |1

--- Comment #1 from Ramana Radhakrishnan ramana at gcc dot gnu.org ---
Mine.