--reassociate_saturation--no_reassociate_saturation

これらのオプションは、サチュレート加算を使用したループで、サチュレート算術演算の再結合を許可または禁止することによって、より積極的な最適化を有効または無効にします。

Show/hide使用法

潜在的にコードのベクトル化に有用であっても、これらのオプションをベクトル化に限定する必要はありません。例えば、--reassociate_saturation は、自動ベクトル化が有効になっていなくても、-O3 -Otime を使用してコンパイルすると有効になります。

Show/hide制約条件

サチュレート加算は結合的ではありません。そのため、再結合を有効にすると、式を縮小した結果の精度に影響が生じる可能性があります。

Show/hideデフォルト

デフォルトは --no_reassociate_saturation です。

Show/hide

以下のコードでは、--reassociate_saturation を指定しない限り、ベクトル化は実行されません。

#include <dspfns.h>
int f(short *a, short *b)
{
    int i;
    int r = 0;
    for (i = 0; i < 100; i++)
         r=L_mac(r,a[i],b[i]);
    return r;
}

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0491BJ
Non-ConfidentialID011811