Module Name: src Committed By: kalvisd Date: Sun Sep 29 06:17:31 UTC 2024
Modified Files: src/external/gpl3/gcc/dist/gcc: recog.cc Log Message: gcc: vax: subregister offset constraints Constrain offsets within subregister expressions to be a multiple of the size of the data type requested. That is, offsets for a word sized (2 byte) subregister may only be multiples of 2 OK rin@ To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 src/external/gpl3/gcc/dist/gcc/recog.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/gpl3/gcc/dist/gcc/recog.cc diff -u src/external/gpl3/gcc/dist/gcc/recog.cc:1.1.1.1 src/external/gpl3/gcc/dist/gcc/recog.cc:1.2 --- src/external/gpl3/gcc/dist/gcc/recog.cc:1.1.1.1 Sun Jul 30 05:20:58 2023 +++ src/external/gpl3/gcc/dist/gcc/recog.cc Sun Sep 29 06:17:31 2024 @@ -1484,7 +1484,11 @@ general_operand (rtx op, machine_mode mo ??? This is a kludge. */ if (!reload_completed && maybe_ne (SUBREG_BYTE (op), 0) - && MEM_P (sub)) + && MEM_P (sub) + && (maybe_gt (SUBREG_BYTE (op), GET_MODE_SIZE (GET_MODE (sub))) + || !multiple_p (SUBREG_BYTE (op), GET_MODE_SIZE (mode)) + ) + ) return false; if (REG_P (sub)