ARM: Implement the clz instruction.
This commit is contained in:
@@ -174,6 +174,16 @@ let {{
|
||||
decoder_output += RevOpConstructor.subst(rbitIop)
|
||||
exec_output += PredOpExecute.subst(rbitIop)
|
||||
|
||||
clzCode = '''
|
||||
Dest = (Op1 == 0) ? 32 : (31 - findMsbSet(Op1));
|
||||
'''
|
||||
clzIop = InstObjParams("clz", "ClzInst", "RevOp",
|
||||
{ "code": clzCode,
|
||||
"predicate_test": predicateTest }, [])
|
||||
header_output += RevOpDeclare.subst(clzIop)
|
||||
decoder_output += RevOpConstructor.subst(clzIop)
|
||||
exec_output += PredOpExecute.subst(clzIop)
|
||||
|
||||
ssatCode = '''
|
||||
int32_t operand = shift_rm_imm(Op1, shiftAmt, shiftType, 0);
|
||||
int32_t res;
|
||||
|
||||
Reference in New Issue
Block a user