>> 3) adding a check that the MINUS is a legitimate address, and only wrap >> it in CONST if it is. > > s/address/constant/; it's not clear that it's used as an address > at that point; it's just two expressions that gcc tries to > reduce.
Right. > But I get the point; I'm leaning towards something like > strengthening that it's a legitimate constant. See > <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36182#c12> and > other comments in that PR. But... should we really redefine > LEGITIMATE_CONSTANT_P and its documentation at this stage? We can do it incrementally. For now, only redefine LEGITIMATE_CONSTANT_P on CRIS and in the documentation, and use it in simplify_plus_minus. For 4.5, we can look at other places using gen_rtx_CONST and strengthen them too. Paolo