diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/recip-fastmath.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/recip-fastmath.ll | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/llvm/test/CodeGen/X86/recip-fastmath.ll b/llvm/test/CodeGen/X86/recip-fastmath.ll index 00092e2a5c0..4ed832756cc 100644 --- a/llvm/test/CodeGen/X86/recip-fastmath.ll +++ b/llvm/test/CodeGen/X86/recip-fastmath.ll @@ -51,9 +51,9 @@ define float @f32_no_estimate(float %x) #0 { ; ; HASWELL-LABEL: f32_no_estimate: ; HASWELL: # %bb.0: -; HASWELL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:0.50] +; HASWELL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [5:0.50] ; HASWELL-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [13:1.00] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_no_estimate: ; HASWELL-NO-FMA: # %bb.0: @@ -63,9 +63,9 @@ define float @f32_no_estimate(float %x) #0 { ; ; KNL-LABEL: f32_no_estimate: ; KNL: # %bb.0: -; KNL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:0.50] +; KNL-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [5:0.50] ; KNL-NEXT: vdivss %xmm0, %xmm1, %xmm0 # sched: [13:1.00] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: f32_no_estimate: ; SKX: # %bb.0: @@ -128,9 +128,9 @@ define float @f32_one_step(float %x) #1 { ; HASWELL-LABEL: f32_one_step: ; 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: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 # sched: [10:0.50] ; HASWELL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_one_step: ; HASWELL-NO-FMA: # %bb.0: @@ -145,9 +145,9 @@ define float @f32_one_step(float %x) #1 { ; KNL-LABEL: f32_one_step: ; 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: vfnmadd213ss {{.*}}(%rip), %xmm1, %xmm0 # sched: [10:0.50] ; KNL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: f32_one_step: ; SKX: # %bb.0: @@ -233,13 +233,13 @@ define float @f32_two_step(float %x) #2 { ; HASWELL-LABEL: f32_two_step: ; 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: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [5:0.50] ; HASWELL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] ; HASWELL-NEXT: vfnmadd213ss %xmm2, %xmm0, %xmm3 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm3 # sched: [5:0.50] ; HASWELL-NEXT: vfnmadd213ss %xmm2, %xmm3, %xmm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ss %xmm3, %xmm3, %xmm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: f32_two_step: ; HASWELL-NO-FMA: # %bb.0: @@ -258,13 +258,13 @@ define float @f32_two_step(float %x) #2 { ; KNL-LABEL: f32_two_step: ; 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: vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero sched: [5:0.50] ; KNL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] ; KNL-NEXT: vfnmadd213ss %xmm2, %xmm0, %xmm3 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ss %xmm1, %xmm1, %xmm3 # sched: [5:0.50] ; KNL-NEXT: vfnmadd213ss %xmm2, %xmm3, %xmm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ss %xmm3, %xmm3, %xmm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: f32_two_step: ; SKX: # %bb.0: @@ -314,9 +314,9 @@ define <4 x float> @v4f32_no_estimate(<4 x float> %x) #0 { ; ; HASWELL-LABEL: v4f32_no_estimate: ; HASWELL: # %bb.0: -; HASWELL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [1:0.50] +; HASWELL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [6:0.50] ; HASWELL-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [13:1.00] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_no_estimate: ; HASWELL-NO-FMA: # %bb.0: @@ -326,9 +326,9 @@ define <4 x float> @v4f32_no_estimate(<4 x float> %x) #0 { ; ; KNL-LABEL: v4f32_no_estimate: ; KNL: # %bb.0: -; KNL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [1:0.50] +; KNL-NEXT: vbroadcastss {{.*#+}} xmm1 = [1,1,1,1] sched: [6:0.50] ; KNL-NEXT: vdivps %xmm0, %xmm1, %xmm0 # sched: [13:1.00] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v4f32_no_estimate: ; SKX: # %bb.0: @@ -391,10 +391,10 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; HASWELL-LABEL: v4f32_one_step: ; 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: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [6:0.50] ; HASWELL-NEXT: vfnmadd213ps %xmm2, %xmm1, %xmm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_one_step: ; HASWELL-NO-FMA: # %bb.0: @@ -409,10 +409,10 @@ define <4 x float> @v4f32_one_step(<4 x float> %x) #1 { ; KNL-LABEL: v4f32_one_step: ; 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: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [6:0.50] ; KNL-NEXT: vfnmadd213ps %xmm2, %xmm1, %xmm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v4f32_one_step: ; SKX: # %bb.0: @@ -498,13 +498,13 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; HASWELL-LABEL: v4f32_two_step: ; 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: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [6:0.50] ; HASWELL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] ; HASWELL-NEXT: vfnmadd213ps %xmm2, %xmm0, %xmm3 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm3 # sched: [5:0.50] ; HASWELL-NEXT: vfnmadd213ps %xmm2, %xmm3, %xmm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %xmm3, %xmm3, %xmm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v4f32_two_step: ; HASWELL-NO-FMA: # %bb.0: @@ -523,13 +523,13 @@ define <4 x float> @v4f32_two_step(<4 x float> %x) #2 { ; KNL-LABEL: v4f32_two_step: ; 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: vbroadcastss {{.*#+}} xmm2 = [1,1,1,1] sched: [6:0.50] ; KNL-NEXT: vmovaps %xmm1, %xmm3 # sched: [1:1.00] ; KNL-NEXT: vfnmadd213ps %xmm2, %xmm0, %xmm3 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %xmm1, %xmm1, %xmm3 # sched: [5:0.50] ; KNL-NEXT: vfnmadd213ps %xmm2, %xmm3, %xmm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %xmm3, %xmm3, %xmm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v4f32_two_step: ; SKX: # %bb.0: @@ -582,9 +582,9 @@ define <8 x float> @v8f32_no_estimate(<8 x float> %x) #0 { ; ; HASWELL-LABEL: v8f32_no_estimate: ; HASWELL: # %bb.0: -; HASWELL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [1:0.50] +; HASWELL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; HASWELL-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [21:2.00] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_no_estimate: ; HASWELL-NO-FMA: # %bb.0: @@ -594,9 +594,9 @@ define <8 x float> @v8f32_no_estimate(<8 x float> %x) #0 { ; ; KNL-LABEL: v8f32_no_estimate: ; KNL: # %bb.0: -; KNL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [1:0.50] +; KNL-NEXT: vbroadcastss {{.*#+}} ymm1 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; KNL-NEXT: vdivps %ymm0, %ymm1, %ymm0 # sched: [21:2.00] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v8f32_no_estimate: ; SKX: # %bb.0: @@ -666,10 +666,10 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; HASWELL-LABEL: v8f32_one_step: ; 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: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; HASWELL-NEXT: vfnmadd213ps %ymm2, %ymm1, %ymm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_one_step: ; HASWELL-NO-FMA: # %bb.0: @@ -684,10 +684,10 @@ define <8 x float> @v8f32_one_step(<8 x float> %x) #1 { ; KNL-LABEL: v8f32_one_step: ; 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: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; KNL-NEXT: vfnmadd213ps %ymm2, %ymm1, %ymm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v8f32_one_step: ; SKX: # %bb.0: @@ -786,13 +786,13 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; HASWELL-LABEL: v8f32_two_step: ; 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: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; HASWELL-NEXT: vmovaps %ymm1, %ymm3 # sched: [1:1.00] ; HASWELL-NEXT: vfnmadd213ps %ymm2, %ymm0, %ymm3 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm3 # sched: [5:0.50] ; HASWELL-NEXT: vfnmadd213ps %ymm2, %ymm3, %ymm0 # sched: [5:0.50] ; HASWELL-NEXT: vfmadd132ps %ymm3, %ymm3, %ymm0 # sched: [5:0.50] -; HASWELL-NEXT: retq # sched: [2:1.00] +; HASWELL-NEXT: retq # sched: [7:1.00] ; ; HASWELL-NO-FMA-LABEL: v8f32_two_step: ; HASWELL-NO-FMA: # %bb.0: @@ -811,13 +811,13 @@ define <8 x float> @v8f32_two_step(<8 x float> %x) #2 { ; KNL-LABEL: v8f32_two_step: ; 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: vbroadcastss {{.*#+}} ymm2 = [1,1,1,1,1,1,1,1] sched: [7:0.50] ; KNL-NEXT: vmovaps %ymm1, %ymm3 # sched: [1:1.00] ; KNL-NEXT: vfnmadd213ps %ymm2, %ymm0, %ymm3 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %ymm1, %ymm1, %ymm3 # sched: [5:0.50] ; KNL-NEXT: vfnmadd213ps %ymm2, %ymm3, %ymm0 # sched: [5:0.50] ; KNL-NEXT: vfmadd132ps %ymm3, %ymm3, %ymm0 # sched: [5:0.50] -; KNL-NEXT: retq # sched: [2:1.00] +; KNL-NEXT: retq # sched: [7:1.00] ; ; SKX-LABEL: v8f32_two_step: ; SKX: # %bb.0: |