From: David Miller <da...@davemloft.net> Date: Mon, 08 Apr 2013 21:56:04 -0400 (EDT)
> > One major suboptimal area of the sparc back end is cstore generation > on 64-bit. > > Due to the way arguments and return values of functions must be > promoted, the ideal mode for cstore's result would be DImode. > > But this hasn't been done because of a fundamental limitation > of the cstore patterns. They require a fixed mode be used for > the boolean result value. > > I've decided to work around this by building a target hook which > specifies the type to use for conditional store results, and then I > use a special predicate for operans 0 in the cstore expanders so > that they still match even when we use DImode. > > The default version of the target hook just does what it does now, > so no other target should be impacted by this at all. > > Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite > with "-m64" to validate the 64-bit side. > > Any major objections? Since no objections were expressed, I've committed this to trunk.