re PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)
authorRichard Henderson <rth@gcc.gnu.org>
Mon, 18 Jan 2016 20:56:13 +0000 (12:56 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 18 Jan 2016 20:56:13 +0000 (12:56 -0800)
commit89f0a62ebcb9b8ef92aee117df5358c3b14932a6
tree1da60c532e5dcdeb190b255ef1840a7547b0cf7f
parent9585381acd709663a97f2c7b208a674a3ed4f4a9
re PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)

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.

From-SVN: r232540
gcc/ChangeLog
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/constraints.md
gcc/config/aarch64/predicates.md