On 6/2/20 1:09 PM, Richard Biener wrote:
So please be constructive.  Like, provide a testcase that ICEs
with the FAILs replaced by gcc_unreachable ().  Martin, may I suggest
to do this replacement and bootstrap/test?  I think it would be nice
to have testsuite coverage for the FAILs, and maybe we have that
already.

Hello.

There's the suggested patch that survives bootstrap on ppc64le-linux-gnu
and passes test-suite.

Martin
>From 22db04d058c9bbd140041e7aa2caf1613767095a Mon Sep 17 00:00:00 2001
From: Martin Liska <mli...@suse.cz>
Date: Tue, 2 Jun 2020 15:29:37 +0200
Subject: [PATCH] rs6000: replace FAIL with gcc_unreachable.

gcc/ChangeLog:

	* config/rs6000/vector.md: Replace FAIL with gcc_unreachable
	in all vcond* patterns.
---
 gcc/config/rs6000/vector.md | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index 662521e74fe..796345c80d3 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -354,7 +354,7 @@ (define_expand "vcond<mode><mode>"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcond<mode><mode>"
@@ -371,7 +371,7 @@ (define_expand "vcond<mode><mode>"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcondv4sfv4si"
@@ -389,7 +389,7 @@ (define_expand "vcondv4sfv4si"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcondv4siv4sf"
@@ -407,7 +407,7 @@ (define_expand "vcondv4siv4sf"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcondv2dfv2di"
@@ -425,7 +425,7 @@ (define_expand "vcondv2dfv2di"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcondv2div2df"
@@ -443,7 +443,7 @@ (define_expand "vcondv2div2df"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vcondu<mode><mode>"
@@ -460,7 +460,7 @@ (define_expand "vcondu<mode><mode>"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vconduv4sfv4si"
@@ -478,7 +478,7 @@ (define_expand "vconduv4sfv4si"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 (define_expand "vconduv2dfv2di"
@@ -496,7 +496,7 @@ (define_expand "vconduv2dfv2di"
 				    operands[3], operands[4], operands[5]))
     DONE;
   else
-    FAIL;
+    gcc_unreachable ();
 })
 
 ;; To support vector condition vectorization, define vcond_mask and vec_cmp.
-- 
2.26.2

Reply via email to