On 12/19/2014 01:50 PM, Segher Boessenkool wrote:
On Fri, Dec 19, 2014 at 10:54:22AM -0600, Segher Boessenkool wrote:
>On Thu, Dec 18, 2014 at 02:48:46PM -0600, Pat Haugen wrote:
> >  ;; 128-bit ANDC/ORC
> >+;;   In the case where rs6000_split_logical is called, the NOT'd operand
> >+;;   must be opnd1 in order for the split insns to be recognized.
>
>So fix rs6000_split_logical?
That is, the call to it -- if operand[2] has the NOT, it should be
false, false, true instead of false, true, false.

Yes, that was my first attempt at fixing this problem, but ended up with an unrecognized insn for the following. Which is why I switched my approach to swapping operands in the patch.


builtin-arith-overflow-7.c:80:1: error: unrecognizable insn:
 }
 ^
(insn 537 536 538 35 (set (reg:DI 10 10)
        (and:DI (reg:DI 8 8)
            (not:DI (reg:DI 30 30)))) builtin-arith-overflow-7.c:76 -1
     (nil))

Reply via email to