From: Simon Pilgrim Date: Sun, 13 Nov 2022 15:19:30 +0000 (+0000) Subject: [X86] Update WriteMPSAD class and remove VMPSADBWrri override X-Git-Tag: upstream/17.0.6~27824 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5120a43d543041bd6ea3e7c6ae96d778799f07c;p=platform%2Fupstream%2Fllvm.git [X86] Update WriteMPSAD class and remove VMPSADBWrri override AMD 15h SoG + Agner both indicate there's no difference between MPSADBWrri + VMPSADBWrri - I can't find any data on the folded variant so I've kept the existing numbers Removes the last X86 override for WriteMPSAD/WritePSADBW classes - removing a further 3 entries from every sched class table --- diff --git a/llvm/lib/Target/X86/X86ScheduleBdVer2.td b/llvm/lib/Target/X86/X86ScheduleBdVer2.td index 6a91d18..184f4de 100644 --- a/llvm/lib/Target/X86/X86ScheduleBdVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBdVer2.td @@ -1150,17 +1150,12 @@ def PdWriteVPMACS : SchedWriteRes<[PdFPU0, PdFPMMA, PdFPMAL]> { def : InstRW<[PdWriteVPMACS], (instrs VPMACSDQHrr, VPMACSDQLrr, VPMACSSDQHrr, VPMACSSDQLrr)>; -defm : PdWriteResXMMPair; +// FIXME: Investigate RR vs RM differences. +defm : PdWriteRes; +defm : PdWriteRes; defm : X86WriteResPairUnsupported; defm : X86WriteResPairUnsupported; -def PdWriteVMPSADBW : SchedWriteRes<[PdFPU0, PdFPMMA]> { - let Latency = 8; - let ResourceCycles = [1, 4]; - let NumMicroOps = 10; -} -def : InstRW<[PdWriteVMPSADBW], (instrs VMPSADBWrri)>; - defm : PdWriteResXMMPair; defm : PdWriteResXMMPair; defm : X86WriteResPairUnsupported; diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s index 36f009d..f996def 100644 --- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s @@ -1337,7 +1337,7 @@ vzeroupper # CHECK-NEXT: 2 2 1.00 vmovups %ymm0, %ymm2 # CHECK-NEXT: 8 1 1.00 * vmovups %ymm0, (%rax) # CHECK-NEXT: 2 5 1.50 * vmovups (%rax), %ymm2 -# CHECK-NEXT: 10 8 4.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: 8 8 4.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 8 14 4.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2 # CHECK-NEXT: 1 5 1.00 vmulpd %xmm0, %xmm1, %xmm2 # CHECK-NEXT: 1 10 1.50 * vmulpd (%rax), %xmm1, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s index cb00ddd..aa1decc 100644 --- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s @@ -172,7 +172,7 @@ roundss $1, (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 insertps $1, %xmm0, %xmm2 # CHECK-NEXT: 1 7 1.50 * insertps $1, (%rax), %xmm2 # CHECK-NEXT: 1 5 2.00 * movntdqa (%rax), %xmm2 -# CHECK-NEXT: 8 9 4.00 mpsadbw $1, %xmm0, %xmm2 +# CHECK-NEXT: 8 8 4.00 mpsadbw $1, %xmm0, %xmm2 # CHECK-NEXT: 8 14 4.00 * mpsadbw $1, (%rax), %xmm2 # CHECK-NEXT: 1 2 1.00 packusdw %xmm0, %xmm2 # CHECK-NEXT: 1 7 1.50 * packusdw (%rax), %xmm2