https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93229
--- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- (In reply to David Malcolm from comment #0) > A pristine checkout of r280132 doesn't build for me on x86_64-pc-linux-gnu: > > ../../src/gcc/tree-ssa-forwprop.c: In function ‘bool > simplify_count_trailing_zeroes(gimple_stmt_iterator*)’: > ../../src/gcc/config/i386/i386.h:2886:30: error: cannot convert > ‘poly_uint16’ {aka ‘poly_int<1, short unsigned int>’} to ‘long int’ in > assignment > 2886 | ((VALUE) = GET_MODE_BITSIZE (MODE), TARGET_BMI ? 1 : 0) > | ~~~~~~~~~~~~~~~~~^~~~~~ > | | > | poly_uint16 {aka poly_int<1, short > unsigned int>} > ../../src/gcc/tree-ssa-forwprop.c:1925:22: note: in expansion of macro > ‘CTZ_DEFINED_VALUE_AT_ZERO’ > 1925 | bool zero_ok = CTZ_DEFINED_VALUE_AT_ZERO (TYPE_MODE (type), > ctzval) == 2; > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > > > I'm assuming this was introduced in r280132, as that commit introduced > simplify_count_trailing_zeroes. > > Am using gcc-9.2.1-1.fc30.x86_64 to try to build stage 1. That's odd, it shouldn't be using any poly types on x86... Machmode.h has: #if ONLY_FIXED_SIZE_MODES #define GET_MODE_BITSIZE(MODE) ((unsigned short) mode_to_bits (MODE).coeffs[0]) #else That's doing the correct thing if ONLY_FIXED_SIZE_MODES is defined.