diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-08-01 16:47:48 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-08-01 16:47:48 +0000 |
| commit | 3f24ff61300afb16d04dcf6403cbe10826aab67e (patch) | |
| tree | b6d363ba51e48ca3587bbcb514761b6f1b4baf49 /llvm/test/CodeGen/X86/sse2-schedule.ll | |
| parent | e2cc5892832436d0307cea4ab4dcde26211354a4 (diff) | |
| download | bcm5719-llvm-3f24ff61300afb16d04dcf6403cbe10826aab67e.tar.gz bcm5719-llvm-3f24ff61300afb16d04dcf6403cbe10826aab67e.zip | |
[X86][SSE] Added missing PACKSS/PACKUS intrinsic schedules
Improves atom scheduler test coverage (to make it easier to upgrade them for PR32431).
Checked on Agner that these actually match the UNPACK schedules, but better to include a separate class
llvm-svn: 309701
Diffstat (limited to 'llvm/test/CodeGen/X86/sse2-schedule.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/sse2-schedule.ll | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/llvm/test/CodeGen/X86/sse2-schedule.ll b/llvm/test/CodeGen/X86/sse2-schedule.ll index fbc21390d2d..1fa1b6e4f10 100644 --- a/llvm/test/CodeGen/X86/sse2-schedule.ll +++ b/llvm/test/CodeGen/X86/sse2-schedule.ll @@ -2816,12 +2816,8 @@ define <8 x i16> @test_packssdw(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; ATOM-LABEL: test_packssdw: ; ATOM: # BB#0: -; ATOM-NEXT: packssdw %xmm1, %xmm0 -; ATOM-NEXT: packssdw (%rdi), %xmm0 -; 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: packssdw %xmm1, %xmm0 # sched: [1:1.00] +; ATOM-NEXT: packssdw (%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] @@ -2874,12 +2870,8 @@ define <16 x i8> @test_packsswb(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) { ; ; ATOM-LABEL: test_packsswb: ; ATOM: # BB#0: -; ATOM-NEXT: packsswb %xmm1, %xmm0 -; ATOM-NEXT: packsswb (%rdi), %xmm0 -; 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: packsswb %xmm1, %xmm0 # sched: [1:1.00] +; ATOM-NEXT: packsswb (%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] @@ -2932,12 +2924,8 @@ define <16 x i8> @test_packuswb(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) { ; ; ATOM-LABEL: test_packuswb: ; ATOM: # BB#0: -; ATOM-NEXT: packuswb %xmm1, %xmm0 -; ATOM-NEXT: packuswb (%rdi), %xmm0 -; 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: packuswb %xmm1, %xmm0 # sched: [1:1.00] +; ATOM-NEXT: packuswb (%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] |

