forked from OSchip/llvm-project
[llvm-mca] Add flag -instruction-tables to print the theoretical resource pressure distribution for instructions (PR36874)
The goal of this patch is to address most of PR36874. To fully fix PR36874 we need to split the "InstructionInfo" view from the "SummaryView". That would make easy to check the latency and rthroughput as well. The patch reuses all the logic from ResourcePressureView to print out the "instruction tables". We have an entry for every instruction in the input sequence. Each entry reports the theoretical resource pressure distribution. Resource pressure is uniformly distributed across all the processor resource units of a group. At the moment, the backend pipeline is not configurable, so the only way to fix this is by creating a different driver that simply sends instruction events to the resource pressure view. That means, we don't use the Backend interface. Instead, it is simpler to just have a different code-path for when flag -instruction-tables is specified. Once Clement addresses bug 36663, then we can port the "instruction tables" logic into a stage of our configurable pipeline. Updated the BtVer2 test cases (thanks Simon for the help). Now we pass flag -instruction-tables to each modified test. Differential Revision: https://reviews.llvm.org/D44839 llvm-svn: 328487
This commit is contained in:
parent
5af3fb2b94
commit
d1569290ef
|
@ -124,6 +124,14 @@ option specifies "``-``", then the output will also be sent to standard output.
|
|||
Limit the number of cycles in the timeline view. By default, the number of
|
||||
cycles is set to 80.
|
||||
|
||||
.. option:: -instruction-tables
|
||||
|
||||
Prints resource pressure information based on the static information
|
||||
available from the processor model. This differs from the resource pressure
|
||||
view because it doesn't require that the code is simulated. It instead prints
|
||||
the theoretical uniform distribution of resource pressure for every
|
||||
instruction in sequence.
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
aesdec %xmm0, %xmm2
|
||||
aesdec (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
vaddpd %xmm0, %xmm1, %xmm2
|
||||
vaddpd (%rax), %xmm1, %xmm2
|
||||
|
@ -1053,42 +1053,42 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaesimc (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vaeskeygenassist $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vaeskeygenassist $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vandnpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vandnpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vandnpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 1.00 - - - - - - vandnpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vandnps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vandnps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 2.00 - - - - - - - vandnps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 1.00 - - - - - - vandnps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vandpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vandpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vandpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 2.00 1.00 - - - - - - vandpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vandps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vandps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 2.00 - - - - - - - vandps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 2.00 1.00 - - - - - - vandps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vblendpd $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendpd $11, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 6.00 - 1.00 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 6.00 - 1.00 - 1.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 6.00 - 1.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 6.00 - 1.00 - 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 4.00 1.00 - 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vbroadcastss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vbroadcastss (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vandnpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vandnpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vandnpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vandnpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vandnps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vandnps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vandnps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vandnps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vandpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vandpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vandpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vandpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vandps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vandps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vandps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vandps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vblendpd $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vblendpd $11, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vblendps $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vblendps $11, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 1.00 - - - - - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 1.00 - - - - - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastf128 (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vbroadcastss (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
|
||||
|
@ -1115,12 +1115,12 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 2.00 - - - vcvtdq2ps (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2dqx (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 - - - 2.00 - - - vcvtpd2dq %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 1.00 - - 2.00 - - - vcvtpd2dqy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtpd2ps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtpd2psx (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 - - - 2.00 - - - vcvtpd2ps %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 1.00 - - 2.00 - - - vcvtpd2psy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvtps2dq %ymm0, %ymm2
|
||||
|
@ -1151,8 +1151,8 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 1.00 - - 2.00 - - - vcvttpd2dqy (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttps2dq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2
|
||||
|
@ -1179,10 +1179,10 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 6.00 6.00 - 1.00 - - - - - - - vdpps $22, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 6.00 6.00 - 1.00 1.00 - - - - - - vdpps $22, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractf128 $1, %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vextractf128 $1, %ymm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vextractf128 $1, %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vextractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vextractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - 1.00 - - - - vextractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vhaddpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhaddpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhaddpd %ymm0, %ymm1, %ymm2
|
||||
|
@ -1199,22 +1199,22 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vhsubps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vhsubps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vhsubps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vlddqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vlddqu (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vinsertf128 $1, %xmm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vinsertf128 $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vinsertps $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vinsertps $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vlddqu (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vldmxcsr (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmaskmovdqu %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 1.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax)
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - - - 1.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax)
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - 1.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - 4.00 - 1.00 - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax)
|
||||
# CHECK-NEXT: - - - 4.00 - 1.00 - - - 1.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovpd (%rax), %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vmaskmovpd (%rax), %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovpd %xmm0, %xmm1, (%rax)
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovpd %ymm0, %ymm1, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmaskmovps (%rax), %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vmaskmovps (%rax), %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovps %xmm0, %xmm1, (%rax)
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - 1.00 - - - - vmaskmovps %ymm0, %ymm1, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmaxpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmaxpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vmaxpd %ymm0, %ymm1, %ymm2
|
||||
|
@ -1239,91 +1239,91 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vminss %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vminss (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovapd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovapd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovapd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovapd %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovapd %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovapd %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovapd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovaps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovapd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovaps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovaps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovaps %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovaps %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovaps %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovaps (%rax), %ymm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - vmovd %eax, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovaps (%rax), %ymm2
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %eax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovd (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovd %xmm0, %ecx
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovddup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmovddup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmovddup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovddup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovddup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vmovddup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmovddup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqa %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovdqa %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqa %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqa %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vmovdqa (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vmovdqu %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqa (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqu %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vmovdqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vmovdqu %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovdqu %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovdqu %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vmovdqu (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovdqu (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovlhps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovhps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovhps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovlps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovlps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskpd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskpd %ymm0, %ecx
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskps %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovmskps %ymm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntdq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntdq %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vmovntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vmovntdqa (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vmovntdqa (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntpd %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovntps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 2.00 - - - vmovntps %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vmovq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - vmovq %rax, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vmovq %xmm0, %xmm2
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovq %rax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovq (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - vmovq %xmm0, %rcx
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - vmovq %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovsd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovshdup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vmovshdup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vmovshdup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmovshdup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmovsldup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vmovsldup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmovsldup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vmovsldup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovshdup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovshdup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vmovshdup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmovshdup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovsldup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovsldup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vmovsldup %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vmovsldup (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovss %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - vmovss %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - vmovss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovupd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovupd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovupd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovupd %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovupd %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovupd %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmovupd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vmovups %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovupd (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovups %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - vmovups %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vmovups %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - vmovups %ymm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - 1.00 - - - - - - vmovups (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vmovups (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 vmpsadbw $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vmulpd %xmm0, %xmm1, %xmm2
|
||||
|
@ -1338,177 +1338,177 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vmulsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vmulss %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vmulss (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vorpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vorpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vorps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vorps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpabsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpabsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpabsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpabsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackssdw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpackssdw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpacksswb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpacksswb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpackusdw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackusdw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpackuswb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpackuswb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddusw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddusw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpaddw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpaddw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpalignr $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpalignr $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpand %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpand (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpandn %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpandn (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpavgw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpavgw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 4.00 - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 4.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpblendw $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpblendw $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vorpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vorpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vorpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vorpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vorps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vorps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vorps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vorps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpabsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpabsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpabsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpabsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpabsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpabsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpackssdw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpackssdw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpacksswb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpacksswb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpackusdw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpackusdw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpackuswb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpackuswb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddusb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddusb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddusw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddusw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpaddw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpaddw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpalignr $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpalignr $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpand %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpand (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpandn %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpandn (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpavgb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpavgb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpavgw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpavgw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpblendw $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpblendw $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpclmulqdq $11, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpclmulqdq $11, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpeqw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpeqw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpcmpgtw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpcmpgtw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vpermilpd $1, %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 6.00 1.00 - - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 6.00 - - 1.00 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - vpermilps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 1.00 - - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - - 1.00 1.00 - - - - - - vpermilps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 1.00 - - - - - - - - vpermilps $1, %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - - 1.00 1.00 - - - - - - vpermilps $1, (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 6.00 1.00 - - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 6.00 - - 1.00 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 1.00 - - vpextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 1.00 - - vpextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpextrw $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - - 1.00 - vpextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphaddw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vphaddw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpeqb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpeqd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpeqq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpeqw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpeqw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpcmpgtw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpcmpgtw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vperm2f128 $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vpermilpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vpermilpd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vpermilpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vpermilpd $1, %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vpermilpd $1, (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 1.00 - - - - - - vpermilpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vpermilps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vpermilps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - vpermilps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vpermilps $1, %ymm0, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vpermilps $1, (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 0.50 0.50 1.00 - - - - - - vpermilps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - vpextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - vpextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - vpextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpextrw $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - vpextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphaddd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphaddd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphaddsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphaddsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphaddw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphaddw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vphminposuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vphminposuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vphsubd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vphsubsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vphsubw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vphsubw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrb $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrb $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrd $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrd $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrq $1, %rax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrq $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpinsrw $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpinsrw $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphsubd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphsubd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphsubsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphsubsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vphsubw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vphsubw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpinsrb $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpinsrb $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpinsrd $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpinsrd $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpinsrq $1, %rax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpinsrq $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpinsrw $1, %eax, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpinsrw $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddubsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddubsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmaddwd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmaddwd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpmaxsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpmaxub %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxub (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxud %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxud (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpmaxuw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmaxuw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpminsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminub %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminub (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminud %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminud (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - vpminuw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpminuw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxub %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxub (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxud %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxud (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmaxuw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmaxuw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminsd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminsd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminub %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminub (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminud %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminud (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpminuw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpminuw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuldq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuldq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2
|
||||
|
@ -1523,88 +1523,88 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmullw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 vpmuludq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 vpmuludq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpor %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpor (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpsadbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsadbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 4.00 - vpshufb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 4.00 - - vpshufb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpshufd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - vpshufd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshufhw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshufhw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpshuflw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpshuflw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsignw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsignw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpslld $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpslld (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpslldq $1, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllq $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsllq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsllw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsllw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsllw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrad $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrad %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrad (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsraw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsraw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsraw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrld $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrld (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrldq $1, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlq $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpsrlq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsrlw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubusw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubusw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - vpsubw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - vpsubw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpor %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpor (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsadbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsadbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - vpshufb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - vpshufb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpshufd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpshufd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpshufhw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpshufhw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpshuflw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpshuflw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsignb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsignb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsignd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsignd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsignw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsignw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpslld $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpslld %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpslld (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpslldq $1, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsllq $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsllq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsllq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsllw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsllw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsllw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrad $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrad %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsrad (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsraw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsraw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsraw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrld $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrld %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsrld (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrldq $1, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrlq $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrlq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsrlq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrlw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsrlw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsrlw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubsb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubsb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubsw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubsw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubusb %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubusb (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubusw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubusw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpsubw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpsubw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vptest %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vptest (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 - - - - - - - vptest %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 1.00 - 1.00 - - - - - - vptest (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - vpunpckhbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpckhbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpckhdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpckhdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpckhqdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpckhqdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpckhwd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpckhwd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpcklbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpcklbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpckldq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpckldq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpcklqdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpcklqdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpunpcklwd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - vpunpcklwd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - vpxor %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - vpxor (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 - - - - - - - vptest %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 1.00 - - - - - - vptest (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpckhbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpckhdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhqdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpckhqdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckhwd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpckhwd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpcklbw %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpcklbw (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpckldq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpckldq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpcklqdq %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpcklqdq (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpunpcklwd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpunpcklwd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - vpxor %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - vpxor (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrcpps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrcpps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vrcpps %ymm0, %ymm2
|
||||
|
@ -1629,14 +1629,14 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - vrsqrtps (%rax), %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vrsqrtss %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vrsqrtss (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 2.00 - 1.00 - 1.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vshufpd $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vshufpd $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vshufpd $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vshufpd $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vshufps $1, %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vshufps $1, (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 - - - - - - - vshufps $1, %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 0.50 0.50 1.00 - - - - - - vshufps $1, (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 - - - - - - - vsqrtpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 21.00 - 1.00 1.00 - - - - - - vsqrtpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 54.00 - 1.00 - - - - - - - vsqrtpd %ymm0, %ymm2
|
||||
|
@ -1664,39 +1664,39 @@ vzeroupper
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vsubss (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vtestpd %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vtestpd (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 1.00 - - - - - - - - vtestpd %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 1.00 - 1.00 - - - - - - vtestpd (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 - - - - - - - vtestpd %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 1.00 - - - - - - vtestpd (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vtestps %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vtestps (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 - - - - - - - vtestps %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 2.00 2.00 - 1.00 1.00 - - - - - - vtestps (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 - - - - - - - vtestps %ymm0, %ymm1
|
||||
# CHECK-NEXT: - - - 3.00 1.00 0.50 0.50 1.00 - - - - - - vtestps (%rax), %ymm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vucomisd %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vucomisd (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vucomiss %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vucomiss (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vunpckhps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpckhps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpcklpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpcklpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vunpcklps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - vunpcklps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - vxorpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vxorpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 - - - - - - - vxorpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 1.00 - - - - - - vxorpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vxorps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vxorps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vxorps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 2.00 1.00 - - - - - - vxorps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpckhpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpckhpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpckhpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpckhpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpckhps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpckhps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpckhps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpckhps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpcklpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpcklpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpcklpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpcklpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpcklps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpcklps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vunpcklps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vunpcklps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vxorpd %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vxorpd (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vxorpd %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vxorpd (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - vxorps %xmm0, %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vxorps (%rax), %xmm1, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - vxorps %ymm0, %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 1.00 - - - - - - vxorps (%rax), %ymm1, %ymm2
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - vzeroall
|
||||
# CHECK-NEXT: - - - - - - - - - - - - - - vzeroupper
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
pclmulqdq $11, %xmm0, %xmm2
|
||||
pclmulqdq $11, (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addps %xmm0, %xmm2
|
||||
addps (%rax), %xmm2
|
||||
|
@ -150,16 +150,17 @@ xorps (%rax), %xmm2
|
|||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
|
||||
# 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 - - - - - - - - addps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - andnps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 1.00 - - - - - - andnps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.01 0.99 - - - - - - - andps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.99 0.01 1.00 - - - - - - andps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
|
||||
|
@ -191,31 +192,31 @@ xorps (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.99 0.01 - - - - - - - movaps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movaps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movaps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movaps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movhlps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - movlhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movaps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movhlps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movlhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - movlps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movmskps %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntps %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movss %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movups %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movups %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movups %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movups (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movups (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - mulss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - mulss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - orps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - orps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pinsrw $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pinsrw $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrw $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrw $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rcpps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rcpss %xmm0, %xmm2
|
||||
|
@ -224,8 +225,8 @@ xorps (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - rsqrtss %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - rsqrtss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - shufps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - shufps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 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
|
||||
|
@ -237,9 +238,9 @@ xorps (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subss (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - ucomiss %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - ucomiss (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - unpckhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpckhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 1.00 - - - - - - - - unpcklps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - unpcklps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - xorps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 1.00 - - - - - - xorps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorps (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addpd %xmm0, %xmm2
|
||||
addpd (%rax), %xmm2
|
||||
|
@ -391,7 +391,8 @@ xorpd (%rax), %xmm2
|
|||
# CHECK-NEXT: [12] - JVALU1
|
||||
# CHECK-NEXT: [13] - JVIMUL
|
||||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
|
||||
# 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 - - - - - - - - addpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addpd (%rax), %xmm2
|
||||
|
@ -399,10 +400,10 @@ xorpd (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - addsubpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - addsubpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 1.00 - - - - - - - - andnpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.01 0.99 1.00 - - - - - - andnpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - andpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.01 0.99 1.00 - - - - - - andpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andnpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
|
||||
|
@ -454,102 +455,102 @@ xorpd (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - minsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - minsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 0.99 0.01 - - - - - - - movapd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movapd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movapd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 0.01 0.99 1.00 - 1.00 - - - - - - movapd (%rax), %xmm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - movd %eax, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movapd (%rax), %xmm2
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %eax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movd (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - movd %xmm0, %ecx
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - movdqa %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqa %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqa %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - movdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - movdqu %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movdqu %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movdqu %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - movdqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movdqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movhpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movlpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movlpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movlpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - movmskpd %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntdq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntpd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - movq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - 1.00 - - - - - - - - - - - - movq %rax, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - movq %xmm0, %xmm2
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %rax, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movq (%rax), %xmm2
|
||||
# CHECK-NEXT: 1.00 - - - - - - - - - - - - - movq %xmm0, %rcx
|
||||
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - movq %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movq %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - movsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movsd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - movsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - movupd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movupd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movupd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movupd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movupd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 - - - - - - - mulsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 2.00 - 1.00 1.00 - - - - - - mulsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - orpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - orpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pabsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pabsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pabsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pabsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - packssdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - packssdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - packsswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - packsswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - packuswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - packuswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - paddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - paddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pand %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pand (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pandn %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pandn (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pavgb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pavgb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pavgw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pavgw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pcmpeqw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pcmpeqw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pcmpgtw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pextrw $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - orpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - orpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pabsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pabsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packssdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packssdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packsswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packsswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packuswb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packuswb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - paddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - paddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pand %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pand (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pandn %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pandn (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pavgw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pavgw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pextrw $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - pmaxsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pmaxub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pmaxub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pminsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pminsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pminub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pminub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminub %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminub (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - pmovmskb %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhuw (%rax), %xmm2
|
||||
|
@ -559,78 +560,78 @@ xorpd (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmullw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuludq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuludq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - por %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - por (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psadbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psadbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshufd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshufd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshufhw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshufhw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pshuflw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - pshuflw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pslld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pslld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - pslld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - pslldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psllq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psllq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - - 1.00 - psllq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psllw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psllw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psllw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psrad $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrad %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrad (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psraw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psraw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - psraw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - psrld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psrlq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrlq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - 1.00 - psrlq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 1.00 - - psrlw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psrlw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psrlw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckhbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckhdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpckhqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpckhqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpckhwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpckhwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpcklbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - punpcklbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 1.00 - punpckldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpckldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpcklqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpcklqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - punpcklwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - punpcklwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - pxor %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pxor (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - - - shufpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - shufpd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - por %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - por (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psadbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psadbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufd $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshufhw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshufhw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pshuflw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pshuflw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pslld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pslldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psllw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psllw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrad %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrad (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psraw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psraw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrld %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrld (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrldq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw $1, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psrlw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psrlw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubusw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubusw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckhwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckhwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpckldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpckldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklqdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklqdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - punpcklwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - punpcklwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pxor %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pxor (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - shufpd $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 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
|
||||
|
@ -641,9 +642,9 @@ xorpd (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - subsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - ucomisd %xmm0, %xmm1
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - ucomisd (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - unpckhpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpckhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - unpcklpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - unpcklpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 1.00 - - - - - - - - xorpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 0.99 0.01 1.00 - - - - - - xorpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpckhpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpckhpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - unpcklpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - unpcklpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - xorpd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - xorpd (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
addsubpd %xmm0, %xmm2
|
||||
addsubpd (%rax), %xmm2
|
||||
|
@ -29,7 +29,6 @@ movshdup (%rax), %xmm2
|
|||
movsldup %xmm0, %xmm2
|
||||
movsldup (%rax), %xmm2
|
||||
|
||||
|
||||
# CHECK: Resources:
|
||||
# CHECK-NEXT: [0] - JALU0
|
||||
# CHECK-NEXT: [1] - JALU1
|
||||
|
@ -60,10 +59,10 @@ movsldup (%rax), %xmm2
|
|||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubpd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 0.01 0.99 - - - - - - - movddup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - movddup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.03 0.97 0.03 0.97 - - - - - - - movshdup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - movshdup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.03 0.97 0.03 0.97 - - - - - - - movsldup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.96 0.04 0.96 0.04 1.00 - - - - - - movsldup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movshdup (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsldup (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
blendpd $11, %xmm0, %xmm2
|
||||
blendpd $11, (%rax), %xmm2
|
||||
|
@ -163,88 +163,88 @@ roundss $1, (%rax), %xmm2
|
|||
|
||||
# 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 - - - - - - - blendpd $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendpd $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.99 0.01 0.99 0.01 - - - - - - - blendps $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.01 0.99 0.01 0.99 1.00 - - - - - - blendps $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 3.94 0.06 0.99 0.01 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.06 3.94 1.00 - 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 4.00 - 0.99 0.01 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - 4.00 0.01 0.99 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendpd $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendpd $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - blendps $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - blendps $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvpd %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 2.00 2.00 0.50 0.50 1.00 - - - - - - blendvps %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dppd $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dppd $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 - 1.00 - - - - - - - dpps $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 3.00 3.00 - 1.00 1.00 - - - - - - dpps $22, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - extractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - - insertps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - - - insertps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - movntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - extractps $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - 1.00 - - - - extractps $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - insertps $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - insertps $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - movntdqa (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 2.00 mpsadbw $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 2.00 mpsadbw $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - packusdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 2.00 2.00 - pblendvb %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 2.00 2.00 - pblendvb %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pcmpeqq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - 1.00 - 0.50 0.50 - pextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - pextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - 1.00 - 0.50 0.50 - pextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - packusdw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - packusdw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pblendvb %xmm0, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pblendvb %xmm0, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pblendw $11, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pblendw $11, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpeqq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpeqq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pextrb $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - pextrb $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pextrd $1, %xmm0, %ecx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - pextrd $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pextrq $1, %xmm0, %rcx
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - pextrq $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - 1.00 - 0.50 0.50 - pextrw $1, %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 phminposuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 phminposuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - pinsrb $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pinsrd $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pinsrd $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.50 0.50 - pinsrq $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmaxsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmaxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.51 0.49 - pmaxuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pminsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.51 0.49 - pminuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.49 0.51 - pmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - 0.49 0.51 - pmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 0.51 0.49 - pmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 1.00 - - - 0.49 0.51 - pmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrb $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrb $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrd $1, %eax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrd $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pinsrq $1, %rax, %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pinsrq $1, (%rax), %xmm1
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmaxuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmaxuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminsd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminsd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminud %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminud (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pminuw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pminuw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovsxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovsxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxbw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxbw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxdq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxdq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pmovzxwq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pmovzxwq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmuldq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmuldq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulld %xmm0, %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
crc32b %al, %ecx
|
||||
crc32b (%rax), %ecx
|
||||
|
@ -48,23 +48,23 @@ pcmpgtq (%rax), %xmm2
|
|||
|
||||
# CHECK: Resource pressure by instruction:
|
||||
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
|
||||
# CHECK-NEXT: - 4.00 - - - - - - - - - - - - crc32b %al, %ecx
|
||||
# CHECK-NEXT: 4.00 - - - - - - 1.00 - - - - - - crc32b (%rax), %ecx
|
||||
# CHECK-NEXT: - 4.00 - - - - - - - - - - - - crc32l %eax, %ecx
|
||||
# CHECK-NEXT: 4.00 - - - - - - 1.00 - - - - - - crc32l (%rax), %ecx
|
||||
# CHECK-NEXT: - 4.00 - - - - - - - - - - - - crc32w %ax, %ecx
|
||||
# CHECK-NEXT: 4.00 - - - - - - 1.00 - - - - - - crc32w (%rax), %ecx
|
||||
# CHECK-NEXT: - 4.00 - - - - - - - - - - - - crc32b %al, %rcx
|
||||
# CHECK-NEXT: 4.00 - - - - - - 1.00 - - - - - - crc32b (%rax), %rcx
|
||||
# CHECK-NEXT: - 4.00 - - - - - - - - - - - - crc32q %rax, %rcx
|
||||
# CHECK-NEXT: 4.00 - - - - - - 1.00 - - - - - - crc32q (%rax), %rcx
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 2.00 - 2.00 - 6.00 4.00 - pcmpestri $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 3.00 - 2.00 - 6.00 4.00 - pcmpestri $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 2.00 - 2.00 - 6.00 4.00 - pcmpestrm $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 3.00 - 2.00 - 6.00 4.00 - pcmpestrm $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32l %eax, %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32l (%rax), %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32w %ax, %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32w (%rax), %ecx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32b %al, %rcx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32b (%rax), %rcx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - - crc32q %rax, %rcx
|
||||
# CHECK-NEXT: 2.00 2.00 - - - - - 1.00 - - - - - - crc32q (%rax), %rcx
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestri $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestri $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 2.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 3.00 - 2.00 - 3.00 7.00 - pcmpestrm $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistri $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistri $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 - - - - - 2.00 - pcmpistrm $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - 1.00 - - 1.00 1.00 - - - - 2.00 - pcmpistrm $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 1.00 - - pcmpgtq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - 1.00 - - pcmpgtq (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - pcmpgtq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - pcmpgtq (%rax), %xmm2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
extrq %xmm0, %xmm2
|
||||
extrq $22, $2, %xmm2
|
||||
|
@ -27,9 +27,9 @@ movntss %xmm0, (%rax)
|
|||
|
||||
# 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.99 0.01 - - - - 0.49 0.51 - extrq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 0.50 0.50 - extrq $22, $2, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - 2.00 2.00 - insertq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - 2.00 2.00 - insertq $22, $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - extrq $22, $2, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - insertq $22, $22, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntsd %xmm0, (%rax)
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - 1.00 1.00 - - - movntss %xmm0, (%rax)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -instruction-tables < %s | FileCheck %s --check-prefixes=CHECK,BTVER2
|
||||
|
||||
palignr $1, %xmm0, %xmm2
|
||||
palignr $1, (%rax), %xmm2
|
||||
|
@ -57,29 +57,29 @@ psignw (%rax), %xmm2
|
|||
|
||||
# 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.99 0.01 - - - - - 1.00 - palignr $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - palignr $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phaddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phaddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.99 0.01 - - - - - 1.00 - phsubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.01 0.99 1.00 - - - 1.00 - - phsubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - palignr $1, %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - palignr $1, (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phaddw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phaddw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - phsubw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - phsubw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmaddubsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmaddubsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - - 1.00 pmulhrsw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - 1.00 - - - - - 1.00 pmulhrsw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 - - - - - 4.00 - pshufb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 4.00 - - pshufb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 1.00 - - - - - - 1.00 - psignw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - - 1.00 1.00 - - - 1.00 - - psignw (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 2.00 2.00 - pshufb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 2.00 2.00 - pshufb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignb %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignb (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignd %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignd (%rax), %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 - psignw %xmm0, %xmm2
|
||||
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - psignw (%rax), %xmm2
|
||||
|
|
|
@ -18,6 +18,7 @@ add_llvm_tool(llvm-mca
|
|||
InstrBuilder.cpp
|
||||
Instruction.cpp
|
||||
InstructionInfoView.cpp
|
||||
InstructionTables.cpp
|
||||
LSUnit.cpp
|
||||
llvm-mca.cpp
|
||||
ResourcePressureView.cpp
|
||||
|
|
|
@ -51,6 +51,13 @@ public:
|
|||
}
|
||||
|
||||
const InstrDesc &getOrCreateInstrDesc(const llvm::MCInst &MCI);
|
||||
// Returns an array of processor resource masks.
|
||||
// Masks are computed by function mca::computeProcResourceMasks. see
|
||||
// Support.h for a description of how masks are computed and how masks can be
|
||||
// used to solve set membership problems.
|
||||
llvm::ArrayRef<uint64_t> getProcResourceMasks() const {
|
||||
return ProcResourceMasks;
|
||||
}
|
||||
|
||||
std::unique_ptr<Instruction> createInstruction(unsigned Idx,
|
||||
const llvm::MCInst &MCI);
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
//===--------------------- InstructionTables.cpp ----------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
/// \file
|
||||
///
|
||||
/// This file implements method InstructionTables::run().
|
||||
/// Method run() prints a theoretical resource pressure distribution based on
|
||||
/// the information available in the scheduling model, and without running
|
||||
/// the backend pipeline.
|
||||
///
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "InstructionTables.h"
|
||||
|
||||
namespace mca {
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
using ResourceRef = std::pair<uint64_t, uint64_t>;
|
||||
|
||||
void InstructionTables::run() {
|
||||
ArrayRef<uint64_t> Masks = IB.getProcResourceMasks();
|
||||
SmallVector<std::pair<ResourceRef, double>, 4> UsedResources;
|
||||
|
||||
// Create an instruction descriptor for every instruction in the sequence.
|
||||
while (S.hasNext()) {
|
||||
UsedResources.clear();
|
||||
InstRef IR = S.peekNext();
|
||||
std::unique_ptr<Instruction> Inst = IB.createInstruction(IR.first, *IR.second);
|
||||
const InstrDesc &Desc = Inst->getDesc();
|
||||
// Now identify the resources consumed by this instruction.
|
||||
for (const std::pair<uint64_t, ResourceUsage> Resource : Desc.Resources) {
|
||||
// Skip zero-cycle resources (i.e. unused resources).
|
||||
if (!Resource.second.size())
|
||||
continue;
|
||||
double Cycles = static_cast<double>(Resource.second.size());
|
||||
unsigned Index =
|
||||
std::distance(Masks.begin(), std::find(Masks.begin(), Masks.end(),
|
||||
Resource.first));
|
||||
const MCProcResourceDesc &ProcResource = *SM.getProcResource(Index);
|
||||
unsigned NumUnits = ProcResource.NumUnits;
|
||||
if (!ProcResource.SubUnitsIdxBegin) {
|
||||
// The number of cycles consumed by each unit.
|
||||
Cycles /= NumUnits;
|
||||
for (unsigned I = 0, E = NumUnits; I < E; ++I) {
|
||||
ResourceRef ResourceUnit = std::make_pair(Index, 1U << I);
|
||||
UsedResources.emplace_back(std::make_pair(ResourceUnit, Cycles));
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// This is a group. Obtain the set of resources contained in this
|
||||
// group. Some of these resources may implement multiple units.
|
||||
// Uniformly distribute Cycles across all of the units.
|
||||
for (unsigned I1 = 0; I1 < NumUnits; ++I1) {
|
||||
unsigned SubUnitIdx = ProcResource.SubUnitsIdxBegin[I1];
|
||||
const MCProcResourceDesc &SubUnit = *SM.getProcResource(SubUnitIdx);
|
||||
// Compute the number of cycles consumed by each resource unit.
|
||||
double RUCycles = Cycles / (NumUnits * SubUnit.NumUnits);
|
||||
for (unsigned I2 = 0, E2 = SubUnit.NumUnits; I2 < E2; ++I2) {
|
||||
ResourceRef ResourceUnit = std::make_pair(SubUnitIdx, 1U << I2);
|
||||
UsedResources.emplace_back(std::make_pair(ResourceUnit, RUCycles));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now send a fake instruction issued event to all the listeners.
|
||||
HWInstructionIssuedEvent Event(IR.first, UsedResources);
|
||||
for (HWEventListener *Listener : Listeners)
|
||||
Listener->onInstructionEvent(Event);
|
||||
S.updateNext();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace mca
|
|
@ -0,0 +1,47 @@
|
|||
//===--------------------- InstructionTables.h ------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
/// \file
|
||||
///
|
||||
/// This file implements a custom driver to generate instruction tables.
|
||||
/// See the description of command-line flag -instruction-tables in
|
||||
/// docs/CommandGuide/lvm-mca.rst
|
||||
///
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_TOOLS_LLVM_MCA_INSTRUCTIONTABLES_H
|
||||
#define LLVM_TOOLS_LLVM_MCA_INSTRUCTIONTABLES_H
|
||||
|
||||
#include "HWEventListener.h"
|
||||
#include "InstrBuilder.h"
|
||||
#include "SourceMgr.h"
|
||||
#include "llvm/MC/MCSchedule.h"
|
||||
|
||||
namespace mca {
|
||||
|
||||
class InstructionTables {
|
||||
const llvm::MCSchedModel &SM;
|
||||
InstrBuilder &IB;
|
||||
SourceMgr &S;
|
||||
std::set<HWEventListener *> Listeners;
|
||||
|
||||
public:
|
||||
InstructionTables(const llvm::MCSchedModel &Model, InstrBuilder &Builder,
|
||||
SourceMgr &Source)
|
||||
: SM(Model), IB(Builder), S(Source) {}
|
||||
|
||||
void addEventListener(HWEventListener *Listener) {
|
||||
if (Listener)
|
||||
Listeners.insert(Listener);
|
||||
}
|
||||
|
||||
void run();
|
||||
};
|
||||
} // namespace mca
|
||||
|
||||
#endif
|
|
@ -24,6 +24,7 @@
|
|||
#include "BackendPrinter.h"
|
||||
#include "BackendStatistics.h"
|
||||
#include "InstructionInfoView.h"
|
||||
#include "InstructionTables.h"
|
||||
#include "ResourcePressureView.h"
|
||||
#include "SummaryView.h"
|
||||
#include "TimelineView.h"
|
||||
|
@ -121,9 +122,15 @@ static cl::opt<bool> AssumeNoAlias(
|
|||
|
||||
static cl::opt<unsigned>
|
||||
LoadQueueSize("lqueue", cl::desc("Size of the load queue"), cl::init(0));
|
||||
|
||||
static cl::opt<unsigned>
|
||||
StoreQueueSize("squeue", cl::desc("Size of the store queue"), cl::init(0));
|
||||
|
||||
static cl::opt<bool>
|
||||
PrintInstructionTables("instruction-tables",
|
||||
cl::desc("Print instruction tables"),
|
||||
cl::init(false));
|
||||
|
||||
static const Target *getTarget(const char *ProgName) {
|
||||
TripleName = Triple::normalize(TripleName);
|
||||
if (TripleName.empty())
|
||||
|
@ -260,8 +267,9 @@ int main(int argc, char **argv) {
|
|||
MOFI.InitMCObjectFileInfo(TheTriple, /* PIC= */ false, Ctx);
|
||||
|
||||
std::unique_ptr<buffer_ostream> BOS;
|
||||
|
||||
std::unique_ptr<mca::SourceMgr> S =
|
||||
llvm::make_unique<mca::SourceMgr>(Iterations);
|
||||
llvm::make_unique<mca::SourceMgr>(PrintInstructionTables ? 1 : Iterations);
|
||||
MCStreamerWrapper Str(Ctx, S->getSequence());
|
||||
|
||||
std::unique_ptr<MCInstrInfo> MCII(TheTarget->createMCInstrInfo());
|
||||
|
@ -326,6 +334,18 @@ int main(int argc, char **argv) {
|
|||
std::unique_ptr<mca::InstrBuilder> IB =
|
||||
llvm::make_unique<mca::InstrBuilder>(*STI, *MCII);
|
||||
|
||||
if (PrintInstructionTables) {
|
||||
mca::InstructionTables IT(STI->getSchedModel(), *IB, *S);
|
||||
mca::ResourcePressureView RPV(*STI, *IP, *S);
|
||||
mca::InstructionInfoView IIV(*STI, *MCII, *S, *IP);
|
||||
IT.addEventListener(&IIV);
|
||||
IT.addEventListener(&RPV);
|
||||
IT.run();
|
||||
RPV.printView(TOF->os());
|
||||
TOF->keep();
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::unique_ptr<mca::Backend> B = llvm::make_unique<mca::Backend>(
|
||||
*STI, *MRI, *IB, *S, Width, RegisterFileSize, MaxRetirePerCycle,
|
||||
LoadQueueSize, StoreQueueSize, AssumeNoAlias);
|
||||
|
|
Loading…
Reference in New Issue