If I replace your lines: if ((GET_CODE (sets[i].src_elt->exp) == CONST_INT)) insert_const_anchors (dest, sets[i].src_elt, GET_MODE (dest));
with: if ((GET_CODE (sets[i].src_elt->exp) == CONST_INT) && (INTVAL (sets[i].src_elt->exp) != 0)) insert_const_anchors (dest, sets[i].src_elt, GET_MODE (dest)); it does not fail anymore since I remove the 0 corner case I am seeing. I fail to see why it is a problem however. Like I said previously, it might be a problem with my target architecture but I fail to see why 0 is considered differently in the target files. Jc