Skip to content

Commit 971ad74

Browse files
committed
Use VR128X instead of FR32X/FR64X for the register class in VMOVSSZmrk/VMOVSDZmrk.
Removes COPY_TO_REGCLASS from some patterns. llvm-svn: 363630
1 parent 0e18300 commit 971ad74

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

llvm/lib/Target/X86/X86InstrAVX512.td

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3941,7 +3941,7 @@ multiclass avx512_move_scalar<string asm, SDNode OpNode,
39413941
EVEX, Sched<[WriteFStore]>;
39423942
let mayStore = 1, hasSideEffects = 0 in
39433943
def mrk: AVX512PI<0x11, MRMDestMem, (outs),
3944-
(ins _.ScalarMemOp:$dst, VK1WM:$mask, _.FRC:$src),
3944+
(ins _.ScalarMemOp:$dst, VK1WM:$mask, _.RC:$src),
39453945
!strconcat(asm, "\t{$src, $dst {${mask}}|$dst {${mask}}, $src}"),
39463946
[], _.ExeDomain>, EVEX, EVEX_K, Sched<[WriteFStore]>,
39473947
NotMemoryFoldable;
@@ -3988,7 +3988,7 @@ def : Pat<(masked_store
39883988
(iPTR 0))), addr:$dst, Mask),
39893989
(!cast<Instruction>(InstrStr#mrk) addr:$dst,
39903990
(COPY_TO_REGCLASS MaskRC:$mask, VK1WM),
3991-
(COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>;
3991+
_.info128.RC:$src)>;
39923992

39933993
}
39943994

@@ -4003,7 +4003,7 @@ def : Pat<(masked_store
40034003
(iPTR 0))), addr:$dst, Mask),
40044004
(!cast<Instruction>(InstrStr#mrk) addr:$dst,
40054005
(COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM),
4006-
(COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>;
4006+
_.info128.RC:$src)>;
40074007

40084008
}
40094009

@@ -4023,13 +4023,13 @@ def : Pat<(masked_store
40234023
(iPTR 0))), addr:$dst, Mask512),
40244024
(!cast<Instruction>(InstrStr#mrk) addr:$dst,
40254025
(COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM),
4026-
(COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>;
4026+
_.info128.RC:$src)>;
40274027

40284028
// AVX512VL pattern.
40294029
def : Pat<(masked_store (_.info128.VT _.info128.RC:$src), addr:$dst, Mask128),
40304030
(!cast<Instruction>(InstrStr#mrk) addr:$dst,
40314031
(COPY_TO_REGCLASS (i32 (INSERT_SUBREG (IMPLICIT_DEF), MaskRC:$mask, subreg)), VK1WM),
4032-
(COPY_TO_REGCLASS _.info128.RC:$src, _.info128.FRC))>;
4032+
_.info128.RC:$src)>;
40334033
}
40344034

40354035
multiclass avx512_load_scalar_lowering<string InstrStr, AVX512VLVectorVTInfo _,

0 commit comments

Comments
 (0)