* config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
authorTerry Guo <terry.guo@arm.com>
Wed, 28 Jan 2015 06:18:37 +0000 (06:18 +0000)
committerXuepeng Guo <xguo@gcc.gnu.org>
Wed, 28 Jan 2015 06:18:37 +0000 (06:18 +0000)
From-SVN: r220197

gcc/ChangeLog
gcc/config/arm/thumb1.md

index 67d3fc77555a764e48a838e91f77bbd65ec788ba..32dbae4f6e841558945cce3f1fae3270da199b67 100644 (file)
@@ -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
index b1a589774ea51cc34c8cec25735ac82fae10a641..3847b33bd9cdfbb082152a80edeeabd4073b325d 100644 (file)
   "
 )
 
+(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"))