On Fri, Oct 28, 2016 at 10:59:35AM +0200, Jakub Jelinek wrote: > On Fri, Oct 28, 2016 at 10:52:34AM +0200, Richard Biener wrote: > > > I've already committed the original patch based on Eric's review, but > > > managed to come up with another testcase that still ICEs (one with two > > > different complex modes). Is the following ok for trunk if it passes > > > bootstrap/regtest? > > > > As we're dealing with memory isn't GET_MODE_SIZE the correct thing to > > use? > > GET_MODE_PRECISION is what the case VIEW_CONVERT_EXPR case tests:
BTW, testing GET_MODE_SIZE or GET_MODE_BITSIZE doesn't make sense there, if (bitpos == 0 && bitsize == GET_MODE_BITSIZE (GET_MODE (op0)) should already ensure that. The GET_MODE_PRECISION check will force into memory say x86 XCmode to {TC,CTI}mode or vice versa conversions, which are better done through memory anyway. If it isn't needed, then the question is why VCE uses it. Anyway, I've successfully bootstrapped/regtested the patch as is on x86_64-linux and i686-linux. Jakub