aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2022-11-09 00:39:50 -0800
committerMax Filippov <jcmvbkbc@gmail.com>2022-11-16 04:35:37 -0800
commit99c9cbcc3ba3e005bad790a600853266a81d95ee (patch)
treedc57e85a0d6611c87818c2dfab59fb3fec22c5d1 /gcc
parentf58e6d42fc555ee471594ac57bccaa8a3fb833aa (diff)
downloadgcc-99c9cbcc3ba3e005bad790a600853266a81d95ee.zip
gcc-99c9cbcc3ba3e005bad790a600853266a81d95ee.tar.gz
gcc-99c9cbcc3ba3e005bad790a600853266a81d95ee.tar.bz2
gcc: m68k: fix PR target/107645
gcc/ PR target/107645 * config/m68k/predicates.md (symbolic_operand): Return false when UNSPEC is under the CONST node.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/predicates.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/m68k/predicates.md b/gcc/config/m68k/predicates.md
index f8dedd9..094a189 100644
--- a/gcc/config/m68k/predicates.md
+++ b/gcc/config/m68k/predicates.md
@@ -141,6 +141,8 @@
case CONST:
op = XEXP (op, 0);
+ if (GET_CODE (op) == UNSPEC)
+ return false;
return ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
|| GET_CODE (XEXP (op, 0)) == LABEL_REF)
&& GET_CODE (XEXP (op, 1)) == CONST_INT);