[PATCH] D44654: [X86][SandyBridge] SBWriteResPair +5cy and +1uop Memory Folds

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 19 18:41:07 PDT 2018


craig.topper added a comment.

I think this mostly looks ok. Most of this just stuff SNB doens't support anyway. We should file bugs for the obvious bugs its showing.



================
Comment at: test/CodeGen/X86/mmx-schedule.ll:1266
 ; GENERIC-NEXT:    packssdw %mm1, %mm0 # sched: [1:1.00]
-; GENERIC-NEXT:    packssdw (%rdi), %mm0 # sched: [5:1.00]
+; GENERIC-NEXT:    packssdw (%rdi), %mm0 # sched: [6:1.00]
 ; GENERIC-NEXT:    movq %mm0, %rax # sched: [1:0.33]
----------------
So a ton of MMX instructions are missing from SNB?


================
Comment at: test/CodeGen/X86/schedule-x86_32.ll:213
 ; SANDY-NEXT:    #NO_APP
-; SANDY-NEXT:    retl # sched: [5:1.00]
+; SANDY-NEXT:    retl # sched: [6:1.00]
 ;
----------------
So RETQ is in the scheduler model but RETL isn't?


================
Comment at: test/CodeGen/X86/sse41-schedule.ll:353
 ; GENERIC-NEXT:    dpps $7, %xmm1, %xmm0 # sched: [12:2.00]
-; GENERIC-NEXT:    dpps $7, (%rdi), %xmm0 # sched: [7:1.00]
+; GENERIC-NEXT:    dpps $7, (%rdi), %xmm0 # sched: [8:1.00]
 ; GENERIC-NEXT:    retq # sched: [1:1.00]
----------------
So DPPSrmi and VDPPSrmi are missing from the SNB scheduler model?


================
Comment at: test/CodeGen/X86/sse41-schedule.ll:713
 ; GENERIC-NEXT:    pblendvb %xmm0, %xmm1, %xmm3 # sched: [8:1.00]
-; GENERIC-NEXT:    pblendvb %xmm0, (%rdi), %xmm3 # sched: [6:1.00]
+; GENERIC-NEXT:    pblendvb %xmm0, (%rdi), %xmm3 # sched: [7:1.00]
 ; GENERIC-NEXT:    movdqa %xmm3, %xmm0 # sched: [1:0.33]
----------------
This is an obvious mistake in the SNB model. I'll commit a fix.


Repository:
  rL LLVM

https://reviews.llvm.org/D44654





More information about the llvm-commits mailing list