------- Comment #21 from steven at gcc dot gnu dot org 2008-01-09 22:46 ------- at cse.c:5418: elt = insert (dest, sets[i].src_elt, sets[i].dest_hash, GET_MODE (dest));
dest = (reg:DI 66 [ type.0+-4 ]) sets[i].src_elt->exp = (sign_extend:DI (reg:SI 72 [ type ])) sets[i].dest_hash = 5 and REG_QTY(66) == 5 so everything is OK up to this point. Later on, REG_QTY(66) is changed. This means that the original hash of 5 also changes (the HASH of a reg is its QTY number plus a constant). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31944