diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/sse41-schedule.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/sse41-schedule.ll | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/llvm/test/CodeGen/X86/sse41-schedule.ll b/llvm/test/CodeGen/X86/sse41-schedule.ll index 6d1430d98b1..824b688eb98 100644 --- a/llvm/test/CodeGen/X86/sse41-schedule.ll +++ b/llvm/test/CodeGen/X86/sse41-schedule.ll @@ -39,8 +39,8 @@ define <2 x double> @test_blendpd(<2 x double> %a0, <2 x double> %a1, <2 x doubl ; ; SKYLAKE-LABEL: test_blendpd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:0.33] -; SKYLAKE-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:0.50] +; SKYLAKE-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],mem[1] sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -91,7 +91,7 @@ define <4 x float> @test_blendps(<4 x float> %a0, <4 x float> %a1, <4 x float> * ; ; SKYLAKE-LABEL: test_blendps: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:0.33] +; SKYLAKE-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:0.50] ; SKYLAKE-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3] sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -145,8 +145,8 @@ define <2 x double> @test_blendvpd(<2 x double> %a0, <2 x double> %a1, <2 x doub ; ; SKYLAKE-LABEL: test_blendvpd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vblendvpd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00] -; SKYLAKE-NEXT: vblendvpd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:2.00] +; SKYLAKE-NEXT: vblendvpd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:0.67] +; SKYLAKE-NEXT: vblendvpd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:0.67] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_blendvpd: @@ -200,8 +200,8 @@ define <4 x float> @test_blendvps(<4 x float> %a0, <4 x float> %a1, <4 x float> ; ; SKYLAKE-LABEL: test_blendvps: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vblendvps %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00] -; SKYLAKE-NEXT: vblendvps %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:2.00] +; SKYLAKE-NEXT: vblendvps %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:0.67] +; SKYLAKE-NEXT: vblendvps %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:0.67] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_blendvps: @@ -298,8 +298,8 @@ define <4 x float> @test_dpps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2 ; ; SKYLAKE-LABEL: test_dpps: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [14:2.00] -; SKYLAKE-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [14:2.00] +; SKYLAKE-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [13:1.33] +; SKYLAKE-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [13:1.33] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_dpps: @@ -436,8 +436,8 @@ define <8 x i16> @test_mpsadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) { ; ; SKYLAKE-LABEL: test_mpsadbw: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [7:2.00] -; SKYLAKE-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [7:2.00] +; SKYLAKE-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [4:2.00] +; SKYLAKE-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [4:2.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_mpsadbw: @@ -542,8 +542,8 @@ define <16 x i8> @test_pblendvb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> %a2, <16 ; ; SKYLAKE-LABEL: test_pblendvb: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00] -; SKYLAKE-NEXT: vpblendvb %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:2.00] +; SKYLAKE-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:0.67] +; SKYLAKE-NEXT: vpblendvb %xmm2, (%rdi), %xmm0, %xmm0 # sched: [2:0.67] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_pblendvb: @@ -592,7 +592,7 @@ define <8 x i16> @test_pblendw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) { ; SKYLAKE-LABEL: test_pblendw: ; SKYLAKE: # BB#0: ; SKYLAKE-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7] sched: [1:1.00] -; SKYLAKE-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [4:1.00] +; SKYLAKE-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [1:1.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_pblendw: @@ -639,7 +639,7 @@ define <2 x i64> @test_pcmpeqq(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> *%a2) { ; ; SKYLAKE-LABEL: test_pcmpeqq: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpcmpeqq (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -689,7 +689,7 @@ define i32 @test_pextrb(<16 x i8> %a0, i8 *%a1) { ; ; SKYLAKE-LABEL: test_pextrb: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpextrb $3, %xmm0, %eax # sched: [2:1.00] +; SKYLAKE-NEXT: vpextrb $3, %xmm0, %eax # sched: [3:1.00] ; SKYLAKE-NEXT: vpextrb $1, %xmm0, (%rdi) # sched: [1:1.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -738,7 +738,7 @@ define i32 @test_pextrd(<4 x i32> %a0, i32 *%a1) { ; ; SKYLAKE-LABEL: test_pextrd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpextrd $3, %xmm0, %eax # sched: [2:1.00] +; SKYLAKE-NEXT: vpextrd $3, %xmm0, %eax # sched: [3:1.00] ; SKYLAKE-NEXT: vpextrd $1, %xmm0, (%rdi) # sched: [1:1.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -786,7 +786,7 @@ define i64 @test_pextrq(<2 x i64> %a0, <2 x i64> %a1, i64 *%a2) { ; ; SKYLAKE-LABEL: test_pextrq: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpextrq $1, %xmm0, %rax # sched: [2:1.00] +; SKYLAKE-NEXT: vpextrq $1, %xmm0, %rax # sched: [3:1.00] ; SKYLAKE-NEXT: vpextrq $1, %xmm0, (%rdi) # sched: [1:1.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -834,7 +834,7 @@ define i32 @test_pextrw(<8 x i16> %a0, i16 *%a1) { ; ; SKYLAKE-LABEL: test_pextrw: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpextrw $3, %xmm0, %eax # sched: [2:1.00] +; SKYLAKE-NEXT: vpextrw $3, %xmm0, %eax # sched: [3:1.00] ; SKYLAKE-NEXT: vpextrw $1, %xmm0, (%rdi) # sched: [1:1.00] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -883,8 +883,8 @@ define <8 x i16> @test_phminposuw(<8 x i16> *%a0) { ; ; SKYLAKE-LABEL: test_phminposuw: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vphminposuw (%rdi), %xmm0 # sched: [5:1.00] -; SKYLAKE-NEXT: vphminposuw %xmm0, %xmm0 # sched: [5:1.00] +; SKYLAKE-NEXT: vphminposuw (%rdi), %xmm0 # sched: [4:0.50] +; SKYLAKE-NEXT: vphminposuw %xmm0, %xmm0 # sched: [4:0.33] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_phminposuw: @@ -1084,7 +1084,7 @@ define <16 x i8> @test_pmaxsb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) { ; ; SKYLAKE-LABEL: test_pmaxsb: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmaxsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpmaxsb %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpmaxsb (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1133,7 +1133,7 @@ define <4 x i32> @test_pmaxsd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pmaxsd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmaxsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpmaxsd %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpmaxsd (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1182,7 +1182,7 @@ define <4 x i32> @test_pmaxud(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pmaxud: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmaxud %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpmaxud %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpmaxud (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1231,7 +1231,7 @@ define <8 x i16> @test_pmaxuw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) { ; ; SKYLAKE-LABEL: test_pmaxuw: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmaxuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpmaxuw %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpmaxuw (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1280,7 +1280,7 @@ define <16 x i8> @test_pminsb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) { ; ; SKYLAKE-LABEL: test_pminsb: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpminsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpminsb %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpminsb (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1329,7 +1329,7 @@ define <4 x i32> @test_pminsd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pminsd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpminsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpminsd %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpminsd (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1378,7 +1378,7 @@ define <4 x i32> @test_pminud(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pminud: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpminud %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpminud %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpminud (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -1427,7 +1427,7 @@ define <8 x i16> @test_pminuw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) { ; ; SKYLAKE-LABEL: test_pminuw: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpminuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50] +; SKYLAKE-NEXT: vpminuw %xmm1, %xmm0, %xmm0 # sched: [1:1.00] ; SKYLAKE-NEXT: vpminuw (%rdi), %xmm0, %xmm0 # sched: [1:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; @@ -2172,8 +2172,8 @@ define <2 x i64> @test_pmuldq(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pmuldq: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [5:1.00] -; SKYLAKE-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [5:1.00] +; SKYLAKE-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [4:0.33] +; SKYLAKE-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_pmuldq: @@ -2222,8 +2222,8 @@ define <4 x i32> @test_pmulld(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) { ; ; SKYLAKE-LABEL: test_pmulld: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [10:2.00] -; SKYLAKE-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [10:2.00] +; SKYLAKE-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [8:0.67] +; SKYLAKE-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [8:0.67] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_pmulld: @@ -2286,10 +2286,10 @@ define i32 @test_ptest(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> *%a2) { ; ; SKYLAKE-LABEL: test_ptest: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vptest %xmm1, %xmm0 # sched: [2:1.00] -; SKYLAKE-NEXT: setb %al # sched: [1:0.50] -; SKYLAKE-NEXT: vptest (%rdi), %xmm0 # sched: [2:1.00] -; SKYLAKE-NEXT: setb %cl # sched: [1:0.50] +; SKYLAKE-NEXT: vptest %xmm1, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: setb %al # sched: [1:1.00] +; SKYLAKE-NEXT: vptest (%rdi), %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: setb %cl # sched: [1:1.00] ; SKYLAKE-NEXT: andb %al, %cl # sched: [1:0.25] ; SKYLAKE-NEXT: movzbl %cl, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [2:1.00] @@ -2353,9 +2353,9 @@ define <2 x double> @test_roundpd(<2 x double> %a0, <2 x double> *%a1) { ; ; SKYLAKE-LABEL: test_roundpd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [5:1.25] -; SKYLAKE-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [6:2.00] -; SKYLAKE-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [8:0.67] +; SKYLAKE-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [8:0.67] +; SKYLAKE-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_roundpd: @@ -2411,9 +2411,9 @@ define <4 x float> @test_roundps(<4 x float> %a0, <4 x float> *%a1) { ; ; SKYLAKE-LABEL: test_roundps: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [5:1.25] -; SKYLAKE-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [6:2.00] -; SKYLAKE-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [8:0.67] +; SKYLAKE-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [8:0.67] +; SKYLAKE-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_roundps: @@ -2470,9 +2470,9 @@ define <2 x double> @test_roundsd(<2 x double> %a0, <2 x double> %a1, <2 x doubl ; ; SKYLAKE-LABEL: test_roundsd: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [5:1.25] -; SKYLAKE-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [6:2.00] -; SKYLAKE-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [8:0.67] +; SKYLAKE-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [8:0.67] +; SKYLAKE-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_roundsd: @@ -2529,9 +2529,9 @@ define <4 x float> @test_roundss(<4 x float> %a0, <4 x float> %a1, <4 x float> * ; ; SKYLAKE-LABEL: test_roundss: ; SKYLAKE: # BB#0: -; SKYLAKE-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [5:1.25] -; SKYLAKE-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [6:2.00] -; SKYLAKE-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [3:1.00] +; SKYLAKE-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [8:0.67] +; SKYLAKE-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [8:0.67] +; SKYLAKE-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [4:0.50] ; SKYLAKE-NEXT: retq # sched: [2:1.00] ; ; BTVER2-LABEL: test_roundss: |

