<div dir="ltr">I didn't know there was a stage-two build failure. If the original patch is bad, I don't expect this to fix it. Do you have any additional information that can help me narrow down the problem?<div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 26, 2019 at 9:46 PM David Zarzycki via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Craig,<br>
<br>
A locale bisect just finished. Does this fix the stage-two build failure introduced by r373021?<br>
<br>
Dave<br>
<br>
> On Sep 27, 2019, at 2:22 AM, Craig Topper via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> <br>
> Author: ctopper<br>
> Date: Thu Sep 26 16:22:15 2019<br>
> New Revision: 373031<br>
> <br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=373031&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=373031&view=rev</a><br>
> Log:<br>
> [X86] Remove CodeGenOnly instructions added in r373021, but keep the isel patterns and add COPY_TO_REGCLASS to them.<br>
> <br>
> Modified:<br>
>    llvm/trunk/lib/Target/X86/X86InstrAVX512.td<br>
> <br>
> Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=373031&r1=373030&r2=373031&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=373031&r1=373030&r2=373031&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)<br>
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Thu Sep 26 16:22:15 2019<br>
> @@ -3958,18 +3958,6 @@ multiclass avx512_move_scalar<string asm<br>
>                !strconcat(asm, "\t{$src, $dst {${mask}} {z}|",<br>
>                "$dst {${mask}} {z}, $src}"),<br>
>                [], _.ExeDomain>, EVEX, EVEX_KZ, Sched<[WriteFLoad]>;<br>
> -    let isCodeGenOnly = 1 in {<br>
> -    def rmk_alt : AVX512PI<0x10, MRMSrcMem, (outs _.FRC:$dst),<br>
> -                  (ins _.FRC:$src0, _.KRCWM:$mask, _.ScalarMemOp:$src),<br>
> -                  !strconcat(asm, "\t{$src, $dst {${mask}}|",<br>
> -                  "$dst {${mask}}, $src}"),<br>
> -                  [], _.ExeDomain>, EVEX, EVEX_K, Sched<[WriteFLoad]>;<br>
> -    def rmkz_alt : AVX512PI<0x10, MRMSrcMem, (outs _.FRC:$dst),<br>
> -                   (ins _.KRCWM:$mask, _.ScalarMemOp:$src),<br>
> -                   !strconcat(asm, "\t{$src, $dst {${mask}} {z}|",<br>
> -                   "$dst {${mask}} {z}, $src}"),<br>
> -                   [], _.ExeDomain>, EVEX, EVEX_KZ, Sched<[WriteFLoad]>;<br>
> -    }<br>
>   }<br>
>   def mr: AVX512PI<0x11, MRMDestMem, (outs), (ins _.ScalarMemOp:$dst, _.FRC:$src),<br>
>              !strconcat(asm, "\t{$src, $dst|$dst, $src}"),<br>
> @@ -4235,9 +4223,12 @@ def : Pat<(f32 (X86selects VK1WM:$mask,<br>
>            (v4f32 (COPY_TO_REGCLASS FR32X:$src1, VR128X)))), FR32X)>;<br>
> <br>
> def : Pat<(f32 (X86selects VK1WM:$mask, (loadf32 addr:$src), (f32 FR32X:$src0))),<br>
> -          (VMOVSSZrmk_alt FR32X:$src0, VK1WM:$mask, addr:$src)>;<br>
> +          (COPY_TO_REGCLASS<br>
> +           (v4f32 (VMOVSSZrmk (v4f32 (COPY_TO_REGCLASS FR32X:$src0, VR128X)),<br>
> +                                                       VK1WM:$mask, addr:$src)),<br>
> +           FR32X)>;<br>
> def : Pat<(f32 (X86selects VK1WM:$mask, (loadf32 addr:$src), fp32imm0)),<br>
> -          (VMOVSSZrmkz_alt VK1WM:$mask, addr:$src)>;<br>
> +          (COPY_TO_REGCLASS (v4f32 (VMOVSSZrmkz VK1WM:$mask, addr:$src)), FR32X)>;<br>
> <br>
> def : Pat<(f64 (X86selects VK1WM:$mask, (f64 FR64X:$src1), (f64 FR64X:$src2))),<br>
>           (COPY_TO_REGCLASS (v2f64 (VMOVSDZrrk<br>
> @@ -4250,9 +4241,12 @@ def : Pat<(f64 (X86selects VK1WM:$mask,<br>
>            (v2f64 (COPY_TO_REGCLASS FR64X:$src1, VR128X)))), FR64X)>;<br>
> <br>
> def : Pat<(f64 (X86selects VK1WM:$mask, (loadf64 addr:$src), (f64 FR64X:$src0))),<br>
> -          (VMOVSDZrmk_alt FR64X:$src0, VK1WM:$mask, addr:$src)>;<br>
> +          (COPY_TO_REGCLASS<br>
> +           (v2f64 (VMOVSDZrmk (v2f64 (COPY_TO_REGCLASS FR64X:$src0, VR128X)),<br>
> +                                                       VK1WM:$mask, addr:$src)),<br>
> +           FR64X)>;<br>
> def : Pat<(f64 (X86selects VK1WM:$mask, (loadf64 addr:$src), fp64imm0)),<br>
> -          (VMOVSDZrmkz_alt VK1WM:$mask, addr:$src)>;<br>
> +          (COPY_TO_REGCLASS (v2f64 (VMOVSDZrmkz VK1WM:$mask, addr:$src)), FR64X)>;<br>
> <br>
> let hasSideEffects = 0, isCodeGenOnly = 1, ForceDisassemble = 1 in {<br>
>   def VMOVSSZrr_REV: AVX512<0x11, MRMDestReg, (outs VR128X:$dst),<br>
> <br>
> <br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>