gcc - 如何从 gcc(或其他地方)获取合法 ARM 操作码列表?

标签 gcc arm llvm

我想生成伪随机 ARM 指令。通过汇编指令,我可以告诉 gcc 我处于什么模式,如果我尝试一组在该模式下不合法的操作码和操作数,它会提示,所以它必须有一些内部列表,说明可以在哪种模式下完成的操作.那住哪儿?从 LLVM 中提取该信息会更容易吗?

这个问题“甚至没有错”吗?我应该完全尝试不同的方法吗?

最佳答案

为了回答我自己的问题,这实际上很容易从 gcc/config/arm/中的 arm.md 和约束.md 完成。我可能花了更多的时间来回答这个问题并回答它的评论,而不是我弄清楚这一点。结果我只需要寻找'TARGET_THUMB1',直到我开始实现thumb2。

关于gcc - 如何从 gcc(或其他地方)获取合法 ARM 操作码列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332858/

相关文章:

c++ - 使用 clang++ 3.1 构建 Boost 1.50.0

c - 是否有 GNU ARM NEON 内在函数的 C 实现?

assembly - ARM/AArch64 上的 DIVQ 对应项(使用双宽度除数缩小除法)?

python - 从 LLVM JIT 调用 Python 代码

c - 利用 LLVM 的半路交叉编译 - 在 Raspberry Pi 上编译更快

ios - ios/arm 平台上哪些整数运算是原子的?

c - 开关盒 assembly 级代码

c - gcc 未使用/读取 LIBRARY_PATH 环境变量

c - 如何在编译时禁止使用全局变量

c - 从 RAM ARM Cortex M4 执行