On Fri, May 31, 2013 at 11:10:54AM +0200, Segher Boessenkool wrote: > >Ok, I tracked down what the problem is. We never implemented the > >EQV, ORC, or > >NAND insns in the GPRs. When I added the power8 vector versions, > >the split > >wide types pass tried to do its thing in the GPRs, it creates a > >bad insn. I > >originally saw it in the atomic ops, because I was testing all of the > >combinations provided, but I can reproduce it just by using > >__int128_t. > > The boolc<mode>3_internal1 pattern uses non-canonical RTL for > eqv: (xor (not x) y) instead of (not (xor x y)). You'll need > to add a correct pattern, or wait for my patch series (which > I'll start sending later today) to get in. > > (There are problems with the dot forms of xor, nand, nor, and > eqv as well, but I don't think you will hit that?)
I can probably wait for a bit if you are doing it shortly. For splitting 128-bit types, we won't need the dot form. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797