diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/f16c-schedule.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/f16c-schedule.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/f16c-schedule.ll b/llvm/test/CodeGen/X86/f16c-schedule.ll index f36937c3a45..1a17b8bdbca 100644 --- a/llvm/test/CodeGen/X86/f16c-schedule.ll +++ b/llvm/test/CodeGen/X86/f16c-schedule.ll @@ -1,4 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+f16c | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=IVY ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL @@ -6,6 +7,13 @@ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=ZNVER1 define <4 x float> @test_vcvtph2ps_128(<8 x i16> %a0, <8 x i16> *%a1) { +; GENERIC-LABEL: test_vcvtph2ps_128: +; GENERIC: # BB#0: +; GENERIC-NEXT: vcvtph2ps (%rdi), %xmm1 # sched: [7:1.00] +; GENERIC-NEXT: vcvtph2ps %xmm0, %xmm0 # sched: [3:1.00] +; GENERIC-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [3:1.00] +; GENERIC-NEXT: retq # sched: [1:1.00] +; ; IVY-LABEL: test_vcvtph2ps_128: ; IVY: # BB#0: ; IVY-NEXT: vcvtph2ps (%rdi), %xmm1 # sched: [7:1.00] @@ -42,6 +50,13 @@ define <4 x float> @test_vcvtph2ps_128(<8 x i16> %a0, <8 x i16> *%a1) { declare <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16>) define <8 x float> @test_vcvtph2ps_256(<8 x i16> %a0, <8 x i16> *%a1) { +; GENERIC-LABEL: test_vcvtph2ps_256: +; GENERIC: # BB#0: +; GENERIC-NEXT: vcvtph2ps (%rdi), %ymm1 # sched: [7:1.00] +; GENERIC-NEXT: vcvtph2ps %xmm0, %ymm0 # sched: [3:1.00] +; GENERIC-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00] +; GENERIC-NEXT: retq # sched: [1:1.00] +; ; IVY-LABEL: test_vcvtph2ps_256: ; IVY: # BB#0: ; IVY-NEXT: vcvtph2ps (%rdi), %ymm1 # sched: [7:1.00] @@ -78,6 +93,12 @@ define <8 x float> @test_vcvtph2ps_256(<8 x i16> %a0, <8 x i16> *%a1) { declare <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16>) define <8 x i16> @test_vcvtps2ph_128(<4 x float> %a0, <4 x float> %a1, <4 x i16> *%a2) { +; GENERIC-LABEL: test_vcvtps2ph_128: +; GENERIC: # BB#0: +; GENERIC-NEXT: vcvtps2ph $0, %xmm0, %xmm0 # sched: [3:1.00] +; GENERIC-NEXT: vcvtps2ph $0, %xmm1, (%rdi) # sched: [7:1.00] +; GENERIC-NEXT: retq # sched: [1:1.00] +; ; IVY-LABEL: test_vcvtps2ph_128: ; IVY: # BB#0: ; IVY-NEXT: vcvtps2ph $0, %xmm0, %xmm0 # sched: [3:1.00] @@ -110,6 +131,13 @@ define <8 x i16> @test_vcvtps2ph_128(<4 x float> %a0, <4 x float> %a1, <4 x i16> declare <8 x i16> @llvm.x86.vcvtps2ph.128(<4 x float>, i32) define <8 x i16> @test_vcvtps2ph_256(<8 x float> %a0, <8 x float> %a1, <8 x i16> *%a2) { +; GENERIC-LABEL: test_vcvtps2ph_256: +; GENERIC: # BB#0: +; GENERIC-NEXT: vcvtps2ph $0, %ymm0, %xmm0 # sched: [3:1.00] +; GENERIC-NEXT: vcvtps2ph $0, %ymm1, (%rdi) # sched: [7:1.00] +; GENERIC-NEXT: vzeroupper +; GENERIC-NEXT: retq # sched: [1:1.00] +; ; IVY-LABEL: test_vcvtps2ph_256: ; IVY: # BB#0: ; IVY-NEXT: vcvtps2ph $0, %ymm0, %xmm0 # sched: [3:1.00] |