ARMv6 SIMD 命令のコンパイラ組み込み関数と APSR の GE フラグ

Table 36. ARMv6 SIMD 命令のコンパイラ組み込み関数と APSR の GE フラグ

組み込み関数APSR.GE フラグのアクションAPSR.GE 演算
__selGE フラグの読み出し

if APSR.GE[0] == 1 then res[7:0] = val1[7:0] else val2[7:0]

if APSR.GE[1] == 1 then res[15:8] = val1[15:8] else val2[15:8]

if APSR.GE[2] == 1 then res[23:16] = val1[23:16] else val2[23:16]

if APSR.GE[3] == 1 then res[31:24] = val1[31:24] else val2[31:24]

__sadd16GE フラグのセットまたはクリア

if sum1 ≥ 0 then APSR.GE[1:0] = 11 else 00

if sum2 ≥ 0 then APSR.GE[3:2] = 11 else 00

__sadd8GE フラグのセットまたはクリア

if sum1 ≥ 0 then APSR.GE[0] = 1 else 0

if sum2 ≥ 0 then APSR.GE[1] = 1 else 0

if sum3 ≥ 0 then APSR.GE[2] = 1 else 0

if sum4 ≥ 0 then APSR.GE[3] = 1 else 0

__sasxGE フラグのセットまたはクリア

if diff ≥ 0 then APSR.GE[1:0] = 11 else 00

if sum ≥ 0 then APSR.GE[3:2] = 11 else 00

__ssaxGE フラグのセットまたはクリア

if sum ≥ 0 then APSR.GE[1:0] = 11 else 00

if diff ≥ 0 then APSR.GE[3:2] = 11 else 00

__ssub16GE フラグのセットまたはクリア

if diff1 ≥ 0 then APSR.GE[1:0] = 11 else 00

if diff2 ≥ 0 then APSR.GE[3:2] = 11 else 00

__ssub8GE フラグのセットまたはクリア

if diff1 ≥ 0 then APSR.GE[0] = 1 else 0

if diff2 ≥ 0 then APSR.GE[1] = 1 else 0

if diff3 ≥ 0 then APSR.GE[2] = 1 else 0

if diff4 ≥ 0 then APSR.GE[3] = 1 else 0

__uadd16GE フラグのセットまたはクリア

if sum1 ≥ 0x10000 then APSR.GE[1:0] = 11 else 00

if sum2 ≥ 0x10000 then APSR.GE[3:2] = 11 else 00

__uadd8GE フラグのセットまたはクリア

if sum1 ≥ 0x100 then APSR.GE[0] = 1 else 0

if sum2 ≥ 0x100 then APSR.GE[1] = 1 else 0

if sum3 ≥ 0x100 then APSR.GE[2] = 1 else 0

if sum4 ≥ 0x100 then APSR.GE[3] = 1 else 0

__uasxGE フラグのセットまたはクリア

if diff ≥ 0 then APSR.GE[1:0] = 11 else 00

if sum ≥ 0x10000 then APSR.GE[3:2] = 11 else 00

__usaxGE フラグのセットまたはクリア

if sum ≥ 0x10000 then APSR.GE[1:0] = 11 else 00

if diff ≥ 0 then APSR.GE[3:2] = 11 else 00

__usub16GE フラグのセットまたはクリア

if diff1 ≥ 0 then APSR.GE[1:0] = 11 else 00

if diff2 ≥ 0 then APSR.GE[3:2] = 11 else 00

__usub8GE フラグのセットまたはクリア

if diff1 ≥ 0 then APSR.GE[0] = 1 else 0

if diff2 ≥ 0 then APSR.GE[1] = 1 else 0

if diff3 ≥ 0 then APSR.GE[2] = 1 else 0

if diff4 ≥ 0 then APSR.GE[3] = 1 else 0


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