[PATCH] D35834: VZEROUPPER and VZEROALL in btver2 schedule model
Andrew V. Tischenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 25 05:55:35 PDT 2017
avt77 created this revision.
I added proper schedule numbers for these 2 instructions
https://reviews.llvm.org/D35834
Files:
lib/Target/X86/X86ScheduleBtVer2.td
test/CodeGen/X86/avx-schedule.ll
Index: test/CodeGen/X86/avx-schedule.ll
===================================================================
--- test/CodeGen/X86/avx-schedule.ll
+++ test/CodeGen/X86/avx-schedule.ll
@@ -2850,7 +2850,7 @@
;
; BTVER2-LABEL: test_zeroall:
; BTVER2: # BB#0:
-; BTVER2-NEXT: vzeroall # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vzeroall # sched: [90:0.00]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
; ZNVER1-LABEL: test_zeroall:
@@ -2875,7 +2875,7 @@
;
; BTVER2-LABEL: test_zeroupper:
; BTVER2: # BB#0:
-; BTVER2-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vzeroupper # sched: [46:0.00]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
; ZNVER1-LABEL: test_zeroupper:
Index: lib/Target/X86/X86ScheduleBtVer2.td
===================================================================
--- lib/Target/X86/X86ScheduleBtVer2.td
+++ lib/Target/X86/X86ScheduleBtVer2.td
@@ -462,5 +462,16 @@
}
def : InstRW<[WriteVSQRTYPSLd], (instregex "VSQRTPSYm")>;
+def WriteJVZEROALL: SchedWriteRes<[]> {
+ let Latency = 90;
+ let NumMicroOps = 73;
+}
+def : InstRW<[WriteJVZEROALL], (instregex "VZEROALL")>;
+
+def WriteJVZEROUPPER: SchedWriteRes<[]> {
+ let Latency = 46;
+ let NumMicroOps = 37;
+}
+def : InstRW<[WriteJVZEROUPPER], (instregex "VZEROUPPER")>;
} // SchedModel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35834.108060.patch
Type: text/x-patch
Size: 1303 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170725/437a0238/attachment.bin>
More information about the llvm-commits
mailing list