在我的C程序中,我希望处理器使用FMADD指令而不是MUL和ADD来计算* b + c。如何指定编译器执行此操作。另外我想在编译后在汇编代码中看到FMADD指令。
gcc版本4.9.2 ARM v7处理器
答案 0 :(得分:0)
您需要拥有以下FPU之一
您必须使用 hard-float ABI选项。
An example with integers。
An example with floats
您不需要指定任何特殊功能调用;如果发现它们是有益的,编译器将使用该指令。
负责生成的 arm.c 中的代码是,
case FMA:
if (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_FMA)
TARGET_FMA是版本' 4'或更好的FPU。