Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 7e1cf4b

Browse files
committed
[llvm-mca][x86] Add SET/TEST instruction resource tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338576 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 9aed24e commit 7e1cf4b

File tree

10 files changed

+1800
-10
lines changed

10 files changed

+1800
-10
lines changed

test/tools/llvm-mca/X86/Atom/resources-x86_64.s

Lines changed: 180 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,39 @@ scasw
643643
scasl
644644
scasq
645645

646+
seto %al
647+
seto (%rax)
648+
setno %al
649+
setno (%rax)
650+
setb %al
651+
setb (%rax)
652+
setnb %al
653+
setnb (%rax)
654+
setz %al
655+
setz (%rax)
656+
setnz %al
657+
setnz (%rax)
658+
seta %al
659+
seta (%rax)
660+
setna %al
661+
setna (%rax)
662+
sets %al
663+
sets (%rax)
664+
setns %al
665+
setns (%rax)
666+
setp %al
667+
setp (%rax)
668+
setnp %al
669+
setnp (%rax)
670+
setl %al
671+
setl (%rax)
672+
setnl %al
673+
setnl (%rax)
674+
setg %al
675+
setg (%rax)
676+
setng %al
677+
setng (%rax)
678+
646679
shldw %cl, %si, %di
647680
shrdw %cl, %si, %di
648681
shldw %cl, %si, (%rax)
@@ -712,6 +745,36 @@ subq %rsi, %rdi
712745
subq %rsi, (%rax)
713746
subq (%rax), %rdi
714747

748+
testb $7, %al
749+
testb $7, %dil
750+
testb $7, (%rax)
751+
testb %sil, %dil
752+
testb %sil, (%rax)
753+
754+
testw $511, %ax
755+
testw $511, %di
756+
testw $511, (%rax)
757+
testw $7, %di
758+
testw $7, (%rax)
759+
testw %si, %di
760+
testw %si, (%rax)
761+
762+
testl $665536, %eax
763+
testl $665536, %edi
764+
testl $665536, (%rax)
765+
testl $7, %edi
766+
testl $7, (%rax)
767+
testl %esi, %edi
768+
testl %esi, (%rax)
769+
770+
testq $665536, %rax
771+
testq $665536, %rdi
772+
testq $665536, (%rax)
773+
testq $7, %rdi
774+
testq $7, (%rax)
775+
testq %rsi, %rdi
776+
testq %rsi, (%rax)
777+
715778
ud2
716779

717780
xlatb
@@ -1328,6 +1391,38 @@ xorq (%rax), %rdi
13281391
# CHECK-NEXT: 1 2 1.00 U scasw %es:(%rdi), %ax
13291392
# CHECK-NEXT: 1 2 1.00 U scasl %es:(%rdi), %eax
13301393
# CHECK-NEXT: 1 2 1.00 U scasq %es:(%rdi), %rax
1394+
# CHECK-NEXT: 1 1 0.50 seto %al
1395+
# CHECK-NEXT: 1 2 1.00 * seto (%rax)
1396+
# CHECK-NEXT: 1 1 0.50 setno %al
1397+
# CHECK-NEXT: 1 2 1.00 * setno (%rax)
1398+
# CHECK-NEXT: 1 1 0.50 setb %al
1399+
# CHECK-NEXT: 1 2 1.00 * setb (%rax)
1400+
# CHECK-NEXT: 1 1 0.50 setae %al
1401+
# CHECK-NEXT: 1 2 1.00 * setae (%rax)
1402+
# CHECK-NEXT: 1 1 0.50 sete %al
1403+
# CHECK-NEXT: 1 2 1.00 * sete (%rax)
1404+
# CHECK-NEXT: 1 1 0.50 setne %al
1405+
# CHECK-NEXT: 1 2 1.00 * setne (%rax)
1406+
# CHECK-NEXT: 1 1 0.50 seta %al
1407+
# CHECK-NEXT: 1 2 1.00 * seta (%rax)
1408+
# CHECK-NEXT: 1 1 0.50 setbe %al
1409+
# CHECK-NEXT: 1 2 1.00 * setbe (%rax)
1410+
# CHECK-NEXT: 1 1 0.50 sets %al
1411+
# CHECK-NEXT: 1 2 1.00 * sets (%rax)
1412+
# CHECK-NEXT: 1 1 0.50 setns %al
1413+
# CHECK-NEXT: 1 2 1.00 * setns (%rax)
1414+
# CHECK-NEXT: 1 1 0.50 setp %al
1415+
# CHECK-NEXT: 1 2 1.00 * setp (%rax)
1416+
# CHECK-NEXT: 1 1 0.50 setnp %al
1417+
# CHECK-NEXT: 1 2 1.00 * setnp (%rax)
1418+
# CHECK-NEXT: 1 1 0.50 setl %al
1419+
# CHECK-NEXT: 1 2 1.00 * setl (%rax)
1420+
# CHECK-NEXT: 1 1 0.50 setge %al
1421+
# CHECK-NEXT: 1 2 1.00 * setge (%rax)
1422+
# CHECK-NEXT: 1 1 0.50 setg %al
1423+
# CHECK-NEXT: 1 2 1.00 * setg (%rax)
1424+
# CHECK-NEXT: 1 1 0.50 setle %al
1425+
# CHECK-NEXT: 1 2 1.00 * setle (%rax)
13311426
# CHECK-NEXT: 1 6 3.00 shldw %cl, %si, %di
13321427
# CHECK-NEXT: 1 6 3.00 shrdw %cl, %si, %di
13331428
# CHECK-NEXT: 1 6 3.00 * * shldw %cl, %si, (%rax)
@@ -1388,6 +1483,32 @@ xorq (%rax), %rdi
13881483
# CHECK-NEXT: 1 1 0.50 subq %rsi, %rdi
13891484
# CHECK-NEXT: 1 1 1.00 * * subq %rsi, (%rax)
13901485
# CHECK-NEXT: 1 1 1.00 * subq (%rax), %rdi
1486+
# CHECK-NEXT: 1 1 0.50 testb $7, %al
1487+
# CHECK-NEXT: 1 1 0.50 testb $7, %dil
1488+
# CHECK-NEXT: 1 1 1.00 * testb $7, (%rax)
1489+
# CHECK-NEXT: 1 1 0.50 testb %sil, %dil
1490+
# CHECK-NEXT: 1 1 1.00 * testb %sil, (%rax)
1491+
# CHECK-NEXT: 1 1 0.50 testw $511, %ax
1492+
# CHECK-NEXT: 1 1 0.50 testw $511, %di
1493+
# CHECK-NEXT: 1 1 1.00 * testw $511, (%rax)
1494+
# CHECK-NEXT: 1 1 0.50 testw $7, %di
1495+
# CHECK-NEXT: 1 1 1.00 * testw $7, (%rax)
1496+
# CHECK-NEXT: 1 1 0.50 testw %si, %di
1497+
# CHECK-NEXT: 1 1 1.00 * testw %si, (%rax)
1498+
# CHECK-NEXT: 1 1 0.50 testl $665536, %eax
1499+
# CHECK-NEXT: 1 1 0.50 testl $665536, %edi
1500+
# CHECK-NEXT: 1 1 1.00 * testl $665536, (%rax)
1501+
# CHECK-NEXT: 1 1 0.50 testl $7, %edi
1502+
# CHECK-NEXT: 1 1 1.00 * testl $7, (%rax)
1503+
# CHECK-NEXT: 1 1 0.50 testl %esi, %edi
1504+
# CHECK-NEXT: 1 1 1.00 * testl %esi, (%rax)
1505+
# CHECK-NEXT: 1 1 0.50 testq $665536, %rax
1506+
# CHECK-NEXT: 1 1 0.50 testq $665536, %rdi
1507+
# CHECK-NEXT: 1 1 1.00 * testq $665536, (%rax)
1508+
# CHECK-NEXT: 1 1 0.50 testq $7, %rdi
1509+
# CHECK-NEXT: 1 1 1.00 * testq $7, (%rax)
1510+
# CHECK-NEXT: 1 1 0.50 testq %rsi, %rdi
1511+
# CHECK-NEXT: 1 1 1.00 * testq %rsi, (%rax)
13911512
# CHECK-NEXT: 1 100 0.50 * U ud2
13921513
# CHECK-NEXT: 1 6 3.00 * xlatb
13931514
# CHECK-NEXT: 1 1 0.50 xorb $7, %al
@@ -1427,7 +1548,7 @@ xorq (%rax), %rdi
14271548

14281549
# CHECK: Resource pressure per iteration:
14291550
# CHECK-NEXT: [0] [1]
1430-
# CHECK-NEXT: 2275.50 1945.50
1551+
# CHECK-NEXT: 2318.00 1977.00
14311552

14321553
# CHECK: Resource pressure by instruction:
14331554
# CHECK-NEXT: [0] [1] Instructions:
@@ -2000,6 +2121,38 @@ xorq (%rax), %rdi
20002121
# CHECK-NEXT: 1.00 1.00 scasw %es:(%rdi), %ax
20012122
# CHECK-NEXT: 1.00 1.00 scasl %es:(%rdi), %eax
20022123
# CHECK-NEXT: 1.00 1.00 scasq %es:(%rdi), %rax
2124+
# CHECK-NEXT: 0.50 0.50 seto %al
2125+
# CHECK-NEXT: 1.00 1.00 seto (%rax)
2126+
# CHECK-NEXT: 0.50 0.50 setno %al
2127+
# CHECK-NEXT: 1.00 1.00 setno (%rax)
2128+
# CHECK-NEXT: 0.50 0.50 setb %al
2129+
# CHECK-NEXT: 1.00 1.00 setb (%rax)
2130+
# CHECK-NEXT: 0.50 0.50 setae %al
2131+
# CHECK-NEXT: 1.00 1.00 setae (%rax)
2132+
# CHECK-NEXT: 0.50 0.50 sete %al
2133+
# CHECK-NEXT: 1.00 1.00 sete (%rax)
2134+
# CHECK-NEXT: 0.50 0.50 setne %al
2135+
# CHECK-NEXT: 1.00 1.00 setne (%rax)
2136+
# CHECK-NEXT: 0.50 0.50 seta %al
2137+
# CHECK-NEXT: 1.00 1.00 seta (%rax)
2138+
# CHECK-NEXT: 0.50 0.50 setbe %al
2139+
# CHECK-NEXT: 1.00 1.00 setbe (%rax)
2140+
# CHECK-NEXT: 0.50 0.50 sets %al
2141+
# CHECK-NEXT: 1.00 1.00 sets (%rax)
2142+
# CHECK-NEXT: 0.50 0.50 setns %al
2143+
# CHECK-NEXT: 1.00 1.00 setns (%rax)
2144+
# CHECK-NEXT: 0.50 0.50 setp %al
2145+
# CHECK-NEXT: 1.00 1.00 setp (%rax)
2146+
# CHECK-NEXT: 0.50 0.50 setnp %al
2147+
# CHECK-NEXT: 1.00 1.00 setnp (%rax)
2148+
# CHECK-NEXT: 0.50 0.50 setl %al
2149+
# CHECK-NEXT: 1.00 1.00 setl (%rax)
2150+
# CHECK-NEXT: 0.50 0.50 setge %al
2151+
# CHECK-NEXT: 1.00 1.00 setge (%rax)
2152+
# CHECK-NEXT: 0.50 0.50 setg %al
2153+
# CHECK-NEXT: 1.00 1.00 setg (%rax)
2154+
# CHECK-NEXT: 0.50 0.50 setle %al
2155+
# CHECK-NEXT: 1.00 1.00 setle (%rax)
20032156
# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, %di
20042157
# CHECK-NEXT: 3.00 3.00 shrdw %cl, %si, %di
20052158
# CHECK-NEXT: 3.00 3.00 shldw %cl, %si, (%rax)
@@ -2060,6 +2213,32 @@ xorq (%rax), %rdi
20602213
# CHECK-NEXT: 0.50 0.50 subq %rsi, %rdi
20612214
# CHECK-NEXT: 1.00 - subq %rsi, (%rax)
20622215
# CHECK-NEXT: 1.00 - subq (%rax), %rdi
2216+
# CHECK-NEXT: 0.50 0.50 testb $7, %al
2217+
# CHECK-NEXT: 0.50 0.50 testb $7, %dil
2218+
# CHECK-NEXT: 1.00 - testb $7, (%rax)
2219+
# CHECK-NEXT: 0.50 0.50 testb %sil, %dil
2220+
# CHECK-NEXT: 1.00 - testb %sil, (%rax)
2221+
# CHECK-NEXT: 0.50 0.50 testw $511, %ax
2222+
# CHECK-NEXT: 0.50 0.50 testw $511, %di
2223+
# CHECK-NEXT: 1.00 - testw $511, (%rax)
2224+
# CHECK-NEXT: 0.50 0.50 testw $7, %di
2225+
# CHECK-NEXT: 1.00 - testw $7, (%rax)
2226+
# CHECK-NEXT: 0.50 0.50 testw %si, %di
2227+
# CHECK-NEXT: 1.00 - testw %si, (%rax)
2228+
# CHECK-NEXT: 0.50 0.50 testl $665536, %eax
2229+
# CHECK-NEXT: 0.50 0.50 testl $665536, %edi
2230+
# CHECK-NEXT: 1.00 - testl $665536, (%rax)
2231+
# CHECK-NEXT: 0.50 0.50 testl $7, %edi
2232+
# CHECK-NEXT: 1.00 - testl $7, (%rax)
2233+
# CHECK-NEXT: 0.50 0.50 testl %esi, %edi
2234+
# CHECK-NEXT: 1.00 - testl %esi, (%rax)
2235+
# CHECK-NEXT: 0.50 0.50 testq $665536, %rax
2236+
# CHECK-NEXT: 0.50 0.50 testq $665536, %rdi
2237+
# CHECK-NEXT: 1.00 - testq $665536, (%rax)
2238+
# CHECK-NEXT: 0.50 0.50 testq $7, %rdi
2239+
# CHECK-NEXT: 1.00 - testq $7, (%rax)
2240+
# CHECK-NEXT: 0.50 0.50 testq %rsi, %rdi
2241+
# CHECK-NEXT: 1.00 - testq %rsi, (%rax)
20632242
# CHECK-NEXT: 0.50 0.50 ud2
20642243
# CHECK-NEXT: 3.00 3.00 xlatb
20652244
# CHECK-NEXT: 0.50 0.50 xorb $7, %al

0 commit comments

Comments
 (0)