forked from OSchip/llvm-project
[X86][Btver2] Add llvm-mca tests to show pipe resource usage of most vector instructions
Hopefully these tests can be easily reused should any other subtarget get in depth llvm-mca coverage (we can either copy the tests or move them into a common dir and run it with multiple prefixes). llvm-svn: 327788
This commit is contained in:
parent
2d451e73f9
commit
0ba4a0f3a6
|
@ -0,0 +1,50 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
aesdec %xmm0, %xmm2
|
||||
aesdec (%rax), %xmm2
|
||||
|
||||
aesdeclast %xmm0, %xmm2
|
||||
aesdeclast (%rax), %xmm2
|
||||
|
||||
aesenc %xmm0, %xmm2
|
||||
aesenc (%rax), %xmm2
|
||||
|
||||
aesenclast %xmm0, %xmm2
|
||||
aesenclast (%rax), %xmm2
|
||||
|
||||
aesimc %xmm0, %xmm2
|
||||
aesimc (%rax), %xmm2
|
||||
|
||||
aeskeygenassist $22, %xmm0, %xmm2
|
||||
aeskeygenassist $22, (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdec %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdec (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesdeclast %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesdeclast (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenc %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenc (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesenclast %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesenclast (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aesimc %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aesimc (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 aeskeygenassist $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 aeskeygenassist $22, (%rax), %xmm2
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,25 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
pclmulqdq $11, %xmm0, %xmm2
|
||||
pclmulqdq $11, (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pclmulqdq $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pclmulqdq $11, (%rax), %xmm2
|
|
@ -0,0 +1,40 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
vcvtph2ps %xmm0, %xmm2
|
||||
vcvtph2ps (%rax), %xmm2
|
||||
|
||||
vcvtph2ps %xmm0, %ymm2
|
||||
vcvtph2ps (%rax), %ymm2
|
||||
|
||||
vcvtps2ph $0, %xmm0, %xmm2
|
||||
vcvtps2ph $0, %xmm0, (%rax)
|
||||
|
||||
vcvtps2ph $0, %ymm0, %xmm2
|
||||
vcvtps2ph $0, %ymm0, (%rax)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtph2ps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - vcvtph2ps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - vcvtph2ps %xmm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - vcvtph2ps (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - vcvtps2ph $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 - - - - vcvtps2ph $0, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - vcvtps2ph $0, %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - 1.00 - - - - vcvtps2ph $0, %ymm0, (%rax)
|
|
@ -0,0 +1,245 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addps %xmm0, %xmm2
|
||||
addps (%rax), %xmm2
|
||||
|
||||
addss %xmm0, %xmm2
|
||||
addss (%rax), %xmm2
|
||||
|
||||
andnps %xmm0, %xmm2
|
||||
andnps (%rax), %xmm2
|
||||
|
||||
andps %xmm0, %xmm2
|
||||
andps (%rax), %xmm2
|
||||
|
||||
cmpps $0, %xmm0, %xmm2
|
||||
cmpps $0, (%rax), %xmm2
|
||||
|
||||
cmpss $0, %xmm0, %xmm2
|
||||
cmpss $0, (%rax), %xmm2
|
||||
|
||||
comiss %xmm0, %xmm1
|
||||
comiss (%rax), %xmm1
|
||||
|
||||
cvtsi2ss %ecx, %xmm2
|
||||
cvtsi2ss %rcx, %xmm2
|
||||
cvtsi2ss (%rax), %xmm2
|
||||
cvtsi2ss (%rax), %xmm2
|
||||
|
||||
cvtss2si %xmm0, %ecx
|
||||
cvtss2si %xmm0, %rcx
|
||||
cvtss2si (%rax), %ecx
|
||||
cvtss2si (%rax), %rcx
|
||||
|
||||
cvttss2si %xmm0, %ecx
|
||||
cvttss2si %xmm0, %rcx
|
||||
cvttss2si (%rax), %ecx
|
||||
cvttss2si (%rax), %rcx
|
||||
|
||||
divps %xmm0, %xmm2
|
||||
divps (%rax), %xmm2
|
||||
|
||||
divss %xmm0, %xmm2
|
||||
divss (%rax), %xmm2
|
||||
|
||||
ldmxcsr (%rax)
|
||||
|
||||
maxps %xmm0, %xmm2
|
||||
maxps (%rax), %xmm2
|
||||
|
||||
maxss %xmm0, %xmm2
|
||||
maxss (%rax), %xmm2
|
||||
|
||||
minps %xmm0, %xmm2
|
||||
minps (%rax), %xmm2
|
||||
|
||||
minss %xmm0, %xmm2
|
||||
minss (%rax), %xmm2
|
||||
|
||||
movaps %xmm0, %xmm2
|
||||
movaps %xmm0, (%rax)
|
||||
movaps (%rax), %xmm2
|
||||
|
||||
movhlps %xmm0, %xmm2
|
||||
movlhps %xmm0, %xmm2
|
||||
|
||||
movhps %xmm0, (%rax)
|
||||
movhps (%rax), %xmm2
|
||||
|
||||
movlps %xmm0, (%rax)
|
||||
movlps (%rax), %xmm2
|
||||
|
||||
movmskps %xmm0, %rcx
|
||||
|
||||
movntps %xmm0, (%rax)
|
||||
|
||||
movss %xmm0, %xmm2
|
||||
movss %xmm0, (%rax)
|
||||
movss (%rax), %xmm2
|
||||
|
||||
movups %xmm0, %xmm2
|
||||
movups %xmm0, (%rax)
|
||||
movups (%rax), %xmm2
|
||||
|
||||
mulps %xmm0, %xmm2
|
||||
mulps (%rax), %xmm2
|
||||
|
||||
mulss %xmm0, %xmm2
|
||||
mulss (%rax), %xmm2
|
||||
|
||||
orps %xmm0, %xmm2
|
||||
orps (%rax), %xmm2
|
||||
|
||||
pinsrw $1, %rax, %xmm1
|
||||
pinsrw $1, (%rax), %xmm1
|
||||
|
||||
rcpps %xmm0, %xmm2
|
||||
rcpps (%rax), %xmm2
|
||||
|
||||
rcpss %xmm0, %xmm2
|
||||
rcpss (%rax), %xmm2
|
||||
|
||||
rsqrtps %xmm0, %xmm2
|
||||
rsqrtps (%rax), %xmm2
|
||||
|
||||
rsqrtss %xmm0, %xmm2
|
||||
rsqrtss (%rax), %xmm2
|
||||
|
||||
shufps $1, %xmm0, %xmm2
|
||||
shufps $1, (%rax), %xmm2
|
||||
|
||||
sqrtps %xmm0, %xmm2
|
||||
sqrtps (%rax), %xmm2
|
||||
|
||||
sqrtss %xmm0, %xmm2
|
||||
sqrtss (%rax), %xmm2
|
||||
|
||||
stmxcsr (%rax)
|
||||
|
||||
subps %xmm0, %xmm2
|
||||
subps (%rax), %xmm2
|
||||
|
||||
subss %xmm0, %xmm2
|
||||
subss (%rax), %xmm2
|
||||
|
||||
ucomiss %xmm0, %xmm1
|
||||
ucomiss (%rax), %xmm1
|
||||
|
||||
unpckhps %xmm0, %xmm2
|
||||
unpckhps (%rax), %xmm2
|
||||
|
||||
unpcklps %xmm0, %xmm2
|
||||
unpcklps (%rax), %xmm2
|
||||
|
||||
xorps %xmm0, %xmm2
|
||||
xorps (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andnps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - andnps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - andps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - comiss %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2ssl %ecx, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2ssq %rcx, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2ssl (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2ssl (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2si %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2si %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2si (%rax), %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2si (%rax), %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttss2si %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttss2si %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttss2si (%rax), %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttss2si (%rax), %rcx
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - ldmxcsr (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movaps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movaps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movaps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - movhlps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movlhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - movhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - movlps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movmskps %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - movss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movups %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movups %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movups (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - mulps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - mulps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - mulss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - mulss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - orps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - orps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pinsrw $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - pinsrw $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rcpps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rcpss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rcpss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rsqrtps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - shufps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - shufps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - stmxcsr (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - unpckhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpckhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - unpcklps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - unpcklps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - xorps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - xorps (%rax), %xmm2
|
|
@ -0,0 +1,649 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addpd %xmm0, %xmm2
|
||||
addpd (%rax), %xmm2
|
||||
|
||||
addsd %xmm0, %xmm2
|
||||
addsd (%rax), %xmm2
|
||||
|
||||
addsubpd %xmm0, %xmm2
|
||||
addsubpd (%rax), %xmm2
|
||||
|
||||
andnpd %xmm0, %xmm2
|
||||
andnpd (%rax), %xmm2
|
||||
|
||||
andpd %xmm0, %xmm2
|
||||
andpd (%rax), %xmm2
|
||||
|
||||
cmppd $0, %xmm0, %xmm2
|
||||
cmppd $0, (%rax), %xmm2
|
||||
|
||||
cmpsd $0, %xmm0, %xmm2
|
||||
cmpsd $0, (%rax), %xmm2
|
||||
|
||||
comisd %xmm0, %xmm1
|
||||
comisd (%rax), %xmm1
|
||||
|
||||
cvtdq2pd %xmm0, %xmm2
|
||||
cvtdq2pd (%rax), %xmm2
|
||||
|
||||
cvtdq2ps %xmm0, %xmm2
|
||||
cvtdq2ps (%rax), %xmm2
|
||||
|
||||
cvtpd2dq %xmm0, %xmm2
|
||||
cvtpd2dq (%rax), %xmm2
|
||||
|
||||
cvtpd2ps %xmm0, %xmm2
|
||||
cvtpd2ps (%rax), %xmm2
|
||||
|
||||
cvtps2dq %xmm0, %xmm2
|
||||
cvtps2dq (%rax), %xmm2
|
||||
|
||||
cvtps2pd %xmm0, %xmm2
|
||||
cvtps2pd (%rax), %xmm2
|
||||
|
||||
cvtsd2si %xmm0, %ecx
|
||||
cvtsd2si %xmm0, %rcx
|
||||
cvtsd2si (%rax), %ecx
|
||||
cvtsd2si (%rax), %rcx
|
||||
|
||||
cvtsd2ss %xmm0, %xmm2
|
||||
cvtsd2ss (%rax), %xmm2
|
||||
|
||||
cvtsi2sd %ecx, %xmm2
|
||||
cvtsi2sd %rcx, %xmm2
|
||||
cvtsi2sd (%rax), %xmm2
|
||||
cvtsi2sd (%rax), %xmm2
|
||||
|
||||
cvtss2sd %xmm0, %xmm2
|
||||
cvtss2sd (%rax), %xmm2
|
||||
|
||||
cvttpd2dq %xmm0, %xmm2
|
||||
cvttpd2dq (%rax), %xmm2
|
||||
|
||||
cvttps2dq %xmm0, %xmm2
|
||||
cvttps2dq (%rax), %xmm2
|
||||
|
||||
cvttsd2si %xmm0, %ecx
|
||||
cvttsd2si %xmm0, %rcx
|
||||
cvttsd2si (%rax), %ecx
|
||||
cvttsd2si (%rax), %rcx
|
||||
|
||||
divpd %xmm0, %xmm2
|
||||
divpd (%rax), %xmm2
|
||||
|
||||
divsd %xmm0, %xmm2
|
||||
divsd (%rax), %xmm2
|
||||
|
||||
maskmovdqu %xmm0, %xmm1
|
||||
|
||||
maxpd %xmm0, %xmm2
|
||||
maxpd (%rax), %xmm2
|
||||
|
||||
maxsd %xmm0, %xmm2
|
||||
maxsd (%rax), %xmm2
|
||||
|
||||
minpd %xmm0, %xmm2
|
||||
minpd (%rax), %xmm2
|
||||
|
||||
minsd %xmm0, %xmm2
|
||||
minsd (%rax), %xmm2
|
||||
|
||||
movapd %xmm0, %xmm2
|
||||
movapd %xmm0, (%rax)
|
||||
movapd (%rax), %xmm2
|
||||
|
||||
movd %eax, %xmm2
|
||||
movd (%rax), %xmm2
|
||||
|
||||
movd %xmm0, %ecx
|
||||
movd %xmm0, (%rax)
|
||||
|
||||
movdqa %xmm0, %xmm2
|
||||
movdqa %xmm0, (%rax)
|
||||
movdqa (%rax), %xmm2
|
||||
|
||||
movdqu %xmm0, %xmm2
|
||||
movdqu %xmm0, (%rax)
|
||||
movdqu (%rax), %xmm2
|
||||
|
||||
movhpd %xmm0, (%rax)
|
||||
movhpd (%rax), %xmm2
|
||||
|
||||
movlpd %xmm0, (%rax)
|
||||
movlpd (%rax), %xmm2
|
||||
|
||||
movmskpd %xmm0, %rcx
|
||||
|
||||
movntdq %xmm0, (%rax)
|
||||
movntpd %xmm0, (%rax)
|
||||
|
||||
movq %xmm0, %xmm2
|
||||
|
||||
movq %rax, %xmm2
|
||||
movq (%rax), %xmm2
|
||||
|
||||
movq %xmm0, %rcx
|
||||
movq %xmm0, (%rax)
|
||||
|
||||
movsd %xmm0, %xmm2
|
||||
movsd %xmm0, (%rax)
|
||||
movsd (%rax), %xmm2
|
||||
|
||||
movupd %xmm0, %xmm2
|
||||
movupd %xmm0, (%rax)
|
||||
movupd (%rax), %xmm2
|
||||
|
||||
mulpd %xmm0, %xmm2
|
||||
mulpd (%rax), %xmm2
|
||||
|
||||
mulsd %xmm0, %xmm2
|
||||
mulsd (%rax), %xmm2
|
||||
|
||||
orpd %xmm0, %xmm2
|
||||
orpd (%rax), %xmm2
|
||||
|
||||
pabsb %xmm0, %xmm2
|
||||
pabsb (%rax), %xmm2
|
||||
|
||||
pabsd %xmm0, %xmm2
|
||||
pabsd (%rax), %xmm2
|
||||
|
||||
pabsw %xmm0, %xmm2
|
||||
pabsw (%rax), %xmm2
|
||||
|
||||
packssdw %xmm0, %xmm2
|
||||
packssdw (%rax), %xmm2
|
||||
|
||||
packsswb %xmm0, %xmm2
|
||||
packsswb (%rax), %xmm2
|
||||
|
||||
packuswb %xmm0, %xmm2
|
||||
packuswb (%rax), %xmm2
|
||||
|
||||
paddb %xmm0, %xmm2
|
||||
paddb (%rax), %xmm2
|
||||
|
||||
paddd %xmm0, %xmm2
|
||||
paddd (%rax), %xmm2
|
||||
|
||||
paddq %xmm0, %xmm2
|
||||
paddq (%rax), %xmm2
|
||||
|
||||
paddsb %xmm0, %xmm2
|
||||
paddsb (%rax), %xmm2
|
||||
|
||||
paddsw %xmm0, %xmm2
|
||||
paddsw (%rax), %xmm2
|
||||
|
||||
paddusb %xmm0, %xmm2
|
||||
paddusb (%rax), %xmm2
|
||||
|
||||
paddusw %xmm0, %xmm2
|
||||
paddusw (%rax), %xmm2
|
||||
|
||||
paddw %xmm0, %xmm2
|
||||
paddw (%rax), %xmm2
|
||||
|
||||
pand %xmm0, %xmm2
|
||||
pand (%rax), %xmm2
|
||||
|
||||
pandn %xmm0, %xmm2
|
||||
pandn (%rax), %xmm2
|
||||
|
||||
pavgb %xmm0, %xmm2
|
||||
pavgb (%rax), %xmm2
|
||||
|
||||
pavgw %xmm0, %xmm2
|
||||
pavgw (%rax), %xmm2
|
||||
|
||||
pcmpeqb %xmm0, %xmm2
|
||||
pcmpeqb (%rax), %xmm2
|
||||
|
||||
pcmpeqd %xmm0, %xmm2
|
||||
pcmpeqd (%rax), %xmm2
|
||||
|
||||
pcmpeqw %xmm0, %xmm2
|
||||
pcmpeqw (%rax), %xmm2
|
||||
|
||||
pcmpgtb %xmm0, %xmm2
|
||||
pcmpgtb (%rax), %xmm2
|
||||
|
||||
pcmpgtd %xmm0, %xmm2
|
||||
pcmpgtd (%rax), %xmm2
|
||||
|
||||
pcmpgtw %xmm0, %xmm2
|
||||
pcmpgtw (%rax), %xmm2
|
||||
|
||||
pextrw $1, %xmm0, %rcx
|
||||
|
||||
pmaddwd %xmm0, %xmm2
|
||||
pmaddwd (%rax), %xmm2
|
||||
|
||||
pmaxsw %xmm0, %xmm2
|
||||
pmaxsw (%rax), %xmm2
|
||||
|
||||
pmaxub %xmm0, %xmm2
|
||||
pmaxub (%rax), %xmm2
|
||||
|
||||
pminsw %xmm0, %xmm2
|
||||
pminsw (%rax), %xmm2
|
||||
|
||||
pminub %xmm0, %xmm2
|
||||
pminub (%rax), %xmm2
|
||||
|
||||
pmovmskb %xmm0, %rcx
|
||||
|
||||
pmulhuw %xmm0, %xmm2
|
||||
pmulhuw (%rax), %xmm2
|
||||
|
||||
pmulhw %xmm0, %xmm2
|
||||
pmulhw (%rax), %xmm2
|
||||
|
||||
pmullw %xmm0, %xmm2
|
||||
pmullw (%rax), %xmm2
|
||||
|
||||
pmuludq %xmm0, %xmm2
|
||||
pmuludq (%rax), %xmm2
|
||||
|
||||
por %xmm0, %xmm2
|
||||
por (%rax), %xmm2
|
||||
|
||||
psadbw %xmm0, %xmm2
|
||||
psadbw (%rax), %xmm2
|
||||
|
||||
pshufd $1, %xmm0, %xmm2
|
||||
pshufd $1, (%rax), %xmm2
|
||||
|
||||
pshufhw $1, %xmm0, %xmm2
|
||||
pshufhw $1, (%rax), %xmm2
|
||||
|
||||
pshuflw $1, %xmm0, %xmm2
|
||||
pshuflw $1, (%rax), %xmm2
|
||||
|
||||
pslld $1, %xmm2
|
||||
pslld %xmm0, %xmm2
|
||||
pslld (%rax), %xmm2
|
||||
|
||||
pslldq $1, %xmm2
|
||||
|
||||
psllq $1, %xmm2
|
||||
psllq %xmm0, %xmm2
|
||||
psllq (%rax), %xmm2
|
||||
|
||||
psllw $1, %xmm2
|
||||
psllw %xmm0, %xmm2
|
||||
psllw (%rax), %xmm2
|
||||
|
||||
psrad $1, %xmm2
|
||||
psrad %xmm0, %xmm2
|
||||
psrad (%rax), %xmm2
|
||||
|
||||
psraw $1, %xmm2
|
||||
psraw %xmm0, %xmm2
|
||||
psraw (%rax), %xmm2
|
||||
|
||||
psrld $1, %xmm2
|
||||
psrld %xmm0, %xmm2
|
||||
psrld (%rax), %xmm2
|
||||
|
||||
psrldq $1, %xmm2
|
||||
|
||||
psrlq $1, %xmm2
|
||||
psrlq %xmm0, %xmm2
|
||||
psrlq (%rax), %xmm2
|
||||
|
||||
psrlw $1, %xmm2
|
||||
psrlw %xmm0, %xmm2
|
||||
psrlw (%rax), %xmm2
|
||||
|
||||
psubb %xmm0, %xmm2
|
||||
psubb (%rax), %xmm2
|
||||
|
||||
psubd %xmm0, %xmm2
|
||||
psubd (%rax), %xmm2
|
||||
|
||||
psubq %xmm0, %xmm2
|
||||
psubq (%rax), %xmm2
|
||||
|
||||
psubsb %xmm0, %xmm2
|
||||
psubsb (%rax), %xmm2
|
||||
|
||||
psubsw %xmm0, %xmm2
|
||||
psubsw (%rax), %xmm2
|
||||
|
||||
psubusb %xmm0, %xmm2
|
||||
psubusb (%rax), %xmm2
|
||||
|
||||
psubusw %xmm0, %xmm2
|
||||
psubusw (%rax), %xmm2
|
||||
|
||||
psubw %xmm0, %xmm2
|
||||
psubw (%rax), %xmm2
|
||||
|
||||
punpckhbw %xmm0, %xmm2
|
||||
punpckhbw (%rax), %xmm2
|
||||
|
||||
punpckhdq %xmm0, %xmm2
|
||||
punpckhdq (%rax), %xmm2
|
||||
|
||||
punpckhqdq %xmm0, %xmm2
|
||||
punpckhqdq (%rax), %xmm2
|
||||
|
||||
punpckhwd %xmm0, %xmm2
|
||||
punpckhwd (%rax), %xmm2
|
||||
|
||||
punpcklbw %xmm0, %xmm2
|
||||
punpcklbw (%rax), %xmm2
|
||||
|
||||
punpckldq %xmm0, %xmm2
|
||||
punpckldq (%rax), %xmm2
|
||||
|
||||
punpcklqdq %xmm0, %xmm2
|
||||
punpcklqdq (%rax), %xmm2
|
||||
|
||||
punpcklwd %xmm0, %xmm2
|
||||
punpcklwd (%rax), %xmm2
|
||||
|
||||
pxor %xmm0, %xmm2
|
||||
pxor (%rax), %xmm2
|
||||
|
||||
shufpd $1, %xmm0, %xmm2
|
||||
shufpd $1, (%rax), %xmm2
|
||||
|
||||
sqrtpd %xmm0, %xmm2
|
||||
sqrtpd (%rax), %xmm2
|
||||
|
||||
sqrtsd %xmm0, %xmm2
|
||||
sqrtsd (%rax), %xmm2
|
||||
|
||||
subpd %xmm0, %xmm2
|
||||
subpd (%rax), %xmm2
|
||||
|
||||
subsd %xmm0, %xmm2
|
||||
subsd (%rax), %xmm2
|
||||
|
||||
ucomisd %xmm0, %xmm1
|
||||
ucomisd (%rax), %xmm1
|
||||
|
||||
unpckhpd %xmm0, %xmm2
|
||||
unpckhpd (%rax), %xmm2
|
||||
|
||||
unpcklpd %xmm0, %xmm2
|
||||
unpcklpd (%rax), %xmm2
|
||||
|
||||
xorpd %xmm0, %xmm2
|
||||
xorpd (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - andnpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - andnpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - andpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - andpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - comisd %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtdq2pd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtdq2pd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtdq2ps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtdq2ps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtpd2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtpd2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtpd2ps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtpd2ps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtps2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtps2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtps2pd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtps2pd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2si %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2si %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2si (%rax), %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2si (%rax), %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsd2ss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsd2ss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2sdl %ecx, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtsi2sdq %rcx, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2sdl (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtsi2sdl (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvtss2sd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvtss2sd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttpd2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttpd2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttps2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttps2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttsd2si %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - cvttsd2si %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttsd2si (%rax), %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - cvttsd2si (%rax), %rcx
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - maskmovdqu %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - maxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - maxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - minsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movapd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movapd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movapd (%rax), %xmm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - movd %eax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - movd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - movdqa %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movdqa %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movdqu %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movdqu %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movdqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - movlpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movmskpd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntdq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - movq %rax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - movq %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movsd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movupd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movupd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movupd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - mulpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - mulpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 - - - - - - - mulsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 2.00 1.00 - - - - - - mulsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - orpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - orpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pabsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pabsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pabsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pabsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pabsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pabsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packssdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - packssdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packsswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - packsswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - packuswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - packuswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - paddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - paddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pand %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pand (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pandn %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pandn (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pavgb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pavgb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pavgw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pavgw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpeqw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpeqw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pcmpgtw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pcmpgtw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pextrw $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaddwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmaddwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pmaxsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmaxsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaxub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmaxub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pminsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pminsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pminub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pminub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pmovmskb %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmullw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmullw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmuludq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmuludq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - por %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - por (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psadbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psadbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshufd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshufd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshufhw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshufhw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pshuflw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pshuflw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pslld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pslld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pslld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pslldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psllq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psllq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psllq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psllw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psllw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psllw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrad $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrad %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrad (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psraw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psraw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psraw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psrlq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrlq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psrlq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psrlw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psrlw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psrlw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - psubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - psubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckhbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckhdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpckhqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpckhqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpckhwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpckhwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpcklbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - punpcklbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - punpckldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpckldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpcklqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpcklqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - punpcklwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - punpcklwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pxor %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pxor (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - shufpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - shufpd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - sqrtsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - sqrtsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - subsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - unpckhpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpckhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - unpcklpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - unpcklpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - xorpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - xorpd (%rax), %xmm2
|
|
@ -0,0 +1,69 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addsubpd %xmm0, %xmm2
|
||||
addsubpd (%rax), %xmm2
|
||||
|
||||
addsubps %xmm0, %xmm2
|
||||
addsubps (%rax), %xmm2
|
||||
|
||||
haddpd %xmm0, %xmm2
|
||||
haddpd (%rax), %xmm2
|
||||
|
||||
haddps %xmm0, %xmm2
|
||||
haddps (%rax), %xmm2
|
||||
|
||||
hsubpd %xmm0, %xmm2
|
||||
hsubpd (%rax), %xmm2
|
||||
|
||||
hsubps %xmm0, %xmm2
|
||||
hsubps (%rax), %xmm2
|
||||
|
||||
lddqu (%rax), %xmm2
|
||||
|
||||
movddup %xmm0, %xmm2
|
||||
movddup (%rax), %xmm2
|
||||
|
||||
movshdup %xmm0, %xmm2
|
||||
movshdup (%rax), %xmm2
|
||||
|
||||
movsldup %xmm0, %xmm2
|
||||
movsldup (%rax), %xmm2
|
||||
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - addsubps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - addsubps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - haddpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - haddpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - haddps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - haddps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - hsubpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - lddqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - movddup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movddup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - movshdup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movshdup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.04 0.96 - - - - - - - movsldup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - movsldup (%rax), %xmm2
|
|
@ -0,0 +1,261 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
blendpd $11, %xmm0, %xmm2
|
||||
blendpd $11, (%rax), %xmm2
|
||||
|
||||
blendps $11, %xmm0, %xmm2
|
||||
blendps $11, (%rax), %xmm2
|
||||
|
||||
blendvpd %xmm0, %xmm2
|
||||
blendvpd (%rax), %xmm2
|
||||
|
||||
blendvps %xmm0, %xmm2
|
||||
blendvps (%rax), %xmm2
|
||||
|
||||
dppd $22, %xmm0, %xmm2
|
||||
dppd $22, (%rax), %xmm2
|
||||
|
||||
dpps $22, %xmm0, %xmm2
|
||||
dpps $22, (%rax), %xmm2
|
||||
|
||||
extractps $1, %xmm0, %rcx
|
||||
extractps $1, %xmm0, (%rax)
|
||||
|
||||
insertps $1, %xmm0, %xmm2
|
||||
insertps $1, (%rax), %xmm2
|
||||
|
||||
movntdqa (%rax), %xmm2
|
||||
|
||||
mpsadbw $1, %xmm0, %xmm2
|
||||
mpsadbw $1, (%rax), %xmm2
|
||||
|
||||
packusdw %xmm0, %xmm2
|
||||
packusdw (%rax), %xmm2
|
||||
|
||||
pblendvb %xmm0, %xmm2
|
||||
pblendvb (%rax), %xmm2
|
||||
|
||||
pblendw $11, %xmm0, %xmm2
|
||||
pblendw $11, (%rax), %xmm2
|
||||
|
||||
pcmpeqq %xmm0, %xmm2
|
||||
pcmpeqq (%rax), %xmm2
|
||||
|
||||
pextrb $1, %xmm0, %ecx
|
||||
pextrb $1, %xmm0, (%rax)
|
||||
|
||||
pextrd $1, %xmm0, %ecx
|
||||
pextrd $1, %xmm0, (%rax)
|
||||
|
||||
pextrq $1, %xmm0, %rcx
|
||||
pextrq $1, %xmm0, (%rax)
|
||||
|
||||
pextrw $1, %xmm0, (%rax)
|
||||
|
||||
phminposuw %xmm0, %xmm2
|
||||
phminposuw (%rax), %xmm2
|
||||
|
||||
pinsrb $1, %eax, %xmm1
|
||||
pinsrb $1, (%rax), %xmm1
|
||||
|
||||
pinsrd $1, %eax, %xmm1
|
||||
pinsrd $1, (%rax), %xmm1
|
||||
|
||||
pinsrq $1, %rax, %xmm1
|
||||
pinsrq $1, (%rax), %xmm1
|
||||
|
||||
pmaxsb %xmm0, %xmm2
|
||||
pmaxsb (%rax), %xmm2
|
||||
|
||||
pmaxsd %xmm0, %xmm2
|
||||
pmaxsd (%rax), %xmm2
|
||||
|
||||
pmaxud %xmm0, %xmm2
|
||||
pmaxud (%rax), %xmm2
|
||||
|
||||
pmaxuw %xmm0, %xmm2
|
||||
pmaxuw (%rax), %xmm2
|
||||
|
||||
pminsb %xmm0, %xmm2
|
||||
pminsb (%rax), %xmm2
|
||||
|
||||
pminsd %xmm0, %xmm2
|
||||
pminsd (%rax), %xmm2
|
||||
|
||||
pminud %xmm0, %xmm2
|
||||
pminud (%rax), %xmm2
|
||||
|
||||
pminuw %xmm0, %xmm2
|
||||
pminuw (%rax), %xmm2
|
||||
|
||||
pmovsxbd %xmm0, %xmm2
|
||||
pmovsxbd (%rax), %xmm2
|
||||
|
||||
pmovsxbq %xmm0, %xmm2
|
||||
pmovsxbq (%rax), %xmm2
|
||||
|
||||
pmovsxbw %xmm0, %xmm2
|
||||
pmovsxbw (%rax), %xmm2
|
||||
|
||||
pmovsxdq %xmm0, %xmm2
|
||||
pmovsxdq (%rax), %xmm2
|
||||
|
||||
pmovsxwd %xmm0, %xmm2
|
||||
pmovsxwd (%rax), %xmm2
|
||||
|
||||
pmovsxwq %xmm0, %xmm2
|
||||
pmovsxwq (%rax), %xmm2
|
||||
|
||||
pmovzxbd %xmm0, %xmm2
|
||||
pmovzxbd (%rax), %xmm2
|
||||
|
||||
pmovzxbq %xmm0, %xmm2
|
||||
pmovzxbq (%rax), %xmm2
|
||||
|
||||
pmovzxbw %xmm0, %xmm2
|
||||
pmovzxbw (%rax), %xmm2
|
||||
|
||||
pmovzxdq %xmm0, %xmm2
|
||||
pmovzxdq (%rax), %xmm2
|
||||
|
||||
pmovzxwd %xmm0, %xmm2
|
||||
pmovzxwd (%rax), %xmm2
|
||||
|
||||
pmovzxwq %xmm0, %xmm2
|
||||
pmovzxwq (%rax), %xmm2
|
||||
|
||||
pmuldq %xmm0, %xmm2
|
||||
pmuldq (%rax), %xmm2
|
||||
|
||||
pmulld %xmm0, %xmm2
|
||||
pmulld (%rax), %xmm2
|
||||
|
||||
ptest %xmm0, %xmm1
|
||||
ptest (%rax), %xmm1
|
||||
|
||||
roundpd $1, %xmm0, %xmm2
|
||||
roundpd $1, (%rax), %xmm2
|
||||
|
||||
roundps $1, %xmm0, %xmm2
|
||||
roundps $1, (%rax), %xmm2
|
||||
|
||||
roundsd $1, %xmm0, %xmm2
|
||||
roundsd $1, (%rax), %xmm2
|
||||
|
||||
roundss $1, %xmm0, %xmm2
|
||||
roundss $1, (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - blendpd $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - blendpd $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - blendps $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - blendps $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dppd $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 - - - - - - - dpps $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.00 3.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - extractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - insertps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - insertps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 - - - - - - - - mpsadbw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 - 1.00 - - - - - - mpsadbw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - packusdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - packusdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 3.94 0.06 - - - - - - - pblendvb %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.06 3.94 1.00 - - - - - - pblendvb %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pblendw $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pblendw $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pcmpeqq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pcmpeqq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - pextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - - - - pextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - pextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - - - pextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - phminposuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phminposuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pinsrb $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - - - - pinsrb $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - - - - pinsrd $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.49 0.51 1.00 - - - - - - pinsrd $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pinsrq $1, %rax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.51 0.49 1.00 - - - - - - pinsrq $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - - - pmaxsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - pmaxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.51 0.49 1.00 - - - - - - pmaxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmaxud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmaxuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmaxuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pminud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pminud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pminuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pminuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - - - - pmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - pmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - - - pmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmuldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmuldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - ptest %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - ptest (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundpd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundsd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundsd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - roundss $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - roundss $1, (%rax), %xmm2
|
|
@ -0,0 +1,45 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
pcmpestri $1, %xmm0, %xmm2
|
||||
pcmpestri $1, (%rax), %xmm2
|
||||
|
||||
pcmpestrm $1, %xmm0, %xmm2
|
||||
pcmpestrm $1, (%rax), %xmm2
|
||||
|
||||
pcmpistri $1, %xmm0, %xmm2
|
||||
pcmpistri $1, (%rax), %xmm2
|
||||
|
||||
pcmpistrm $1, %xmm0, %xmm2
|
||||
pcmpistrm $1, (%rax), %xmm2
|
||||
|
||||
pcmpgtq %xmm0, %xmm2
|
||||
pcmpgtq (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 5.00 10.00 5.00 - - - - - - pcmpestri $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 5.00 10.00 6.00 - - - - - - pcmpestri $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 5.00 10.00 5.00 - - - - - - pcmpestrm $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 5.00 10.00 6.00 - - - - - - pcmpestrm $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - pcmpistri $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - pcmpistri $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - pcmpistrm $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 1.00 - - - - - - pcmpistrm $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - pcmpgtq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pcmpgtq (%rax), %xmm2
|
|
@ -0,0 +1,35 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
extrq %xmm0, %xmm2
|
||||
extrq $22, $2, %xmm2
|
||||
|
||||
insertq %xmm0, %xmm2
|
||||
insertq $22, $22, %xmm0, %xmm2
|
||||
|
||||
movntsd %xmm0, (%rax)
|
||||
movntss %xmm0, (%rax)
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - 0.49 0.51 - - - - - - - extrq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - extrq $22, $2, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - insertq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - insertq $22, $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntsd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - movntss %xmm0, (%rax)
|
|
@ -0,0 +1,85 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
palignr $1, %xmm0, %xmm2
|
||||
palignr $1, (%rax), %xmm2
|
||||
|
||||
phaddd %xmm0, %xmm2
|
||||
phaddd (%rax), %xmm2
|
||||
|
||||
phaddsw %xmm0, %xmm2
|
||||
phaddsw (%rax), %xmm2
|
||||
|
||||
phaddw %xmm0, %xmm2
|
||||
phaddw (%rax), %xmm2
|
||||
|
||||
phsubd %xmm0, %xmm2
|
||||
phsubd (%rax), %xmm2
|
||||
|
||||
phsubsw %xmm0, %xmm2
|
||||
phsubsw (%rax), %xmm2
|
||||
|
||||
phsubw %xmm0, %xmm2
|
||||
phsubw (%rax), %xmm2
|
||||
|
||||
pmaddubsw %xmm0, %xmm2
|
||||
pmaddubsw (%rax), %xmm2
|
||||
|
||||
pmulhrsw %xmm0, %xmm2
|
||||
pmulhrsw (%rax), %xmm2
|
||||
|
||||
pshufb %xmm0, %xmm2
|
||||
pshufb (%rax), %xmm2
|
||||
|
||||
psignb %xmm0, %xmm2
|
||||
psignb (%rax), %xmm2
|
||||
|
||||
psignd %xmm0, %xmm2
|
||||
psignd (%rax), %xmm2
|
||||
|
||||
psignw %xmm0, %xmm2
|
||||
psignw (%rax), %xmm2
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
# CHECK-NEXT: [2] - JDiv
|
||||
# CHECK-NEXT: [3] - JFPA
|
||||
# CHECK-NEXT: [4] - JFPM
|
||||
# CHECK-NEXT: [5] - JFPU0
|
||||
# CHECK-NEXT: [6] - JFPU1
|
||||
# CHECK-NEXT: [7] - JLAGU
|
||||
# CHECK-NEXT: [8] - JMul
|
||||
# CHECK-NEXT: [9] - JSAGU
|
||||
# CHECK-NEXT: [10] - JSTC
|
||||
# CHECK-NEXT: [11] - JVALU0
|
||||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - palignr $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - palignr $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phaddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phaddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - phsubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - phsubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmaddubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmaddubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - - pmulhrsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - pmulhrsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 4.00 - - - - - - - pshufb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 4.00 - 1.00 - - - - - - pshufb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - - - psignw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - - psignw (%rax), %xmm2
|
Loading…
Reference in New Issue