From: Richard Sandiford Date: Tue, 24 Oct 2023 10:03:21 +0000 (+0100) Subject: i386: Fix unprotected REGNO in aeswidekl_operation X-Git-Tag: basepoints/gcc-15~5257 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc4779559bea982f9307a8bc1cb017b8eda28d6d;p=thirdparty%2Fgcc.git i386: Fix unprotected REGNO in aeswidekl_operation I hit an ICE in aeswidekl_operation while testing the late-combine pass on x86. The predicate tested REGNO without first testing REG_P. gcc/ * config/i386/predicates.md (aeswidekl_operation): Protect REGNO check with REG_P. --- diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index ef49efdbde58..e3d55f0c5022 100644 --- a/gcc/config/i386/predicates.md +++ b/gcc/config/i386/predicates.md @@ -2260,6 +2260,7 @@ || GET_CODE (SET_SRC (elt)) != UNSPEC_VOLATILE || GET_MODE (SET_SRC (elt)) != V2DImode || XVECLEN (SET_SRC (elt), 0) != 1 + || !REG_P (XVECEXP (SET_SRC (elt), 0, 0)) || REGNO (XVECEXP (SET_SRC (elt), 0, 0)) != GET_SSE_REGNO (i)) return false; }