X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FARM%2Ffpmem.ll;h=23fbea911e5e158cc79c361d4215d6c5413e2118;hb=e970b795a27d16c720bf4e3ff030eea241784eb4;hp=936d6fd87cd56bca91146e1b4041b8e81068982b;hpb=28beeeac4db2d582d4947db96d62e423e4b68d88;p=oota-llvm.git diff --git a/test/CodeGen/ARM/fpmem.ll b/test/CodeGen/ARM/fpmem.ll index 936d6fd87cd..23fbea911e5 100644 --- a/test/CodeGen/ARM/fpmem.ll +++ b/test/CodeGen/ARM/fpmem.ll @@ -1,22 +1,41 @@ -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | \ -; RUN: grep {mov r0, #0} | count 1 -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \ -; RUN: grep {flds.*\\\[} | count 1 -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+vfp2 | \ -; RUN: grep {fsts.*\\\[} | count 1 +; RUN: llc -mtriple=arm -float-abi=soft -mattr=+vfp2 %s -o - | FileCheck %s -float %f1(float %a) { - ret float 0.000000e+00 +define float @f1(float %a) { +; CHECK-LABEL: f1: +; CHECK: mov r0, #0 + ret float 0.000000e+00 } -float %f2(float* %v, float %u) { - %tmp = load float* %v - %tmp1 = add float %tmp, %u - ret float %tmp1 +define float @f2(float* %v, float %u) { +; CHECK-LABEL: f2: +; CHECK: vldr{{.*}}[ + %tmp = load float, float* %v ; [#uses=1] + %tmp1 = fadd float %tmp, %u ; [#uses=1] + ret float %tmp1 } -void %f3(float %a, float %b, float* %v) { - %tmp = add float %a, %b - store float %tmp, float* %v - ret void +define float @f2offset(float* %v, float %u) { +; CHECK-LABEL: f2offset: +; CHECK: vldr{{.*}}, #4] + %addr = getelementptr float, float* %v, i32 1 + %tmp = load float, float* %addr + %tmp1 = fadd float %tmp, %u + ret float %tmp1 +} + +define float @f2noffset(float* %v, float %u) { +; CHECK-LABEL: f2noffset: +; CHECK: vldr{{.*}}, #-4] + %addr = getelementptr float, float* %v, i32 -1 + %tmp = load float, float* %addr + %tmp1 = fadd float %tmp, %u + ret float %tmp1 +} + +define void @f3(float %a, float %b, float* %v) { +; CHECK-LABEL: f3: +; CHECK: vstr{{.*}}[ + %tmp = fadd float %a, %b ; [#uses=1] + store float %tmp, float* %v + ret void }