0001-Remove-warning-for-SET-VOIDmode-BLKmode.patch
From 04376919c108c42a2e9835dd1809b198bc47513f Mon Sep 17 00:00:00 2001
From: Dominik Vogt<vogt@linux.vnet.ibm.com>
Date: Tue, 3 Nov 2015 16:42:37 +0100
Subject: [PATCH] Remove warning for SET VOIDmode -> BLKmode.
---
gcc/genrecog.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 599121f..2c1fb47 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -545,7 +545,7 @@ validate_pattern (rtx pattern, md_rtx_info *info, rtx set, int set_code)
@@ -616,8 +616,13 @@ validate_pattern (rtx pattern, md_rtx_info *info, rtx set, int set_code)
&& pred->allows_non_const
&& strstr (c_test, "operands") == NULL
&& ! (set
+ && set_code
&& GET_CODE (set) == SET
- && GET_CODE (SET_SRC (set)) == CALL))
+ && GET_CODE (SET_SRC (set)) == CALL)
+ && ! (set
+ && set_code == 0
+ && GET_CODE (set) == SET
+ && GET_MODE (SET_DEST (set)) == BLKmode))
@@ -691,13 +697,15 @@ validate_pattern (rtx pattern, md_rtx_info *info, rtx set, int set_code)
return;
case ZERO_EXTRACT:
- validate_pattern (XEXP (pattern, 0), info, set, set ? '+' : 0);
+ validate_pattern (XEXP (pattern, 0), info,
+ set_code ? set : NULL_RTX, set_code ? '+' : 0);
validate_pattern (XEXP (pattern, 1), info, NULL_RTX, 0);
validate_pattern (XEXP (pattern, 2), info, NULL_RTX, 0);
return;
case STRICT_LOW_PART:
- validate_pattern (XEXP (pattern, 0), info, set, set ? '+' : 0);
+ validate_pattern (XEXP (pattern, 0), info,
+ set_code ? set : NULL_RTX, set_code ? '+' : 0);
return;