diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-11 15:54:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-11 15:54:17 +0000 |
commit | d3fe75e2bf9644fec41ac1185e07229f8715700f (patch) | |
tree | 3a9cc2ca24704df99fb0eb35c4f56e30c20a7831 /test/CodeGen/ARM/fp_convert.ll | |
parent | a1244304925a5ae80e671af3a3a2ad4679071bfa (diff) | |
download | llvm-d3fe75e2bf9644fec41ac1185e07229f8715700f.tar.gz llvm-d3fe75e2bf9644fec41ac1185e07229f8715700f.tar.bz2 llvm-d3fe75e2bf9644fec41ac1185e07229f8715700f.tar.xz |
now that these are in file-check format, we can merge them together
into one bigger test (which runs faster)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78672 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/fp_convert.ll')
-rw-r--r-- | test/CodeGen/ARM/fp_convert.ll | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/fp_convert.ll b/test/CodeGen/ARM/fp_convert.ll new file mode 100644 index 0000000000..fa9e97ea03 --- /dev/null +++ b/test/CodeGen/ARM/fp_convert.ll @@ -0,0 +1,49 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 | FileCheck %s -check-prefix=VFP2 +; RUN: llvm-as < %s | llc -march=arm -mattr=+neon,+neonfp | FileCheck %s -check-prefix=NEON +; RUN: llvm-as < %s | llc -march=arm -mattr=+neon,-neonfp | FileCheck %s -check-prefix=VFP2 +; RUN: llvm-as < %s | llc -march=arm -mcpu=cortex-a8 | FileCheck %s -check-prefix=NEON +; RUN: llvm-as < %s | llc -march=arm -mcpu=cortex-a9 | FileCheck %s -check-prefix=VFP2 + +define i32 @test1(float %a, float %b) { +; VFP2: test1: +; VFP2: ftosizs s0, s0 +; NEON: test1: +; NEON: vcvt.s32.f32 d0, d0 +entry: + %0 = fadd float %a, %b + %1 = fptosi float %0 to i32 + ret i32 %1 +} + +define i32 @test2(float %a, float %b) { +; VFP2: test2: +; VFP2: ftouizs s0, s0 +; NEON: test2: +; NEON: vcvt.u32.f32 d0, d0 +entry: + %0 = fadd float %a, %b + %1 = fptoui float %0 to i32 + ret i32 %1 +} + +define float @test3(i32 %a, i32 %b) { +; VFP2: test3: +; VFP2: fuitos s0, s0 +; NEON: test3: +; NEON: vcvt.f32.u32 d0, d0 +entry: + %0 = add i32 %a, %b + %1 = uitofp i32 %0 to float + ret float %1 +} + +define float @test4(i32 %a, i32 %b) { +; VFP2: test4: +; VFP2: fsitos s0, s0 +; NEON: test4: +; NEON: vcvt.f32.s32 d0, d0 +entry: + %0 = add i32 %a, %b + %1 = sitofp i32 %0 to float + ret float %1 +} |