[X86] AMD Zen 3: throughput for renameable XMM/YMM moves is 6

They are resolved at the register rename stage without
using any execution units.
This commit is contained in:
Roman Lebedev 2021-05-07 16:41:46 +03:00
parent 715c0d0bd4
commit 758c173309
No known key found for this signature in database
GPG Key ID: 083C3EBB4A1689E0
7 changed files with 2427 additions and 2427 deletions

View File

@ -1454,12 +1454,12 @@ def : InstRW<[Zn3WriteMoveRenameable], (instrs MOV32rr, MOV32rr_REV,
defm : Zn3WriteResInt<WriteXCHG, [Zn3ALU0123], 0, [8], 2>; // Compare+Exchange - TODO RMW support.
defm : Zn3WriteResXMM<WriteFMove, [Zn3FPVMisc0123], 1, [1], 1>; // Empty sched class
defm : Zn3WriteResXMM<WriteFMoveX, [Zn3FPVMisc0123], 0, [1], 1>;
defm : Zn3WriteResYMM<WriteFMoveY, [Zn3FPVMisc0123], 0, [1], 1>;
defm : Zn3WriteResXMM<WriteFMoveX, [], 0, [], 1>;
defm : Zn3WriteResYMM<WriteFMoveY, [], 0, [], 1>;
defm : Zn3WriteResXMM<WriteVecMove, [Zn3FPFMisc0123], 1, [1], 1>; // MMX
defm : Zn3WriteResXMM<WriteVecMoveX, [Zn3FPFMisc0123], 0, [1], 1>;
defm : Zn3WriteResYMM<WriteVecMoveY, [Zn3FPFMisc0123], 0, [1], 1>;
defm : Zn3WriteResXMM<WriteVecMoveX, [], 0, [], 1>;
defm : Zn3WriteResYMM<WriteVecMoveY, [], 0, [], 1>;
def : IsOptimizableRegisterMove<[
InstructionEquivalenceClass<[

View File

@ -125,7 +125,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -136,22 +136,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movaps %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movaps %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movaps %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movaps %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movaps %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movaps %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movaps %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movaps %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movaps %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movaps %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movaps %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movaps %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movaps %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movaps %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movaps %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movaps %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movaps %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movaps %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movaps %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movaps %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movaps %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movaps %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movaps %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movaps %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movaps %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movaps %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movaps %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movaps %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movaps %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movaps %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movaps %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movaps %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0
@ -419,7 +419,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -430,22 +430,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movups %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movups %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movups %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movups %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movups %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movups %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movups %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movups %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movups %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movups %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movups %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movups %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movups %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movups %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movups %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movups %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movups %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movups %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movups %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movups %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movups %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movups %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movups %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movups %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movups %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movups %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movups %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movups %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movups %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movups %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movups %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movups %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0
@ -713,7 +713,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -724,22 +724,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movapd %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movapd %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movapd %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movapd %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movapd %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movapd %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movapd %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movapd %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movapd %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movapd %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movapd %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movapd %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movapd %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movapd %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movapd %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movapd %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movapd %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movapd %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movapd %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movapd %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movapd %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movapd %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movapd %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movapd %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movapd %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movapd %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movapd %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movapd %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movapd %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movapd %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movapd %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movapd %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0
@ -1007,7 +1007,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -1018,22 +1018,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movupd %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movupd %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movupd %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movupd %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movupd %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movupd %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movupd %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movupd %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movupd %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movupd %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movupd %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movupd %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movupd %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movupd %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movupd %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movupd %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movupd %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movupd %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movupd %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movupd %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movupd %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movupd %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movupd %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movupd %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movupd %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movupd %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movupd %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movupd %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movupd %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movupd %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movupd %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movupd %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0
@ -1301,7 +1301,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -1312,22 +1312,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movdqa %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movdqa %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movdqa %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movdqa %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movdqa %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movdqa %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movdqa %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movdqa %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movdqa %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movdqa %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movdqa %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movdqa %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movdqa %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movdqa %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movdqa %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movdqa %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movdqa %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movdqa %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movdqa %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movdqa %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movdqa %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movdqa %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movdqa %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movdqa %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movdqa %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movdqa %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movdqa %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movdqa %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movdqa %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movdqa %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movdqa %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movdqa %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0
@ -1595,7 +1595,7 @@ movdqu %xmm15, %xmm0
# CHECK: Dispatch Width: 6
# CHECK-NEXT: uOps Per Cycle: 6.00
# CHECK-NEXT: IPC: 6.00
# CHECK-NEXT: Block RThroughput: 4.0
# CHECK-NEXT: Block RThroughput: 2.7
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@ -1606,22 +1606,22 @@ movdqu %xmm15, %xmm0
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.25 movdqu %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.25 movdqu %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 movdqu %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.25 movdqu %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.25 movdqu %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.25 movdqu %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.25 movdqu %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.25 movdqu %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.25 movdqu %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.25 movdqu %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.25 movdqu %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.25 movdqu %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.25 movdqu %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.25 movdqu %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.25 movdqu %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.25 movdqu %xmm15, %xmm0
# CHECK-NEXT: 1 0 0.17 movdqu %xmm0, %xmm1
# CHECK-NEXT: 1 0 0.17 movdqu %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.17 movdqu %xmm2, %xmm3
# CHECK-NEXT: 1 0 0.17 movdqu %xmm3, %xmm4
# CHECK-NEXT: 1 0 0.17 movdqu %xmm4, %xmm5
# CHECK-NEXT: 1 0 0.17 movdqu %xmm5, %xmm6
# CHECK-NEXT: 1 0 0.17 movdqu %xmm6, %xmm7
# CHECK-NEXT: 1 0 0.17 movdqu %xmm7, %xmm8
# CHECK-NEXT: 1 0 0.17 movdqu %xmm8, %xmm9
# CHECK-NEXT: 1 0 0.17 movdqu %xmm9, %xmm10
# CHECK-NEXT: 1 0 0.17 movdqu %xmm10, %xmm11
# CHECK-NEXT: 1 0 0.17 movdqu %xmm11, %xmm12
# CHECK-NEXT: 1 0 0.17 movdqu %xmm12, %xmm13
# CHECK-NEXT: 1 0 0.17 movdqu %xmm13, %xmm14
# CHECK-NEXT: 1 0 0.17 movdqu %xmm14, %xmm15
# CHECK-NEXT: 1 0 0.17 movdqu %xmm15, %xmm0
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 0

View File

@ -1252,16 +1252,16 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vminsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vminss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vminss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 0 0.25 vmovapd %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovapd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovapd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovapd %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovapd %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovapd %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovapd (%rax), %ymm2
# CHECK-NEXT: 1 0 0.25 vmovaps %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovaps %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovaps %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovaps %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovaps %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovaps %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovaps (%rax), %ymm2
# CHECK-NEXT: 1 1 1.00 vmovd %eax, %xmm2
@ -1272,16 +1272,16 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 vmovddup %ymm0, %ymm2
# CHECK-NEXT: 1 8 0.50 * vmovddup (%rax), %ymm2
# CHECK-NEXT: 1 0 0.25 vmovdqa %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovdqa %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovdqa %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovdqa %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovdqa %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovdqa %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovdqa (%rax), %ymm2
# CHECK-NEXT: 1 0 0.25 vmovdqu %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovdqu %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovdqu %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovdqu %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovdqu %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovdqu %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovdqu (%rax), %ymm2
# CHECK-NEXT: 1 1 0.50 vmovhlps %xmm0, %xmm1, %xmm2
@ -1325,16 +1325,16 @@ vzeroupper
# CHECK-NEXT: 1 1 0.50 vmovss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovss %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovss (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovupd %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovupd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovupd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovupd %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovupd %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovupd %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovupd (%rax), %ymm2
# CHECK-NEXT: 1 0 0.25 vmovups %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 vmovups %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovups %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 vmovups %ymm0, %ymm2
# CHECK-NEXT: 1 0 0.17 vmovups %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 * vmovups %ymm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %ymm2
# CHECK-NEXT: 4 4 2.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2
@ -1749,7 +1749,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 184.25 373.25 253.75 141.75 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00
# CHECK-NEXT: 1.33 1.33 1.33 16.50 16.50 16.50 16.50 - 181.25 370.25 250.75 138.75 208.50 208.50 65.00 119.67 119.67 119.67 107.00 107.00 107.00 19.00 19.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@ -1975,16 +1975,16 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vminss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vminss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovapd %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovapd %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovapd %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovapd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovaps %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovaps %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovaps %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovaps (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - vmovd %eax, %xmm2
@ -1995,16 +1995,16 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovddup %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovddup (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovdqa %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqa %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqa %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqa (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovdqu %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovdqu %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovdqu %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovdqu (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovhlps %xmm0, %xmm1, %xmm2
@ -2048,16 +2048,16 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vmovss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovss %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovupd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovupd %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovupd %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovupd %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovupd (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vmovups %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vmovups %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 vmovups %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vmovups (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - vmpsadbw $1, %xmm0, %xmm1, %xmm2

View File

@ -240,7 +240,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * minps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 minss %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * minss (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movaps %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movaps %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movaps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movhlps %xmm0, %xmm2
@ -255,7 +255,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movups %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movups %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movups %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movups (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2
@ -346,7 +346,7 @@ xorps (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
# CHECK-NEXT: 2.00 2.00 2.00 16.50 16.50 16.50 16.50 - 22.00 64.00 34.00 26.00 33.00 33.00 7.00 22.33 22.33 22.33 19.33 19.33 19.33 4.00 4.00
# CHECK-NEXT: 2.00 2.00 2.00 16.50 16.50 16.50 16.50 - 21.50 63.50 33.50 25.50 33.00 33.00 7.00 22.33 22.33 22.33 19.33 19.33 19.33 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@ -396,7 +396,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - minss %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movaps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movaps %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movaps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movhlps %xmm0, %xmm2
@ -411,7 +411,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movss %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movss %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movups %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movups %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movups (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulps %xmm0, %xmm2

View File

@ -475,20 +475,20 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * minpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 minsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * minsd (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movapd %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movapd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movapd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movapd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movd %eax, %xmm2
# CHECK-NEXT: 1 8 0.50 * movd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movd %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movd %xmm0, (%rax)
# CHECK-NEXT: 1 0 0.25 movdqa %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movdqa %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movdqa %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movdqa (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movdqu %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movdqu %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movdqu %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movdqu (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movdq2q %xmm0, %mm2
# CHECK-NEXT: 1 0 0.17 movdq2q %xmm0, %mm2
# CHECK-NEXT: 2 2 1.00 * movhpd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movhpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlpd %xmm0, (%rax)
@ -507,7 +507,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movsd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movsd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movsd (%rax), %xmm2
# CHECK-NEXT: 1 0 0.25 movupd %xmm0, %xmm2
# CHECK-NEXT: 1 0 0.17 movupd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movupd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movupd (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2
@ -702,7 +702,7 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
# CHECK-NEXT: 1.00 1.00 1.00 25.00 25.00 25.00 25.00 - 42.50 124.00 89.00 61.50 70.50 70.50 12.00 53.67 53.67 53.67 38.33 38.33 38.33 8.00 8.00
# CHECK-NEXT: 1.00 1.00 1.00 25.00 25.00 25.00 25.00 - 41.25 122.75 87.75 60.25 70.50 70.50 12.00 53.67 53.67 53.67 38.33 38.33 38.33 8.00 8.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@ -774,20 +774,20 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - minsd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - minsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movapd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movapd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movapd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movd %eax, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - movd %xmm0, %ecx
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdqa %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movdqa %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdqu %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movdqu %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movdqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movdq2q %xmm0, %mm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movdq2q %xmm0, %mm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movhpd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movhpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movlpd %xmm0, (%rax)
@ -806,7 +806,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - movsd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movsd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - movupd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - movupd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movupd %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - movupd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - mulpd %xmm0, %xmm2