On Mon, 10 Jun 2013, Iyer, Balaji V wrote: > I looked into it a bit more detail. It was an error on my side. I was > removing the excess precision expr layer instead of fully folding it. I > did that change (i.e. fully fold the expression) and all the errors seem > to go away. Here is the fixed patch that fixes PR c/57563. It passes for > 32 bit and 64 bit tests. Here are the changelog entries:
This version is better, but if removing an EXCESS_PRECISION_EXPR there caused problems, why is it OK to remove CONVERT_EXPR and NOP_EXPR like you still do - won't that also cause type mismatches (at least if the conversions are to types that count as sufficiently different for GIMPLE purposes - say conversions between 32-bit and 64-bit integers)? Maybe you actually need to fold without removing any such wrappers first at all? -- Joseph S. Myers jos...@codesourcery.com