From 12144401352528b4cf70228e2bea3c7a99f2ee3f Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Mon, 26 Mar 2018 02:17:12 +0000 Subject: [PATCH] [X86] Give VMOVSX/ZX the same itinerary as the SSE version so they'll reuse the same generated scheduler class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328468 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrSSE.td | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index 4db7e1c3ef8..2ec2f902750 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -5340,30 +5340,25 @@ multiclass SS41I_pmovx_rrrm opc, string OpcodeStr, X86MemOperand MemOp, multiclass SS41I_pmovx_rm_all opc, string OpcodeStr, X86MemOperand MemOp, X86MemOperand MemYOp, - OpndItins SSEItins, OpndItins AVXItins, - OpndItins AVX2Itins, Predicate prd> { - defm NAME : SS41I_pmovx_rrrm; + OpndItins itins, Predicate prd> { + defm NAME : SS41I_pmovx_rrrm; let Predicates = [HasAVX, prd] in defm V#NAME : SS41I_pmovx_rrrm, VEX, VEX_WIG; + VR128, VR128, itins>, VEX, VEX_WIG; let Predicates = [HasAVX2, prd] in defm V#NAME#Y : SS41I_pmovx_rrrm, VEX, VEX_L, VEX_WIG; + VR256, VR128, itins>, VEX, VEX_L, VEX_WIG; } multiclass SS41I_pmovx_rm opc, string OpcodeStr, X86MemOperand MemOp, X86MemOperand MemYOp, Predicate prd> { defm PMOVSX#NAME : SS41I_pmovx_rm_all; + SSE_INTALU_ITINS_SHUFF_P, prd>; defm PMOVZX#NAME : SS41I_pmovx_rm_all; + SSE_INTALU_ITINS_SHUFF_P, prd>; } defm BW : SS41I_pmovx_rm<0x20, "bw", i64mem, i128mem, NoVLX_Or_NoBWI>; -- 2.11.0