Module Name: src Committed By: rin Date: Sat Oct 7 12:05:36 UTC 2023
Modified Files: src/external/gpl3/gcc.old/dist/gcc: rtlanal.c target.def targhooks.c targhooks.h src/external/gpl3/gcc.old/dist/gcc/config/vax: vax.c src/external/gpl3/gcc.old/dist/gcc/doc: tm.texi tm.texi.in Log Message: gcc.old: PR port-vax/57646 patch provided by Kalvis Duckmanton [13/21] Bitfield instructions will generate a reserved operand fault if the operands are not reasonable (size > 32, position > 31 and size not zero and field in a register). GCC generates code to test for these conditions but in certain circumstances, the optimiser may decide that a bitfield extraction instruction is invariant and move it ahead of the instructions testing its arguments. Introduce a new target hook to indicate to GCC that a bitfield instruction may trap and update may_trap_p_1() XXXRO: Although this patch includes diffs outside gcc/config/vax, NFC for !TARGET_BITFIELD_MAY_TRAP_P, i.e., other than vax. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/external/gpl3/gcc.old/dist/gcc/rtlanal.c cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/gcc.old/dist/gcc/target.def cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/gcc.old/dist/gcc/targhooks.c \ src/external/gpl3/gcc.old/dist/gcc/targhooks.h cvs rdiff -u -r1.16 -r1.17 \ src/external/gpl3/gcc.old/dist/gcc/config/vax/vax.c cvs rdiff -u -r1.11 -r1.12 src/external/gpl3/gcc.old/dist/gcc/doc/tm.texi cvs rdiff -u -r1.9 -r1.10 src/external/gpl3/gcc.old/dist/gcc/doc/tm.texi.in Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.