__uxtab16 コンパイラ組み込み関数

このコンパイラ組み込み関数を使用して、コンパイラによって生成される命令ストリームに UXTAB16 命令を挿入します。一方のオペランドから 2 つの 8 ビット値を抽出して、それぞれ 16 ビットにゼロ拡張し、その結果を、もう一方のオペランド 2 つの 16 ビット値に加算することができます。

unsigned int __uxtab16(unsigned int val1, unsigned int val2)

val2[7:0] と val2[23:16] は、ゼロ拡張される 2 つの 8 ビット値を保持します。

__uxtab16 コンパイラ組み込み関数は、val2 から抽出された 8 ビット値を 16 ビット値にゼロ拡張した結果を val1 に加算して返します。

例:

unsigned int extend_add(unsigned int val1, unsigned int val2)
{
  unsigned int res;

    res = __uxtab16(val1,val2); /* val2[7:0] を 16 ビットにゼロ拡張した値と 
                                     val1[15:0] とを加算した結果を res[15:0] に代入
                                   val2[31:16] を 16 ビットにゼロ拡張した値と 
                                     val1[31:16] とを加算した結果を res[31:16] に代入
                                 */
    return res;
}

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711