Hi All, LTO bootstrap for ARM fails with the commit commit 67c18bce7054934528ff5930cca283b4ac967dca * combine.c (record_dead_and_set_regs_1): Record the source unmodified for a paradoxical SUBREG on a WORD_REGISTER_OPERATIONS target.
It fails with an internal compiler error: in operator+=, at profile-count.h:792. With the commit now we are not generating gen_lowpart for CONST_INT as in (set (subreg:SI (reg:QI 1434) 0) (const_int 224 [0xe0])) and likes. As discussed in the PR, attached patch fixes this and fixes the bootstrap failure. I am not able to create a reduced testcase for this. However, it is being tested with LTO bootstrap for ARM. I therefore believe that it is OK. I have also tested the patch with x86_64-linux-gnu with no new regressions. Is this OK for trunk? Thanks, Kugan
diff --git a/gcc/rtl.h b/gcc/rtl.h index f991919..52ecd5a 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -4401,6 +4401,7 @@ word_register_operation_p (const_rtx x) { switch (GET_CODE (x)) { + case CONST_INT: case ROTATE: case ROTATERT: case SIGN_EXTRACT:
log
Description: Binary data