diff options
| author | Craig Topper <craig.topper@intel.com> | 2018-04-17 19:35:19 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2018-04-17 19:35:19 +0000 |
| commit | e56a2fc5e7ee74320eb0d218b0ba5c703696a80b (patch) | |
| tree | fd103d96ae20baa5447871460882dbf789f55494 /llvm/test/CodeGen | |
| parent | 655e1db72239483f0ec49cc01ed9baf07374dd71 (diff) | |
| download | bcm5719-llvm-e56a2fc5e7ee74320eb0d218b0ba5c703696a80b.tar.gz bcm5719-llvm-e56a2fc5e7ee74320eb0d218b0ba5c703696a80b.zip | |
[X86] Add separate scheduling class for PSADBW instruction.
llvm-svn: 330204
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/avx2-schedule.ll | 8 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/mmx-schedule.ll | 6 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/sse2-schedule.ll | 28 |
3 files changed, 19 insertions, 23 deletions
diff --git a/llvm/test/CodeGen/X86/avx2-schedule.ll b/llvm/test/CodeGen/X86/avx2-schedule.ll index 87971fc71e4..e7a2f75df3c 100644 --- a/llvm/test/CodeGen/X86/avx2-schedule.ll +++ b/llvm/test/CodeGen/X86/avx2-schedule.ll @@ -5087,8 +5087,8 @@ define <4 x i64> @test_por(<4 x i64> %a0, <4 x i64> %a1, <4 x i64> *%a2) { define <4 x i64> @test_psadbw(<32 x i8> %a0, <32 x i8> %a1, <32 x i8> *%a2) { ; GENERIC-LABEL: test_psadbw: ; GENERIC: # %bb.0: -; GENERIC-NEXT: vpsadbw %ymm1, %ymm0, %ymm0 # sched: [3:1.00] -; GENERIC-NEXT: vpsadbw (%rdi), %ymm0, %ymm0 # sched: [8:1.00] +; GENERIC-NEXT: vpsadbw %ymm1, %ymm0, %ymm0 # sched: [5:1.00] +; GENERIC-NEXT: vpsadbw (%rdi), %ymm0, %ymm0 # sched: [10:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_psadbw: @@ -5117,8 +5117,8 @@ define <4 x i64> @test_psadbw(<32 x i8> %a0, <32 x i8> %a1, <32 x i8> *%a2) { ; ; ZNVER1-LABEL: test_psadbw: ; ZNVER1: # %bb.0: -; ZNVER1-NEXT: vpsadbw %ymm1, %ymm0, %ymm0 # sched: [1:0.25] -; ZNVER1-NEXT: vpsadbw (%rdi), %ymm0, %ymm0 # sched: [8:0.50] +; ZNVER1-NEXT: vpsadbw %ymm1, %ymm0, %ymm0 # sched: [3:1.00] +; ZNVER1-NEXT: vpsadbw (%rdi), %ymm0, %ymm0 # sched: [10:1.00] ; ZNVER1-NEXT: retq # sched: [1:0.50] %1 = call <4 x i64> @llvm.x86.avx2.psad.bw(<32 x i8> %a0, <32 x i8> %a1) %2 = bitcast <4 x i64> %1 to <32 x i8> diff --git a/llvm/test/CodeGen/X86/mmx-schedule.ll b/llvm/test/CodeGen/X86/mmx-schedule.ll index 6e36d3cc6fb..4651b80eebe 100644 --- a/llvm/test/CodeGen/X86/mmx-schedule.ll +++ b/llvm/test/CodeGen/X86/mmx-schedule.ll @@ -4637,15 +4637,15 @@ define i64 @test_psadbw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize { ; ; BTVER2-LABEL: test_psadbw: ; BTVER2: # %bb.0: -; BTVER2-NEXT: psadbw %mm1, %mm0 # sched: [2:1.00] +; BTVER2-NEXT: psadbw %mm1, %mm0 # sched: [2:0.50] ; BTVER2-NEXT: psadbw (%rdi), %mm0 # sched: [7:1.00] ; BTVER2-NEXT: movq %mm0, %rax # sched: [1:0.50] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-LABEL: test_psadbw: ; ZNVER1: # %bb.0: -; ZNVER1-NEXT: psadbw %mm1, %mm0 # sched: [4:1.00] -; ZNVER1-NEXT: psadbw (%rdi), %mm0 # sched: [11:1.00] +; ZNVER1-NEXT: psadbw %mm1, %mm0 # sched: [3:1.00] +; ZNVER1-NEXT: psadbw (%rdi), %mm0 # sched: [10:1.00] ; ZNVER1-NEXT: movq %mm0, %rax # sched: [2:1.00] ; ZNVER1-NEXT: retq # sched: [1:0.50] %1 = call x86_mmx @llvm.x86.mmx.psad.bw(x86_mmx %a0, x86_mmx %a1) diff --git a/llvm/test/CodeGen/X86/sse2-schedule.ll b/llvm/test/CodeGen/X86/sse2-schedule.ll index 76c5360b570..e6e2cd94f30 100644 --- a/llvm/test/CodeGen/X86/sse2-schedule.ll +++ b/llvm/test/CodeGen/X86/sse2-schedule.ll @@ -10332,18 +10332,14 @@ define <2 x i64> @test_psadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) { ; ; ATOM-LABEL: test_psadbw: ; ATOM: # %bb.0: -; ATOM-NEXT: psadbw %xmm1, %xmm0 # sched: [1:0.50] -; ATOM-NEXT: psadbw (%rdi), %xmm0 # sched: [1:1.00] -; ATOM-NEXT: nop # sched: [1:0.50] -; ATOM-NEXT: nop # sched: [1:0.50] -; ATOM-NEXT: nop # sched: [1:0.50] -; ATOM-NEXT: nop # sched: [1:0.50] +; ATOM-NEXT: psadbw %xmm1, %xmm0 # sched: [5:5.00] +; ATOM-NEXT: psadbw (%rdi), %xmm0 # sched: [5:5.00] ; ATOM-NEXT: retq # sched: [79:39.50] ; ; SLM-LABEL: test_psadbw: ; SLM: # %bb.0: -; SLM-NEXT: psadbw %xmm1, %xmm0 # sched: [1:0.50] -; SLM-NEXT: psadbw (%rdi), %xmm0 # sched: [4:1.00] +; SLM-NEXT: psadbw %xmm1, %xmm0 # sched: [4:1.00] +; SLM-NEXT: psadbw (%rdi), %xmm0 # sched: [7:1.00] ; SLM-NEXT: retq # sched: [4:1.00] ; ; SANDY-SSE-LABEL: test_psadbw: @@ -10408,26 +10404,26 @@ define <2 x i64> @test_psadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) { ; ; BTVER2-SSE-LABEL: test_psadbw: ; BTVER2-SSE: # %bb.0: -; BTVER2-SSE-NEXT: psadbw %xmm1, %xmm0 # sched: [1:0.50] -; BTVER2-SSE-NEXT: psadbw (%rdi), %xmm0 # sched: [6:1.00] +; BTVER2-SSE-NEXT: psadbw %xmm1, %xmm0 # sched: [2:0.50] +; BTVER2-SSE-NEXT: psadbw (%rdi), %xmm0 # sched: [7:1.00] ; BTVER2-SSE-NEXT: retq # sched: [4:1.00] ; ; BTVER2-LABEL: test_psadbw: ; BTVER2: # %bb.0: -; BTVER2-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [1:0.50] -; BTVER2-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [6:1.00] +; BTVER2-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [2:0.50] +; BTVER2-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [7:1.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; ZNVER1-SSE-LABEL: test_psadbw: ; ZNVER1-SSE: # %bb.0: -; ZNVER1-SSE-NEXT: psadbw %xmm1, %xmm0 # sched: [1:0.25] -; ZNVER1-SSE-NEXT: psadbw (%rdi), %xmm0 # sched: [8:0.50] +; ZNVER1-SSE-NEXT: psadbw %xmm1, %xmm0 # sched: [3:1.00] +; ZNVER1-SSE-NEXT: psadbw (%rdi), %xmm0 # sched: [10:1.00] ; ZNVER1-SSE-NEXT: retq # sched: [1:0.50] ; ; ZNVER1-LABEL: test_psadbw: ; ZNVER1: # %bb.0: -; ZNVER1-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [1:0.25] -; ZNVER1-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [8:0.50] +; ZNVER1-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [3:1.00] +; ZNVER1-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [10:1.00] ; ZNVER1-NEXT: retq # sched: [1:0.50] %1 = call <2 x i64> @llvm.x86.sse2.psad.bw(<16 x i8> %a0, <16 x i8> %a1) %2 = bitcast <2 x i64> %1 to <16 x i8> |

