https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64093

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> Try this patch:
> Index: rs6000.md
> ===================================================================
> --- rs6000.md (revision 218072)
> +++ rs6000.md (working copy)
> @@ -2644,7 +2644,8 @@ (define_expand "and<mode>3"
>      }
>  
>    if (logical_const_operand (operands[2], <MODE>mode)
> -      && !any_mask_operand (operands[2], <MODE>mode))
> +      && !any_mask_operand (operands[2], <MODE>mode)
> +      && rs6000_gen_cell_microcode)
>      {
>        emit_insn (gen_and<mode>3_imm (operands[0], operands[1],
> operands[2]));
>        DONE;

This fixes the problem. Thanks.

Reply via email to