diff mbox series

IBM zSystems: Fix predicate execute_operation

Message ID 20230211161044.3540594-1-stefansf@linux.ibm.com
State New
Headers show
Series IBM zSystems: Fix predicate execute_operation | expand

Commit Message

Stefan Schulze Frielinghaus Feb. 11, 2023, 4:10 p.m. UTC
Use constrain_operands in order to check whether there exists a valid
alternative instead of extract_constrain_insn which ICEs in case no
alternative is found.

Bootstrapped and regtested on IBM zSystems.  Ok for mainline?

gcc/ChangeLog:

	* config/s390/predicates.md (execute_operation): Use
	constrain_operands instead of extract_constrain_insn in order to
	determine wheter there exists a valid alternative.
---
 gcc/config/s390/predicates.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andreas Krebbel Feb. 13, 2023, 10:42 a.m. UTC | #1
On 2/11/23 17:10, Stefan Schulze Frielinghaus wrote:
> Use constrain_operands in order to check whether there exists a valid
> alternative instead of extract_constrain_insn which ICEs in case no
> alternative is found.
> 
> Bootstrapped and regtested on IBM zSystems.  Ok for mainline?
> 
> gcc/ChangeLog:
> 
> 	* config/s390/predicates.md (execute_operation): Use
> 	constrain_operands instead of extract_constrain_insn in order to
> 	determine wheter there exists a valid alternative.

Ok. Thanks!

Andreas
diff mbox series

Patch

diff --git a/gcc/config/s390/predicates.md b/gcc/config/s390/predicates.md
index 404e8d87b63..d5d5a7cc0d3 100644
--- a/gcc/config/s390/predicates.md
+++ b/gcc/config/s390/predicates.md
@@ -479,9 +479,9 @@ 
   if (icode < 0)
     return false;
 
-  extract_constrain_insn (insn);
+  extract_insn (insn);
 
-  return which_alternative >= 0;
+  return constrain_operands (reload_completed, get_enabled_alternatives (insn)) == 1;
 })
 
 ;; Return true if OP is a store multiple operation.  It is known to be a