diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/recip-fastmath.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/recip-fastmath.ll | 162 |
1 files changed, 81 insertions, 81 deletions
diff --git a/llvm/test/CodeGen/X86/recip-fastmath.ll b/llvm/test/CodeGen/X86/recip-fastmath.ll index 296d165b3eb..00092e2a5c0 100644 --- a/llvm/test/CodeGen/X86/recip-fastmath.ll +++ b/llvm/test/CodeGen/X86/recip-fastmath.ll @@ -19,56 +19,56 @@ define float @f32_no_estimate(float %x) #0 { ; SSE-LABEL: f32_no_estimate: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero ; SSE-NEXT: divss %xmm0, %xmm1 ; SSE-NEXT: movaps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: f32_no_estimate: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero ; AVX-RECIP-NEXT: vdivss %xmm0, %xmm1, %xmm0 ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: f32_no_estimate: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero ; FMA-RECIP-NEXT: vdivss %xmm0, %xmm1, %xmm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: f32_no_estimate: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [5:1.00] ; BTVER2-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [19:19.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: f32_no_estimate: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [6:0.50] ; SANDY-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [14:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: f32_no_estimate: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:0.50] ; HASWELL-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [13:1.00] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_no_estimate: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero ; HASWELL-NO-FMA-NEXT: vdivss %xmm0, %xmm1, %xmm0 ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: f32_no_estimate: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:0.50] ; KNL-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [13:1.00] ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: f32_no_estimate: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [5:0.50] ; SKX-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [11:1.00] ; SKX-NEXT: retq # sched: [7:1.00] @@ -78,7 +78,7 @@ define float @f32_no_estimate(float %x) #0 { define float @f32_one_step(float %x) #1 { ; SSE-LABEL: f32_one_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: rcpss %xmm0, %xmm2 ; SSE-NEXT: mulss %xmm2, %xmm0 ; SSE-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero @@ -89,7 +89,7 @@ define float @f32_one_step(float %x) #1 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: f32_one_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; AVX-RECIP-NEXT: vmulss %xmm1, %xmm0, %xmm0 ; AVX-RECIP-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero @@ -99,14 +99,14 @@ define float @f32_one_step(float %x) #1 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: f32_one_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; FMA-RECIP-NEXT: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 ; FMA-RECIP-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: f32_one_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [5:1.00] ; BTVER2-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [2:1.00] ; BTVER2-NEXT: vmulss %xmm1, %xmm0, %xmm0 # sched: [2:1.00] @@ -116,7 +116,7 @@ define float @f32_one_step(float %x) #1 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: f32_one_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; SANDY-NEXT: vmulss %xmm1, %xmm0, %xmm0 # sched: [5:1.00] ; SANDY-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [6:0.50] @@ -126,14 +126,14 @@ define float @f32_one_step(float %x) #1 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: f32_one_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; HASWELL-NEXT: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 # sched: [5:0.50] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_one_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; HASWELL-NO-FMA-NEXT: vmulss %xmm1, %xmm0, %xmm0 ; HASWELL-NO-FMA-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero @@ -143,14 +143,14 @@ define float @f32_one_step(float %x) #1 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: f32_one_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; KNL-NEXT: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 # sched: [5:0.50] ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: f32_one_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [4:1.00] ; SKX-NEXT: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 # sched: [9:0.50] ; SKX-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 # sched: [4:0.33] @@ -161,7 +161,7 @@ define float @f32_one_step(float %x) #1 { define float @f32_two_step(float %x) #2 { ; SSE-LABEL: f32_two_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: rcpss %xmm0, %xmm2 ; SSE-NEXT: movaps %xmm0, %xmm3 ; SSE-NEXT: mulss %xmm2, %xmm3 @@ -178,7 +178,7 @@ define float @f32_two_step(float %x) #2 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: f32_two_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; AVX-RECIP-NEXT: vmulss %xmm1, %xmm0, %xmm2 ; AVX-RECIP-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero @@ -192,7 +192,7 @@ define float @f32_two_step(float %x) #2 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: f32_two_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; FMA-RECIP-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero ; FMA-RECIP-NEXT: vmovaps %xmm1, %xmm3 @@ -203,7 +203,7 @@ define float @f32_two_step(float %x) #2 { ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: f32_two_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero sched: [5:1.00] ; BTVER2-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [2:1.00] ; BTVER2-NEXT: vmulss %xmm1, %xmm0, %xmm2 # sched: [2:1.00] @@ -217,7 +217,7 @@ define float @f32_two_step(float %x) #2 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: f32_two_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; SANDY-NEXT: vmulss %xmm1, %xmm0, %xmm2 # sched: [5:1.00] ; SANDY-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero sched: [6:0.50] @@ -231,7 +231,7 @@ define float @f32_two_step(float %x) #2 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: f32_two_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; HASWELL-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [1:0.50] ; HASWELL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -242,7 +242,7 @@ define float @f32_two_step(float %x) #2 { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_two_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpss %xmm0, %xmm0, %xmm1 ; HASWELL-NO-FMA-NEXT: vmulss %xmm1, %xmm0, %xmm2 ; HASWELL-NO-FMA-NEXT: vmovss {{.*#+}} xmm3 = mem[0],zero,zero,zero @@ -256,7 +256,7 @@ define float @f32_two_step(float %x) #2 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: f32_two_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [5:1.00] ; KNL-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [1:0.50] ; KNL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -267,7 +267,7 @@ define float @f32_two_step(float %x) #2 { ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: f32_two_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpss %xmm0, %xmm0, %xmm1 # sched: [4:1.00] ; SKX-NEXT: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [5:0.50] ; SKX-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -282,56 +282,56 @@ define float @f32_two_step(float %x) #2 { define <4 x float> @v4f32_no_estimate(<4 x float> %x) #0 { ; SSE-LABEL: v4f32_no_estimate: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; SSE-NEXT: divps %xmm0, %xmm1 ; SSE-NEXT: movaps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v4f32_no_estimate: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vmovaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; AVX-RECIP-NEXT: vdivps %xmm0, %xmm1, %xmm0 ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v4f32_no_estimate: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vmovaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; FMA-RECIP-NEXT: vdivps %xmm0, %xmm1, %xmm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v4f32_no_estimate: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [19:19.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v4f32_no_estimate: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vmovaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [6:0.50] ; SANDY-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [14:1.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v4f32_no_estimate: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [13:1.00] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_no_estimate: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] ; HASWELL-NO-FMA-NEXT: vdivps %xmm0, %xmm1, %xmm0 ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v4f32_no_estimate: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [13:1.00] ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v4f32_no_estimate: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [6:0.50] ; SKX-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [11:1.00] ; SKX-NEXT: retq # sched: [7:1.00] @@ -341,7 +341,7 @@ define <4 x float> @v4f32_no_estimate(<4 x float> %x) #0 { define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; SSE-LABEL: v4f32_one_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: rcpps %xmm0, %xmm2 ; SSE-NEXT: mulps %xmm2, %xmm0 ; SSE-NEXT: movaps {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -352,7 +352,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v4f32_one_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpps %xmm0, %xmm1 ; AVX-RECIP-NEXT: vmulps %xmm1, %xmm0, %xmm0 ; AVX-RECIP-NEXT: vmovaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -362,14 +362,14 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v4f32_one_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpps %xmm0, %xmm1 ; FMA-RECIP-NEXT: vfnmadd213ps {{.*}}(%rip), %xmm1, %xmm0 ; FMA-RECIP-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v4f32_one_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vrcpps %xmm0, %xmm1 # sched: [2:1.00] ; BTVER2-NEXT: vmulps %xmm1, %xmm0, %xmm0 # sched: [2:1.00] @@ -379,7 +379,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v4f32_one_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; SANDY-NEXT: vmulps %xmm1, %xmm0, %xmm0 # sched: [5:1.00] ; SANDY-NEXT: vmovaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [6:0.50] @@ -389,7 +389,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v4f32_one_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; HASWELL-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vfnmadd213ps %xmm2, %xmm1, %xmm0 # sched: [5:0.50] @@ -397,7 +397,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_one_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpps %xmm0, %xmm1 ; HASWELL-NO-FMA-NEXT: vmulps %xmm1, %xmm0, %xmm0 ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] @@ -407,7 +407,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v4f32_one_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; KNL-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vfnmadd213ps %xmm2, %xmm1, %xmm0 # sched: [5:0.50] @@ -415,7 +415,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v4f32_one_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpps %xmm0, %xmm1 # sched: [4:1.00] ; SKX-NEXT: vfnmadd213ps {{.*}}(%rip){1to4}, %xmm1, %xmm0 # sched: [10:0.50] ; SKX-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm0 # sched: [4:0.33] @@ -426,7 +426,7 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; SSE-LABEL: v4f32_two_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: rcpps %xmm0, %xmm2 ; SSE-NEXT: movaps %xmm0, %xmm3 ; SSE-NEXT: mulps %xmm2, %xmm3 @@ -443,7 +443,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v4f32_two_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpps %xmm0, %xmm1 ; AVX-RECIP-NEXT: vmulps %xmm1, %xmm0, %xmm2 ; AVX-RECIP-NEXT: vmovaps {{.*#+}} xmm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -457,7 +457,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v4f32_two_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpps %xmm0, %xmm1 ; FMA-RECIP-NEXT: vmovaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; FMA-RECIP-NEXT: vmovaps %xmm1, %xmm3 @@ -468,7 +468,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v4f32_two_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} xmm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vrcpps %xmm0, %xmm1 # sched: [2:1.00] ; BTVER2-NEXT: vmulps %xmm1, %xmm0, %xmm2 # sched: [2:1.00] @@ -482,7 +482,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v4f32_two_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; SANDY-NEXT: vmulps %xmm1, %xmm0, %xmm2 # sched: [5:1.00] ; SANDY-NEXT: vmovaps {{.*#+}} xmm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [6:0.50] @@ -496,7 +496,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v4f32_two_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; HASWELL-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -507,7 +507,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_two_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpps %xmm0, %xmm1 ; HASWELL-NO-FMA-NEXT: vmulps %xmm1, %xmm0, %xmm2 ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} xmm3 = [1,1,1,1] @@ -521,7 +521,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v4f32_two_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpps %xmm0, %xmm1 # sched: [5:1.00] ; KNL-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -532,7 +532,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v4f32_two_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpps %xmm0, %xmm1 # sched: [4:1.00] ; SKX-NEXT: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [6:0.50] ; SKX-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] @@ -547,7 +547,7 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { define <8 x float> @v8f32_no_estimate(<8 x float> %x) #0 { ; SSE-LABEL: v8f32_no_estimate: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; SSE-NEXT: movaps %xmm2, %xmm3 ; SSE-NEXT: divps %xmm0, %xmm3 @@ -557,49 +557,49 @@ define <8 x float> @v8f32_no_estimate(<8 x float> %x) #0 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v8f32_no_estimate: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vmovaps {{.*#+}} ymm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; AVX-RECIP-NEXT: vdivps %ymm0, %ymm1, %ymm0 ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v8f32_no_estimate: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vmovaps {{.*#+}} ymm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; FMA-RECIP-NEXT: vdivps %ymm0, %ymm1, %ymm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v8f32_no_estimate: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} ymm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [38:38.00] ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v8f32_no_estimate: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vmovaps {{.*#+}} ymm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [7:0.50] ; SANDY-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [29:2.00] ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v8f32_no_estimate: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [21:2.00] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_no_estimate: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] ; HASWELL-NO-FMA-NEXT: vdivps %ymm0, %ymm1, %ymm0 ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v8f32_no_estimate: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [21:2.00] ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v8f32_no_estimate: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; SKX-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [11:1.00] ; SKX-NEXT: retq # sched: [7:1.00] @@ -609,7 +609,7 @@ define <8 x float> @v8f32_no_estimate(<8 x float> %x) #0 { define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; SSE-LABEL: v8f32_one_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: rcpps %xmm0, %xmm4 ; SSE-NEXT: mulps %xmm4, %xmm0 ; SSE-NEXT: movaps {{.*#+}} xmm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -627,7 +627,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v8f32_one_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpps %ymm0, %ymm1 ; AVX-RECIP-NEXT: vmulps %ymm1, %ymm0, %ymm0 ; AVX-RECIP-NEXT: vmovaps {{.*#+}} ymm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -637,14 +637,14 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v8f32_one_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpps %ymm0, %ymm1 ; FMA-RECIP-NEXT: vfnmadd213ps {{.*}}(%rip), %ymm1, %ymm0 ; FMA-RECIP-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm0 ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v8f32_one_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} ymm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vrcpps %ymm0, %ymm1 # sched: [2:2.00] ; BTVER2-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [2:2.00] @@ -654,7 +654,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v8f32_one_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpps %ymm0, %ymm1 # sched: [7:2.00] ; SANDY-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [5:1.00] ; SANDY-NEXT: vmovaps {{.*#+}} ymm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [7:0.50] @@ -664,7 +664,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v8f32_one_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpps %ymm0, %ymm1 # sched: [11:2.00] ; HASWELL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vfnmadd213ps %ymm2, %ymm1, %ymm0 # sched: [5:0.50] @@ -672,7 +672,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_one_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpps %ymm0, %ymm1 ; HASWELL-NO-FMA-NEXT: vmulps %ymm1, %ymm0, %ymm0 ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] @@ -682,7 +682,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v8f32_one_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpps %ymm0, %ymm1 # sched: [11:2.00] ; KNL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vfnmadd213ps %ymm2, %ymm1, %ymm0 # sched: [5:0.50] @@ -690,7 +690,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v8f32_one_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpps %ymm0, %ymm1 # sched: [4:1.00] ; SKX-NEXT: vfnmadd213ps {{.*}}(%rip){1to8}, %ymm1, %ymm0 # sched: [11:0.50] ; SKX-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm0 # sched: [4:0.33] @@ -701,7 +701,7 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; SSE-LABEL: v8f32_two_step: -; SSE: # BB#0: +; SSE: # %bb.0: ; SSE-NEXT: movaps %xmm1, %xmm2 ; SSE-NEXT: rcpps %xmm0, %xmm3 ; SSE-NEXT: movaps %xmm0, %xmm4 @@ -731,7 +731,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; SSE-NEXT: retq ; ; AVX-RECIP-LABEL: v8f32_two_step: -; AVX-RECIP: # BB#0: +; AVX-RECIP: # %bb.0: ; AVX-RECIP-NEXT: vrcpps %ymm0, %ymm1 ; AVX-RECIP-NEXT: vmulps %ymm1, %ymm0, %ymm2 ; AVX-RECIP-NEXT: vmovaps {{.*#+}} ymm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] @@ -745,7 +745,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; AVX-RECIP-NEXT: retq ; ; FMA-RECIP-LABEL: v8f32_two_step: -; FMA-RECIP: # BB#0: +; FMA-RECIP: # %bb.0: ; FMA-RECIP-NEXT: vrcpps %ymm0, %ymm1 ; FMA-RECIP-NEXT: vmovaps {{.*#+}} ymm2 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] ; FMA-RECIP-NEXT: vmovaps %ymm1, %ymm3 @@ -756,7 +756,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; FMA-RECIP-NEXT: retq ; ; BTVER2-LABEL: v8f32_two_step: -; BTVER2: # BB#0: +; BTVER2: # %bb.0: ; BTVER2-NEXT: vmovaps {{.*#+}} ymm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [5:1.00] ; BTVER2-NEXT: vrcpps %ymm0, %ymm1 # sched: [2:2.00] ; BTVER2-NEXT: vmulps %ymm1, %ymm0, %ymm2 # sched: [2:2.00] @@ -770,7 +770,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; BTVER2-NEXT: retq # sched: [4:1.00] ; ; SANDY-LABEL: v8f32_two_step: -; SANDY: # BB#0: +; SANDY: # %bb.0: ; SANDY-NEXT: vrcpps %ymm0, %ymm1 # sched: [7:2.00] ; SANDY-NEXT: vmulps %ymm1, %ymm0, %ymm2 # sched: [5:1.00] ; SANDY-NEXT: vmovaps {{.*#+}} ymm3 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00] sched: [7:0.50] @@ -784,7 +784,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; SANDY-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: v8f32_two_step: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: vrcpps %ymm0, %ymm1 # sched: [11:2.00] ; HASWELL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; HASWELL-NEXT: vmovaps %ymm1, %ymm3 # sched: [1:1.00] @@ -795,7 +795,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_two_step: -; HASWELL-NO-FMA: # BB#0: +; HASWELL-NO-FMA: # %bb.0: ; HASWELL-NO-FMA-NEXT: vrcpps %ymm0, %ymm1 ; HASWELL-NO-FMA-NEXT: vmulps %ymm1, %ymm0, %ymm2 ; HASWELL-NO-FMA-NEXT: vbroadcastss {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1] @@ -809,7 +809,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; HASWELL-NO-FMA-NEXT: retq ; ; KNL-LABEL: v8f32_two_step: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: vrcpps %ymm0, %ymm1 # sched: [11:2.00] ; KNL-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [1:0.50] ; KNL-NEXT: vmovaps %ymm1, %ymm3 # sched: [1:1.00] @@ -820,7 +820,7 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; KNL-NEXT: retq # sched: [2:1.00] ; ; SKX-LABEL: v8f32_two_step: -; SKX: # BB#0: +; SKX: # %bb.0: ; SKX-NEXT: vrcpps %ymm0, %ymm1 # sched: [4:1.00] ; SKX-NEXT: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; SKX-NEXT: vmovaps %ymm1, %ymm3 # sched: [1:1.00] |