3

数値 x が与えられた場合、それが 32 ビットの即値として表現できることをどのように判断できますか。何らかの式は存在しますか?はいの場合、その式は網羅的ですか、つまり、考えられるすべてのケースをカバーしていますか? ARM は、命令セットの右端の 12 ビットを 4 ビットのローテート ビットと 8 ビットの値ビットに分解します。

4

1 に答える 1

2

私はオープンソースのコンパイラとその方法を調べます...

https://github.com/gcc-mirror/gcc/blob/cbca62831cb7c1c7c20d67fcf929f156b09923bf/gcc/config/arm/arm.c#L4387

/* Return TRUE if int I is a valid immediate ARM constant.  */
int
const_ok_for_arm (HOST_WIDE_INT i)
{
...
于 2016-01-30T22:07:01.963 に答える