[Libre-soc-bugs] [Bug 898] binutils svp64 objdump support
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Aug 30 20:11:06 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=898
--- Comment #34 from Dmitry Selyutin <ghostmansd at gmail.com> ---
OK, I have a real breakthrough. It seems we can now construct fields better,
relying on the parsed operands. More details:
https://git.libre-soc.org/?p=openpower-isa.git;a=commit;h=adefa3af2343f5bce4bd8048db4a54f4a2bf355c.
Below are static operands and opcodes for all instructions which start with
"add". I think, with this code, the only thing left for vanilla PPC assembler
is to decode the dynamic operands.
addmeo.
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c0005d5, mask=0xfc0007ff)
add.
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000215, mask=0xfc0007ff)
addi
FieldsOpcode(value=0x38000000, mask=0xfc000000)
addis
FieldsOpcode(value=0x3c000000, mask=0xfc000000)
addc.
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000015, mask=0xfc0007ff)
addme.
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c0001d5, mask=0xfc0007ff)
addeo
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000514, mask=0xfc0007ff)
addco
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000414, mask=0xfc0007ff)
addzeo
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000594, mask=0xfc0007ff)
add
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000214, mask=0xfc0007ff)
addeo.
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000515, mask=0xfc0007ff)
addme
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c0001d4, mask=0xfc0007ff)
addo
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000614, mask=0xfc0007ff)
addco.
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000415, mask=0xfc0007ff)
addmeo
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c0005d4, mask=0xfc0007ff)
adde
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000114, mask=0xfc0007ff)
addo.
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000615, mask=0xfc0007ff)
addzeo.
StaticOperand(name='OE', value=1)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000595, mask=0xfc0007ff)
addic
FieldsOpcode(value=0x30000000, mask=0xfc000000)
adde.
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000115, mask=0xfc0007ff)
addic.
FieldsOpcode(value=0x34000000, mask=0xfc000000)
addze
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000194, mask=0xfc0007ff)
addze.
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=1)
FieldsOpcode(value=0x7c000195, mask=0xfc0007ff)
addc
StaticOperand(name='OE', value=0)
StaticOperand(name='Rc', value=0)
FieldsOpcode(value=0x7c000014, mask=0xfc0007ff)
addg6s
FieldsOpcode(value=0x7c000094, mask=0xfc0007fe)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list