From: Craig Topper Date: Mon, 17 Jun 2019 23:08:29 +0000 (+0000) Subject: Use VR128X instead of FR32X/FR64X for the register class in VMOVSSZmrk/VMOVSDZmrk. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8d008c0fb8a0c155ab00b74c712379f1e564a6f0;p=llvm Use VR128X instead of FR32X/FR64X for the register class in VMOVSSZmrk/VMOVSDZmrk. Removes COPY_TO_REGCLASS from some patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363630 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 6ceb5517863..423e0c4ba49 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -3941,7 +3941,7 @@ multiclass avx512_move_scalar; let mayStore = 1, hasSideEffects = 0 in def mrk: AVX512PI<0x11, MRMDestMem, (outs), - (ins _.ScalarMemOp:$dst, VK1WM:$mask, _.FRC:$src), + (ins _.ScalarMemOp:$dst, VK1WM:$mask, _.RC:$src), !strconcat(asm, "\t{$src, $dst {${mask}}|$dst {${mask}}, $src}"), [], _.ExeDomain>, EVEX, EVEX_K, Sched<[WriteFStore]>, NotMemoryFoldable; @@ -3988,7 +3988,7 @@ def : Pat<(masked_store (iPTR 0))), addr:$dst, Mask), (!cast(InstrStr#mrk) addr:$dst, (COPY_TO_REGCLASS MaskRC:$mask, VK1WM), - (COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>; + _.info128.RC:$src)>; } @@ -4003,7 +4003,7 @@ def : Pat<(masked_store (iPTR 0))), addr:$dst, Mask), (!cast(InstrStr#mrk) addr:$dst, (COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM), - (COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>; + _.info128.RC:$src)>; } @@ -4023,13 +4023,13 @@ def : Pat<(masked_store (iPTR 0))), addr:$dst, Mask512), (!cast(InstrStr#mrk) addr:$dst, (COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM), - (COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>; + _.info128.RC:$src)>; // AVX512VL pattern. def : Pat<(masked_store (_.info128.VT _.info128.RC:$src), addr:$dst, Mask128), (!cast(InstrStr#mrk) addr:$dst, (COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM), - (COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>; + _.info128.RC:$src)>; } multiclass avx512_load_scalar_lowering