summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-04-29 10:42:45 -0700
committerYamaArashi <shadow962@live.com>2016-04-29 10:42:45 -0700
commita0f147d45bfb4d45da82baa07fea47fa7bf35d7b (patch)
treeed0d9846e4ba90cf3416f2f9eac8e8b8d444efda /gcc/recog.c
parent4553c7e8fe69c50c201bc39dac1be088004babc2 (diff)
revert some changes
Diffstat (limited to 'gcc/recog.c')
-rwxr-xr-xgcc/recog.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 6abb8aa..3c112d1 100755
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -548,6 +548,12 @@ validate_replace_rtx_1 (loc, from, to, object)
enum machine_mode is_mode = GET_MODE (to);
int pos = INTVAL (XEXP (x, 2));
+ if (code == ZERO_EXTRACT)
+ {
+ wanted_mode = insn_operand_mode[(int) CODE_FOR_extzv][1];
+ if (wanted_mode == VOIDmode)
+ wanted_mode = word_mode;
+ }
/* If we have a narrower mode, we can do something. */
if (wanted_mode != VOIDmode