Skip to content

Commit b8701dc

Browse files
committed
[X86] AMD Zen 3: mark XMM/YMM (but not MMX!) reg moves as eliminatible in RegisterFile
1 parent 5b1610a commit b8701dc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

llvm/lib/Target/X86/X86ScheduleZnver3.td

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,9 @@ def Zn3FPCLM01 : ProcResGroup<[Zn3FPCLM0, Zn3FPCLM1]>;
336336
// The floating point register file has 160 vector registers
337337
// of 128 bits each in Zen 1 and 256 bits each in Zen 2.
338338
// anandtech also confirms this.
339-
def Zn3FpPRF : RegisterFile<160, [VR64, VR128, VR256], [1, 1, 1]>;
339+
def Zn3FpPRF : RegisterFile<160, [VR64, VR128, VR256], [1, 1, 1], [0, 1, 1],
340+
6, // Max moves that can be eliminated per cycle.
341+
0>; // Restrict move elimination to zero regs.
340342

341343
// AMD SOG 19h, 2.11 Floating-Point Unit
342344
// The floating-point scheduler has a 2*32 entry macro op capacity.

0 commit comments

Comments
 (0)