rs6000.md (eh_set_lr_<mode>): Make this a parameterized name.
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 1 Jul 2019 18:39:52 +0000 (20:39 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 1 Jul 2019 18:39:52 +0000 (20:39 +0200)
@eh_set_lr_<mode>

* config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized
name.
(eh_return): Use that name.  Simplify.

From-SVN: r272900

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

index 5da03c3a89f4c791990c124c48ad1a9c11967469..63af1c86f89e8aff7de2a572480b22fcdda9a7b8 100644 (file)
@@ -1,3 +1,9 @@
+2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (eh_set_lr_<mode>): Make this a parameterized
+       name.
+       (eh_return): Use that name.  Simplify.
+
 2019-07-01  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (ctr<mode>): Make this a parameterized name.
index 56f5350210db8a8e47e96f77d39a20baa03cd29a..6470d95f1918176cf396a26b9cee428515c5e150 100644 (file)
   [(use (match_operand 0 "general_operand"))]
   ""
 {
-  if (TARGET_32BIT)
-    emit_insn (gen_eh_set_lr_si (operands[0]));
-  else
-    emit_insn (gen_eh_set_lr_di (operands[0]));
+  emit_insn (gen_eh_set_lr (Pmode, operands[0]));
   DONE;
 })
 
 ; We can't expand this before we know where the link register is stored.
-(define_insn_and_split "eh_set_lr_<mode>"
+(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"))]
   ""