http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54619
--- Comment #1 from Steve Ellcey <sje at gcc dot gnu.org> 2012-09-18 18:34:21 UTC --- It looks like this is coming from mips16_unextended_reference_p, if mode is VOIDmode then GET_MODE_SIZE (mode) is zero and we wind up doing 'offset % 0'. I think we should be checking for 'GET_MODE_SIZE == 0' instead of mode != 'BLKmode'. before doing the modulo instruction.