> So, what case do you see disabled where there is no sign conversion > involved?
For the Ada testcase I attached, in fold_binary_loc we have: (gdb) p debug_tree(op0) <nop_expr 0x7ffff700c5a0 type <integer_type 0x7ffff6fdd0a8 bitsizetype public unsigned sizetype DI size <integer_cst 0x7ffff6fccec0 constant visited 64> unit size <integer_cst 0x7ffff6fccee0 constant visited 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff6fdd0a8 precision 64 min <integer_cst 0x7ffff6fccf60 0> max <integer_cst 0x7ffff6fccf80 -1>> readonly arg 0 <mult_expr 0x7ffff700e030 type <integer_type 0x7ffff6fdd000 sizetype public unsigned sizetype DI size <integer_cst 0x7ffff6fccec0 64> unit size <integer_cst 0x7ffff6fccee0 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff6fdd000 precision 64 min <integer_cst 0x7ffff6fccf00 0> max <integer_cst 0x7ffff6fccf20 -1>> readonly (gdb) p debug_tree(arg0) <mult_expr 0x7ffff700e030 type <integer_type 0x7ffff6fdd000 sizetype public unsigned sizetype DI size <integer_cst 0x7ffff6fccec0 constant visited 64> unit size <integer_cst 0x7ffff6fccee0 constant visited 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff6fdd000 precision 64 min <integer_cst 0x7ffff6fccf00 0> max <integer_cst 0x7ffff6fccf20 -1>> readonly -- Eric Botcazou