aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@linux.ibm.com>2022-02-08 14:39:16 +0100
committerRobin Dapp <rdapp@linux.ibm.com>2022-02-08 15:28:53 +0100
commit38a177fa4c2fd1ce75581145b3b8f12592b4aacd (patch)
tree3bb7483c1c9cb41a01ddd8223759ccc133ef7999
parent8dbb60b8dfc642a81f1c41fde11767150e8f91a5 (diff)
downloadgcc-38a177fa4c2fd1ce75581145b3b8f12592b4aacd.zip
gcc-38a177fa4c2fd1ce75581145b3b8f12592b4aacd.tar.gz
gcc-38a177fa4c2fd1ce75581145b3b8f12592b4aacd.tar.bz2
combine: Check for paradoxical subreg.
This adds a check for a paradoxical subreg in reg_subword_p () in order to prevent an ICE on s390 in try_combine () triggered by the movqicc expander. gcc/ChangeLog: * combine.cc (reg_subword_p): Check for paradoxical subreg.
-rw-r--r--gcc/combine.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/combine.cc b/gcc/combine.cc
index 7683f82..c264ede 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -2411,6 +2411,7 @@ reg_subword_p (rtx x, rtx reg)
x = XEXP (x, 0);
return GET_CODE (x) == SUBREG
+ && !paradoxical_subreg_p (x)
&& SUBREG_REG (x) == reg
&& GET_MODE_CLASS (GET_MODE (x)) == MODE_INT;
}