使用 icmp->getOpcode() 函数时有些奇怪

something strange when using icmp->getOpcode() function

我尝试使用以下代码获取icmp指令的操作码,

int opCode = icmp -> getOpcode();

当我运行 icmp 指令的语句像这样时

%cmp = icmp eq i32 %0, 0

然而,我得到的操作码是'52',但实际上,对于操作'eq',操作码应该是'32',

ICMP_EQ    = 32,  ///< equal

为什么会出现这种奇怪的现象?以及如何解决?

我可能知道怎么解决这个问题了,getCode()会return一个错误码,所以我们可以用getPredicate()来代替它。