if (is64) {
assign(dst, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(srcZ), mkU64(0)),
mkU64(isCLS ? 63 : 64),
- unop(Iop_Clz64, mkexpr(srcZ))));
+ unop(Iop_ClzNat64, mkexpr(srcZ))));
putIReg64orZR(dd, mkexpr(dst));
} else {
assign(dst, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(srcZ), mkU64(0)),
mkU64(isCLS ? 31 : 32),
- unop(Iop_Clz64, mkexpr(srcZ))));
+ unop(Iop_ClzNat64, mkexpr(srcZ))));
putIReg32orZR(dd, unop(Iop_64to32, mkexpr(dst)));
}
DIP("cl%c %s, %s\n", isCLS ? 's' : 'z',
addInstr(env, ARM64Instr_Unary(dst, src, ARM64un_NOT));
return dst;
}
- case Iop_Clz64: {
+ case Iop_ClzNat64: {
HReg dst = newVRegI(env);
HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
addInstr(env, ARM64Instr_Unary(dst, src, ARM64un_CLZ));