PR target/69176
commit3e116474a05d5fdceb1ac211a040122bbddbb44e
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jan 2016 20:56:13 +0000 (18 20:56 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jan 2016 20:56:13 +0000 (18 20:56 +0000)
tree1da60c532e5dcdeb190b255ef1840a7547b0cf7f
parentd14be1e18871f57ad905e6f303cf64bdbd7eeed0
PR target/69176

  * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
  operands to pseudo only if CSE is expected.  Split long immediate
  operands only after reload, and for the stack pointer.
  (*add<GPI>3_pluslong): Remove.
  (*addsi3_aarch64, *adddi3_aarch64): Merge into...
  (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
  (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
  (*add<GPI>3 peepholes): New.
  (*add<GPI>3 splitters): New.
  * config/aarch64/constraints.md (Upl): New.
  * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232540 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/constraints.md
gcc/config/aarch64/predicates.md