X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FHexagon%2Ffloatconvert-ieee-rnd-near.ll;h=03d1fbf44cb679fea613d8818c54431f8c377260;hb=97515eb97bc5a3b075fc4d452c330ac7405cf815;hp=da56280fe0936d10db1e53160cf3c501318aa3ef;hpb=15e56ad8855ff2d135a79efa71b540852acf3b97;p=oota-llvm.git diff --git a/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll b/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll index da56280fe09..03d1fbf44cb 100644 --- a/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll +++ b/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll @@ -1,26 +1,22 @@ -; RUN: llc -march=hexagon -mcpu=hexagonv5 < %s | FileCheck %s -; Check that we generate conversion from double precision floating point -; to 32-bit int value in IEEE rounding to the nearest mode in V5. +; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s +; CHECK: __hexagon_addsf3 +; CHECK: __hexagon_subsf3 -; CHECK: r{{[0-9]+}} = convert_sf2w(r{{[0-9]+}}) - -define i32 @main() nounwind { +define void @foo(float* %acc, float %num, float %num2) nounwind { entry: - %retval = alloca i32, align 4 - %i = alloca i32, align 4 - %a = alloca float, align 4 - %b = alloca float, align 4 - %c = alloca float, align 4 - store i32 0, i32* %retval - store float 0x402ECCCCC0000000, float* %a, align 4 - store float 0x4022333340000000, float* %b, align 4 - %0 = load float* %a, align 4 - %1 = load float* %b, align 4 - %add = fadd float %0, %1 - store float %add, float* %c, align 4 - %2 = load float* %c, align 4 - %conv = fptosi float %2 to i32 - store i32 %conv, i32* %i, align 4 - %3 = load i32* %i, align 4 - ret i32 %3 + %acc.addr = alloca float*, align 4 + %num.addr = alloca float, align 4 + %num2.addr = alloca float, align 4 + store float* %acc, float** %acc.addr, align 4 + store float %num, float* %num.addr, align 4 + store float %num2, float* %num2.addr, align 4 + %0 = load float*, float** %acc.addr, align 4 + %1 = load float, float* %0 + %2 = load float, float* %num.addr, align 4 + %add = fadd float %1, %2 + %3 = load float, float* %num2.addr, align 4 + %sub = fsub float %add, %3 + %4 = load float*, float** %acc.addr, align 4 + store float %sub, float* %4 + ret void }