rs6000: Make eh_set_lr_<mode> a define_insn_and_split
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 14 May 2019 17:34:00 +0000 (19:34 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 14 May 2019 17:34:00 +0000 (19:34 +0200)
* config/rs6000/rs6000.md (eh_set_lr_<mode>): Merge with following
define_split to become a define_insn_and_split.

From-SVN: r271185

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 812f8c34399f44718f262559f359f3687128d672..259d9d52b61001b4d871117e8fe545033ccc6c12 100644 (file)
@@ -1,3 +1,8 @@
+2019-05-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (eh_set_lr_<mode>): Merge with following
+       define_split to become a define_insn_and_split.
+
 2019-05-14  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000-protos.h (rs6000_emit_epilogue): Change
index c3181e7f4dc9895bdb8f5a4934ea07ea2704d027..31fc90a4aa2da674e1c0ca1e17ef01adcc9ad1ef 100644 (file)
 })
 
 ; We can't expand this before we know where the link register is stored.
-(define_insn "eh_set_lr_<mode>"
-  [(unspec_volatile [(match_operand:P 0 "register_operand" "r")]
-                   UNSPECV_EH_RR)
+(define_insn_and_split "eh_set_lr_<mode>"
+  [(unspec_volatile [(match_operand:P 0 "register_operand" "r")] UNSPECV_EH_RR)
    (clobber (match_scratch:P 1 "=&b"))]
   ""
-  "#")
-
-(define_split
-  [(unspec_volatile [(match_operand 0 "register_operand")] UNSPECV_EH_RR)
-   (clobber (match_scratch 1))]
+  "#"
   "reload_completed"
   [(const_int 0)]
 {