aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTerry Guo <terry.guo@arm.com>2015-01-28 06:18:37 +0000
committerXuepeng Guo <xguo@gcc.gnu.org>2015-01-28 06:18:37 +0000
commit5ea22cfc70c01b2027e5c4eb0d653b11aaa18bd4 (patch)
tree4d6087e99474d9b7aa327c30d2cacf269aacc8f5
parente23fbe9133831d59a6ee2b916c1eb5333d0948fe (diff)
downloadgcc-5ea22cfc70c01b2027e5c4eb0d653b11aaa18bd4.zip
gcc-5ea22cfc70c01b2027e5c4eb0d653b11aaa18bd4.tar.gz
gcc-5ea22cfc70c01b2027e5c4eb0d653b11aaa18bd4.tar.bz2
* config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
From-SVN: r220197
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/thumb1.md10
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 67d3fc7..32dbae4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-28 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
+
2015-01-27 David Malcolm <dmalcolm@redhat.com>
* toplev.c (print_version): Add param "show_global_state", and
diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
index b1a5897..3847b33 100644
--- a/gcc/config/arm/thumb1.md
+++ b/gcc/config/arm/thumb1.md
@@ -1774,6 +1774,16 @@
"
)
+(define_insn "*thumb1_movpc_insn"
+ [(set (match_operand:SI 0 "s_register_operand" "=l")
+ (reg:SI PC_REGNUM))]
+ "TARGET_THUMB1"
+ "mov\\t%0, pc"
+ [(set_attr "length" "2")
+ (set_attr "conds" "nocond")
+ (set_attr "type" "mov_reg")]
+)
+
;; NB never uses BX.
(define_insn "*thumb1_tablejump"
[(set (pc) (match_operand:SI 0 "register_operand" "l*r"))