代码之家  ›  专栏  ›  技术社区  ›  HaggarTheHorrible

手臂皮层-A8:如何同时利用霓虹灯和vfpv3

  •  8
  • HaggarTheHorrible  · 技术社区  · 15 年前

    我在使用Cortex-A8处理器,我不知道如何使用 -mfpu 旗帜。

    在皮层-A8上 vfpv3型 霓虹灯 联合处理器。以前我不知道如何使用霓虹灯,所以我只使用

    gcc -marm -mfloat-abi=softfp -mfpu=vfpv3

    现在我已经了解了SIMD处理器是如何运行的,并且我已经使用NEON内部函数编写了某些代码。要使用neon协处理器,现在我的-mfpu标志必须更改为 -mfpu=neon ,所以我的编译器命令行如下所示

    gcc -marm -mfloat-abi=softfp -mfpu=neon

    现在,这是否意味着我 vfpv3 不再使用了吗?我有很多不使用霓虹灯的代码,是不是这些部分没有使用 vfpv3型 .

    如果霓虹灯和vfpv3仍然使用,那么我没有问题,但是如果只使用其中一个,我如何才能利用两者呢?

    1 回复  |  直到 13 年前
        1
  •  10
  •   Igor Skochinsky    15 年前

    NEON也意味着有传统的VFP支持。VFP可用于“正常”(非矢量)浮点计算。此外,NEON不支持双精度FP,因此只能使用VFP指令。
    您可以做的是将-S添加到gcc的命令行并检查程序集。以V开头的指令(例如vld1.32、vmla.f32)是NEON指令,以F开头的指令(fldd、fmacd)是VFP。(尽管ARM文档现在更喜欢使用V前缀,即使是VFP指令,GCC也不会这样做。)

    推荐文章