diff mbox series

[COMMITTED,1/2] Revert "gcc: xtensa: fix PR target/108876"

Message ID 20230223093726.3258958-1-jcmvbkbc@gmail.com
State New
Headers show
Series [COMMITTED,1/2] Revert "gcc: xtensa: fix PR target/108876" | expand

Commit Message

Max Filippov Feb. 23, 2023, 9:37 a.m. UTC
This reverts commit b2ef02e8cbbaf95fee98be255f697f47193960ec.
---
 gcc/config/xtensa/xtensa.cc |  2 ++
 gcc/config/xtensa/xtensa.md | 20 +++++++-------------
 2 files changed, 9 insertions(+), 13 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index 5c1c713e122d..d0320efe21d4 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -3548,6 +3548,8 @@  xtensa_expand_epilogue (bool sibcall_p)
 			      gen_frame_mem (SImode, x));
 	    }
 	}
+      if (sibcall_p)
+	emit_use (gen_rtx_REG (SImode, A0_REG));
 
       if (cfun->machine->current_frame_size > 0)
 	{
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index b8a8aaf97640..d3996b26cb5c 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -2369,10 +2369,8 @@ 
    (set_attr "length"	"3")])
 
 (define_expand "sibcall"
-  [(parallel [
-    (call (match_operand 0 "memory_operand" "")
-	  (match_operand 1 "" ""))
-    (use (reg:SI A0_REG))])]
+  [(call (match_operand 0 "memory_operand" "")
+	 (match_operand 1 "" ""))]
   "!TARGET_WINDOWED_ABI"
 {
   xtensa_prepare_expand_call (0, operands);
@@ -2380,8 +2378,7 @@ 
 
 (define_insn "sibcall_internal"
   [(call (mem:SI (match_operand:SI 0 "call_insn_operand" "nic"))
-	 (match_operand 1 "" "i"))
-   (use (reg:SI A0_REG))]
+	 (match_operand 1 "" "i"))]
   "!TARGET_WINDOWED_ABI && SIBLING_CALL_P (insn)"
 {
   return xtensa_emit_sibcall (0, operands);
@@ -2391,11 +2388,9 @@ 
    (set_attr "length"	"3")])
 
 (define_expand "sibcall_value"
-  [(parallel [
-    (set (match_operand 0 "register_operand" "")
-	 (call (match_operand 1 "memory_operand" "")
-	       (match_operand 2 "" "")))
-    (use (reg:SI A0_REG))])]
+  [(set (match_operand 0 "register_operand" "")
+	(call (match_operand 1 "memory_operand" "")
+	      (match_operand 2 "" "")))]
   "!TARGET_WINDOWED_ABI"
 {
   xtensa_prepare_expand_call (1, operands);
@@ -2404,8 +2399,7 @@ 
 (define_insn "sibcall_value_internal"
   [(set (match_operand 0 "register_operand" "=a")
 	(call (mem:SI (match_operand:SI 1 "call_insn_operand" "nic"))
-	      (match_operand 2 "" "i")))
-   (use (reg:SI A0_REG))]
+	      (match_operand 2 "" "i")))]
   "!TARGET_WINDOWED_ABI && SIBLING_CALL_P (insn)"
 {
   return xtensa_emit_sibcall (1, operands);