diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-01-30 16:57:41 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-01-30 16:57:41 +0000 |
commit | 430953ebc84f2f33922e397ec137f6bc82dae7be (patch) | |
tree | 0936df94deefbcab9cc3ba42cdf9a4121b6a455c /test/CodeGen/ARM/fp16-promote.ll | |
parent | f406e8165b2783e4f4bc6f14661b4e138197368d (diff) |
DAG: Constant fold fp16_to_fp/fp16_to_fp
This fixes emitting conversions of constants on targets
without legal f16 that need to use these for legalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293499 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/fp16-promote.ll')
-rw-r--r-- | test/CodeGen/ARM/fp16-promote.ll | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/test/CodeGen/ARM/fp16-promote.ll b/test/CodeGen/ARM/fp16-promote.ll index 82412368728..c9dafa8dfff 100644 --- a/test/CodeGen/ARM/fp16-promote.ll +++ b/test/CodeGen/ARM/fp16-promote.ll @@ -643,10 +643,11 @@ define void @test_maxnum(half* %p, half* %q) #0 { } ; CHECK-ALL-LABEL: test_minnan: +; CHECK-FP16: vmov.f32 s0, #1.000000e+00 ; CHECK-FP16: vcvtb.f32.f16 -; CHECK-FP16: vcvtb.f32.f16 -; CHECK-LIBCALL: bl __aeabi_h2f ; CHECK-LIBCALL: bl __aeabi_h2f +; CHECK-LIBCALL-VFP: vmov.f32 s{{[0-9]+}}, #1.000000e+00 +; CHECK-NOVFP: mov r{{[0-9]+}}, #1065353216 ; CHECK-VFP: vmin.f32 ; CHECK-NOVFP: bl __aeabi_fcmpge ; CHECK-FP16: vcvtb.f16.f32 @@ -660,10 +661,11 @@ define void @test_minnan(half* %p) #0 { } ; CHECK-ALL-LABEL: test_maxnan: +; CHECK-FP16: vmov.f32 s0, #1.000000e+00 ; CHECK-FP16: vcvtb.f32.f16 -; CHECK-FP16: vcvtb.f32.f16 -; CHECK-LIBCALL: bl __aeabi_h2f ; CHECK-LIBCALL: bl __aeabi_h2f +; CHECK-LIBCALL-VFP: vmov.f32 s0, #1.000000e+00 +; CHECK-NOVFP: mov r{{[0-9]+}}, #1065353216 ; CHECK-VFP: vmax.f32 ; CHECK-NOVFP: bl __aeabi_fcmple ; CHECK-FP16: vcvtb.f16.f32 |