ARM: Move the FP decode blocks into functions.
This commit is contained in:
parent
e21f93702a
commit
81b7c3d264
1 changed files with 27 additions and 3 deletions
|
@ -148,8 +148,14 @@ def format FloatCmp(fReg1, fReg2, *flags) {{
|
||||||
exec_output = FPAExecute.subst(iop)
|
exec_output = FPAExecute.subst(iop)
|
||||||
}};
|
}};
|
||||||
|
|
||||||
def format ExtensionRegLoadStore() {{
|
let {{
|
||||||
decode_block = '''
|
header_output = '''
|
||||||
|
StaticInstPtr
|
||||||
|
decodeExtensionRegLoadStore(ExtMachInst machInst);
|
||||||
|
'''
|
||||||
|
decoder_output = '''
|
||||||
|
StaticInstPtr
|
||||||
|
decodeExtensionRegLoadStore(ExtMachInst machInst)
|
||||||
{
|
{
|
||||||
const uint32_t opcode = bits(machInst, 24, 20);
|
const uint32_t opcode = bits(machInst, 24, 20);
|
||||||
const uint32_t offset = bits(machInst, 7, 0);
|
const uint32_t offset = bits(machInst, 7, 0);
|
||||||
|
@ -277,8 +283,20 @@ def format ExtensionRegLoadStore() {{
|
||||||
}
|
}
|
||||||
}};
|
}};
|
||||||
|
|
||||||
def format ShortFpTransfer() {{
|
def format ExtensionRegLoadStore() {{
|
||||||
decode_block = '''
|
decode_block = '''
|
||||||
|
return decodeExtensionRegLoadStore(machInst);
|
||||||
|
'''
|
||||||
|
}};
|
||||||
|
|
||||||
|
let {{
|
||||||
|
header_output = '''
|
||||||
|
StaticInstPtr
|
||||||
|
decodeShortFpTransfer(ExtMachInst machInst);
|
||||||
|
'''
|
||||||
|
decoder_output = '''
|
||||||
|
StaticInstPtr
|
||||||
|
decodeShortFpTransfer(ExtMachInst machInst)
|
||||||
{
|
{
|
||||||
const uint32_t l = bits(machInst, 20);
|
const uint32_t l = bits(machInst, 20);
|
||||||
const uint32_t c = bits(machInst, 8);
|
const uint32_t c = bits(machInst, 8);
|
||||||
|
@ -443,3 +461,9 @@ def format ShortFpTransfer() {{
|
||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
def format ShortFpTransfer() {{
|
||||||
|
decode_block = '''
|
||||||
|
return decodeShortFpTransfer(machInst);
|
||||||
|
'''
|
||||||
|
}};
|
||||||
|
|
Loading…
Reference in a new issue