[llvm] r338532 - [llvm-mca][x86] Add CMPS/LODS/MOVS/STOS string instruction resource tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 1 06:14:45 PDT 2018
Author: rksimon
Date: Wed Aug 1 06:14:45 2018
New Revision: 338532
URL: http://llvm.org/viewvc/llvm-project?rev=338532&view=rev
Log:
[llvm-mca][x86] Add CMPS/LODS/MOVS/STOS string instruction resource tests
Modified:
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 cmpq %rsi, %rdi
# CHECK-NEXT: 1 1 1.00 * cmpq %rsi, (%rax)
# CHECK-NEXT: 1 1 1.00 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 3 1.50 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 3 1.50 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 3 1.50 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 3 1.50 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 1 1 1.00 * * incq (%rax)
# CHECK-NEXT: 1 2 1.00 lahf
+# CHECK-NEXT: 1 2 1.00 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 2 1.00 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 2 1.00 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 2 1.00 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 3 1.50 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 3 1.50 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 3 1.50 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 3 1.50 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 2 1.00 movsbw %al, %di
# CHECK-NEXT: 1 2 1.00 movzbw %al, %di
# CHECK-NEXT: 1 3 1.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 9 4.50 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.50 U stc
# CHECK-NEXT: 1 21 10.50 U std
+# CHECK-NEXT: 1 1 0.50 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 1 1 0.50 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 1 1 0.50 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 1 1 0.50 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.50 subb $7, %al
# CHECK-NEXT: 1 1 0.50 subb $7, %dil
# CHECK-NEXT: 1 1 1.00 * * subb $7, (%rax)
@@ -1327,7 +1363,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 1429.00 1099.00
+# CHECK-NEXT: 1447.00 1117.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -1522,6 +1558,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 cmpq %rsi, %rdi
# CHECK-NEXT: 1.00 - cmpq %rsi, (%rax)
# CHECK-NEXT: 1.00 - cmpq (%rax), %rdi
+# CHECK-NEXT: 1.50 1.50 cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1.50 1.50 cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1.50 1.50 cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1.50 1.50 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 0.50 0.50 decb %dil
# CHECK-NEXT: 1.00 - decb (%rax)
# CHECK-NEXT: 0.50 0.50 decw %di
@@ -1581,6 +1621,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 incq %rdi
# CHECK-NEXT: 1.00 - incq (%rax)
# CHECK-NEXT: 1.00 1.00 lahf
+# CHECK-NEXT: 1.00 1.00 lodsb (%rsi), %al
+# CHECK-NEXT: 1.00 1.00 lodsw (%rsi), %ax
+# CHECK-NEXT: 1.00 1.00 lodsl (%rsi), %eax
+# CHECK-NEXT: 1.00 1.00 lodsq (%rsi), %rax
+# CHECK-NEXT: 1.50 1.50 movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1.50 1.50 movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1.50 1.50 movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1.50 1.50 movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1.00 1.00 movsbw %al, %di
# CHECK-NEXT: 1.00 1.00 movzbw %al, %di
# CHECK-NEXT: 1.50 1.50 movsbw (%rax), %di
@@ -1889,6 +1937,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4.50 4.50 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 stc
# CHECK-NEXT: 10.50 10.50 std
+# CHECK-NEXT: 0.50 0.50 stosb %al, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 stosq %rax, %es:(%rdi)
# CHECK-NEXT: 0.50 0.50 subb $7, %al
# CHECK-NEXT: 0.50 0.50 subb $7, %dil
# CHECK-NEXT: 1.00 - subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 0.25 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 0.25 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 0.25 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.25 U stc
# CHECK-NEXT: 6 6 1.50 U std
+# CHECK-NEXT: 3 2 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 subb $7, %al
# CHECK-NEXT: 1 1 0.25 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1335,7 +1371,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 50.00 - 378.50 269.00 218.00 218.00 167.00 162.50 346.00 69.00
+# CHECK-NEXT: 50.00 - 382.50 273.00 219.33 219.33 171.00 166.50 350.00 70.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1530,6 +1566,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
@@ -1589,6 +1629,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
@@ -1897,6 +1945,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc
# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 cmpq %rsi, %rdi
# CHECK-NEXT: 1 4 1.00 * cmpq %rsi, (%rax)
# CHECK-NEXT: 1 4 1.00 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 0.50 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.50 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.50 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.50 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 100 0.50 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 0.50 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 0.50 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 0.50 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 0.50 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.50 movsbw %al, %di
# CHECK-NEXT: 1 1 0.50 movzbw %al, %di
# CHECK-NEXT: 1 4 1.00 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 8 9 11.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.50 U stc
# CHECK-NEXT: 1 1 0.50 U std
+# CHECK-NEXT: 1 100 0.50 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.50 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.50 subb $7, %al
# CHECK-NEXT: 1 1 0.50 subb $7, %dil
# CHECK-NEXT: 2 5 1.00 * * subb $7, (%rax)
@@ -1339,7 +1375,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: 494.00 544.00 380.00 - - - - 295.00 64.00 195.00 - - - -
+# CHECK-NEXT: 502.00 552.00 380.00 - - - - 295.00 64.00 195.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -1534,6 +1570,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpq %rsi, %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - cmpq %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - cmpq (%rax), %rdi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decw %di
@@ -1593,6 +1633,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lahf
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsb (%rsi), %al
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsw (%rsi), %ax
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsl (%rsi), %eax
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lodsq (%rsi), %rax
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movsbw %al, %di
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movzbw %al, %di
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - - movsbw (%rax), %di
@@ -1901,6 +1949,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 11.00 11.00 - - - - - 1.00 - - - - - - shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stc
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - std
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stosb %al, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - stosq %rax, %es:(%rdi)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %al
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - subb $7, %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 5 8 1.00 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al
+# CHECK-NEXT: 3 7 0.67 U lodsw (%rsi), %ax
+# CHECK-NEXT: 2 6 0.50 U lodsl (%rsi), %eax
+# CHECK-NEXT: 2 6 0.50 U lodsq (%rsi), %rax
+# CHECK-NEXT: 5 8 1.00 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.33 movsbw %al, %di
# CHECK-NEXT: 1 1 0.33 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.33 U stc
# CHECK-NEXT: 1 1 0.33 U std
+# CHECK-NEXT: 3 5 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.33 subb $7, %al
# CHECK-NEXT: 1 1 0.33 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1333,7 +1369,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 366.17 171.67 210.00 357.17 254.00 254.00
+# CHECK-NEXT: 160.00 - 376.17 181.67 218.00 367.17 266.00 266.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1528,6 +1564,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 cmpq (%rax), %rdi
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di
@@ -1587,6 +1627,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
+# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbw %al, %di
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbw %al, %di
# CHECK-NEXT: - - - - - - 0.50 0.50 movsbw (%rax), %di
@@ -1895,6 +1943,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - stc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - std
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 5 4 1.00 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 4 1.00 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 4 1.00 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 4 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 3 1 0.50 U lodsb (%rsi), %al
+# CHECK-NEXT: 3 1 0.50 U lodsw (%rsi), %ax
+# CHECK-NEXT: 2 1 0.50 U lodsl (%rsi), %eax
+# CHECK-NEXT: 2 1 0.50 U lodsq (%rsi), %rax
+# CHECK-NEXT: 5 4 1.00 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 4 1.00 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 4 1.00 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 4 1.00 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 10 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.25 U stc
# CHECK-NEXT: 6 6 1.50 U std
+# CHECK-NEXT: 3 2 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 subb $7, %al
# CHECK-NEXT: 1 1 0.25 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1335,7 +1371,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 80.00 - 429.50 290.00 209.00 209.00 158.00 185.50 426.00 66.00
+# CHECK-NEXT: 80.00 - 437.00 297.50 220.33 220.33 166.00 193.00 433.50 67.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1530,6 +1566,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq (%rax), %rdi
+# CHECK-NEXT: - - 0.75 0.75 1.00 1.00 - 0.75 0.75 - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.75 0.75 1.00 1.00 - 0.75 0.75 - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.75 0.75 1.00 1.00 - 0.75 0.75 - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.75 0.75 1.00 1.00 - 0.75 0.75 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
@@ -1589,6 +1629,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 0.50 0.50 - lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 1.00 0.50 0.50 - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 1.00 0.50 0.50 - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 1.00 0.50 0.50 - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 1.00 0.50 0.50 - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
@@ -1897,6 +1945,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc
# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 cmpq %rsi, %rdi
# CHECK-NEXT: 1 4 1.00 * cmpq %rsi, (%rax)
# CHECK-NEXT: 1 4 1.00 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 1.00 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 1.00 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 1.00 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 2.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 100 1.00 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 1.00 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 1.00 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 1.00 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 1.00 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.50 movsbw %al, %di
# CHECK-NEXT: 1 1 0.50 movzbw %al, %di
# CHECK-NEXT: 1 4 1.00 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 4 2.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.50 U stc
# CHECK-NEXT: 1 1 0.50 U std
+# CHECK-NEXT: 1 100 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 1 100 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.50 subb $7, %al
# CHECK-NEXT: 1 1 0.50 subb $7, %dil
# CHECK-NEXT: 2 5 2.00 * * subb $7, (%rax)
@@ -1333,7 +1369,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: 400.00 - - - - 545.00 387.00 502.00
+# CHECK-NEXT: 400.00 - - 16.00 - 545.00 387.00 502.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -1528,6 +1564,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - cmpq %rsi, %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 cmpq %rsi, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 cmpq (%rax), %rdi
+# CHECK-NEXT: - - - 1.00 - - - - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 1.00 - - - - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 1.00 - - - - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - 1.00 - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decb (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decw %di
@@ -1587,6 +1627,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - lahf
+# CHECK-NEXT: - - - 1.00 - - - - lodsb (%rsi), %al
+# CHECK-NEXT: - - - 1.00 - - - - lodsw (%rsi), %ax
+# CHECK-NEXT: - - - 1.00 - - - - lodsl (%rsi), %eax
+# CHECK-NEXT: - - - 1.00 - - - - lodsq (%rsi), %rax
+# CHECK-NEXT: - - - 1.00 - - - - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - - - - 0.50 0.50 - movsbw %al, %di
# CHECK-NEXT: - - - - - 0.50 0.50 - movzbw %al, %di
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 movsbw (%rax), %di
@@ -1895,6 +1943,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 1.00 - 2.00 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - stc
# CHECK-NEXT: - - - - - 0.50 0.50 - std
+# CHECK-NEXT: - - - 1.00 - - - - stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - - 1.00 - - - - stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %al
# CHECK-NEXT: - - - - - 0.50 0.50 - subb $7, %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 5 8 1.00 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 5 8 1.00 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 3 7 0.67 U lodsb (%rsi), %al
+# CHECK-NEXT: 3 7 0.67 U lodsw (%rsi), %ax
+# CHECK-NEXT: 2 6 0.50 U lodsl (%rsi), %eax
+# CHECK-NEXT: 2 6 0.50 U lodsq (%rsi), %rax
+# CHECK-NEXT: 5 8 1.00 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 5 8 1.00 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.33 movsbw %al, %di
# CHECK-NEXT: 1 1 0.33 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 5 8 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.33 U stc
# CHECK-NEXT: 1 1 0.33 U std
+# CHECK-NEXT: 3 5 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 5 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.33 subb $7, %al
# CHECK-NEXT: 1 1 0.33 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1333,7 +1369,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 366.17 171.67 210.00 357.17 254.00 254.00
+# CHECK-NEXT: 160.00 - 376.17 181.67 218.00 367.17 266.00 266.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1528,6 +1564,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 cmpq (%rax), %rdi
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 1.00 1.00 - 1.00 1.00 1.00 cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di
@@ -1587,6 +1627,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
+# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.67 0.67 - 0.67 0.50 0.50 lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.33 0.33 - 0.33 0.50 0.50 lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.67 0.67 1.00 0.67 1.00 1.00 movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movsbw %al, %di
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - movzbw %al, %di
# CHECK-NEXT: - - - - - - 0.50 0.50 movsbw (%rax), %di
@@ -1895,6 +1943,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.83 0.33 1.00 0.83 1.00 1.00 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - stc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - std
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 0.50 0.50 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %al
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - subb $7, %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 0.25 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 0.25 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 0.25 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.25 U stc
# CHECK-NEXT: 6 6 1.50 U std
+# CHECK-NEXT: 3 2 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 subb $7, %al
# CHECK-NEXT: 1 1 0.25 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1335,7 +1371,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 446.00 250.00 218.00 218.00 167.00 198.50 432.50 69.00
+# CHECK-NEXT: 60.00 - 450.00 254.00 219.33 219.33 171.00 202.50 436.50 70.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1530,6 +1566,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
@@ -1589,6 +1629,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
@@ -1897,6 +1945,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc
# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 cmpq %rsi, %rdi
# CHECK-NEXT: 2 6 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 6 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 0.25 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
# CHECK-NEXT: 1 1 0.50 lahf
+# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 0.25 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 0.25 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
# CHECK-NEXT: 1 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 9 1.00 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.25 U stc
# CHECK-NEXT: 6 6 1.50 U std
+# CHECK-NEXT: 3 2 1.00 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 3 2 1.00 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 subb $7, %al
# CHECK-NEXT: 1 1 0.25 subb $7, %dil
# CHECK-NEXT: 3 7 1.00 * * subb $7, (%rax)
@@ -1335,7 +1371,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 446.25 250.25 218.00 218.00 167.00 198.75 432.75 69.00
+# CHECK-NEXT: 60.00 - 450.25 254.25 219.33 219.33 171.00 202.75 436.75 70.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1530,6 +1566,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpq %rsi, %rdi
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.50 0.50 - 0.25 0.25 - cmpq (%rax), %rdi
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
@@ -1589,6 +1629,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsb (%rsi), %al
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsw (%rsi), %ax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsl (%rsi), %eax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - lodsq (%rsi), %rax
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movsbw %al, %di
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - movzbw %al, %di
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsbw (%rax), %di
@@ -1897,6 +1945,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 1.25 0.83 0.83 - 0.25 0.25 0.33 shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - stc
# CHECK-NEXT: - - 1.25 1.25 - - - 1.25 2.25 - std
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - 0.25 0.25 0.33 0.33 1.00 0.25 0.25 0.33 stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %al
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - subb $7, %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 subb $7, (%rax)
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s?rev=338532&r1=338531&r2=338532&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s Wed Aug 1 06:14:45 2018
@@ -217,6 +217,11 @@ cmpq %rsi, %rdi
cmpq %rsi, (%rax)
cmpq (%rax), %rdi
+cmpsb
+cmpsw
+cmpsl
+cmpsq
+
decb %dil
decb (%rax)
decw %di
@@ -285,6 +290,16 @@ incq (%rax)
lahf
+lodsb
+lodsw
+lodsl
+lodsq
+
+movsb
+movsw
+movsl
+movsq
+
movsbw %al, %di
movzbw %al, %di
movsbw (%rax), %di
@@ -625,6 +640,11 @@ shrdq $7, %rsi, (%rax)
stc
std
+stosb
+stosw
+stosl
+stosq
+
subb $7, %al
subb $7, %dil
subb $7, (%rax)
@@ -893,6 +913,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 cmpq %rsi, %rdi
# CHECK-NEXT: 2 5 0.50 * cmpq %rsi, (%rax)
# CHECK-NEXT: 2 5 0.50 * cmpq (%rax), %rdi
+# CHECK-NEXT: 1 100 0.25 U cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: 1 100 0.25 U cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -952,6 +976,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 2 5 0.50 * * incq (%rax)
# CHECK-NEXT: 1 100 0.25 lahf
+# CHECK-NEXT: 1 100 0.25 U lodsb (%rsi), %al
+# CHECK-NEXT: 1 100 0.25 U lodsw (%rsi), %ax
+# CHECK-NEXT: 1 100 0.25 U lodsl (%rsi), %eax
+# CHECK-NEXT: 1 100 0.25 U lodsq (%rsi), %rax
+# CHECK-NEXT: 1 100 0.25 U movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 movsbw %al, %di
# CHECK-NEXT: 1 1 0.25 movzbw %al, %di
# CHECK-NEXT: 2 5 0.50 * movsbw (%rax), %di
@@ -1260,6 +1292,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 0.50 * * shrdq $7, %rsi, (%rax)
# CHECK-NEXT: 1 1 0.25 U stc
# CHECK-NEXT: 1 1 0.25 U std
+# CHECK-NEXT: 1 100 0.25 U stosb %al, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U stosw %ax, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U stosl %eax, %es:(%rdi)
+# CHECK-NEXT: 1 100 0.25 U stosq %rax, %es:(%rdi)
# CHECK-NEXT: 1 1 0.25 subb $7, %al
# CHECK-NEXT: 1 1 0.25 subb $7, %dil
# CHECK-NEXT: 2 5 0.50 * * subb $7, (%rax)
@@ -1532,6 +1568,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - cmpq %rsi, %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpq %rsi, (%rax)
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - cmpq (%rax), %rdi
+# CHECK-NEXT: - - - - - - - - - - - - cmpsb %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - - - - - - - - - - cmpsw %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - - - - - - - - - - cmpsl %es:(%rdi), (%rsi)
+# CHECK-NEXT: - - - - - - - - - - - - cmpsq %es:(%rdi), (%rsi)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decw %di
@@ -1591,6 +1631,14 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incq (%rax)
# CHECK-NEXT: - - - - - - - - - - - - lahf
+# CHECK-NEXT: - - - - - - - - - - - - lodsb (%rsi), %al
+# CHECK-NEXT: - - - - - - - - - - - - lodsw (%rsi), %ax
+# CHECK-NEXT: - - - - - - - - - - - - lodsl (%rsi), %eax
+# CHECK-NEXT: - - - - - - - - - - - - lodsq (%rsi), %rax
+# CHECK-NEXT: - - - - - - - - - - - - movsb (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - movsw (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - movsl (%rsi), %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - movsq (%rsi), %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movsbw %al, %di
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - movzbw %al, %di
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - movsbw (%rax), %di
@@ -1899,6 +1947,10 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - shrdq $7, %rsi, (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - stc
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - std
+# CHECK-NEXT: - - - - - - - - - - - - stosb %al, %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - stosw %ax, %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - stosl %eax, %es:(%rdi)
+# CHECK-NEXT: - - - - - - - - - - - - stosq %rax, %es:(%rdi)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %al
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - subb $7, %dil
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - subb $7, (%rax)
More information about the llvm-commits
mailing list