Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
给定一个数字 x,我们如何判断它可以表示为 32 位立即数。是否存在任何类型的公式?如果是,该公式是否详尽无遗,即涵盖了所有可能的情况?ARM 将指令集中最右边的 12 位分解为 4 位循环位和 8 位值位。
我会研究开源编译器以及它们是如何做到的......
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) { ...