operands.isa revision 2023
14997Sgblack@eecs.umich.edudef operand_types {{
25417Sgblack@eecs.umich.edu    'sb' : ('signed int', 8),
34997Sgblack@eecs.umich.edu    'ub' : ('unsigned int', 8),
44997Sgblack@eecs.umich.edu    'shw' : ('signed int', 16),
57087Snate@binkert.org    'uhw' : ('unsigned int', 16),
67087Snate@binkert.org    'sw' : ('signed int', 32),
77087Snate@binkert.org    'uw' : ('unsigned int', 32),
87087Snate@binkert.org    'sdw' : ('signed int', 64),
97087Snate@binkert.org    'udw' : ('unsigned int', 64),
107087Snate@binkert.org    'sf' : ('float', 32),
117087Snate@binkert.org    'df' : ('float', 64),
127087Snate@binkert.org    'qf' : ('float', 128)
134997Sgblack@eecs.umich.edu}};
147087Snate@binkert.org
157087Snate@binkert.orgdef operands {{
167087Snate@binkert.org    # Int regs default to unsigned, but code should not count on this.
177087Snate@binkert.org    # For clarity, descriptions that depend on unsigned behavior should
187087Snate@binkert.org    # explicitly specify '.uq'.
197087Snate@binkert.org    'Rd': IntRegOperandTraits('udw', 'RD', 'IsInteger', 1),
207087Snate@binkert.org    'Rs1': IntRegOperandTraits('udw', 'RS1', 'IsInteger', 2),
217087Snate@binkert.org    'Rs2': IntRegOperandTraits('udw', 'RS2', 'IsInteger', 3),
224997Sgblack@eecs.umich.edu    #'Fa': FloatRegOperandTraits('df', 'FA', 'IsFloating', 1),
237087Snate@binkert.org    #'Fb': FloatRegOperandTraits('df', 'FB', 'IsFloating', 2),
244997Sgblack@eecs.umich.edu    #'Fc': FloatRegOperandTraits('df', 'FC', 'IsFloating', 3),
254997Sgblack@eecs.umich.edu    'Mem': MemOperandTraits('udw', None,
264997Sgblack@eecs.umich.edu                            ('IsMemRef', 'IsLoad', 'IsStore'), 4)
274997Sgblack@eecs.umich.edu    #'NPC': NPCOperandTraits('uq', None, ( None, None, 'IsControl' ), 4),
284997Sgblack@eecs.umich.edu    #'Runiq': ControlRegOperandTraits('uq', 'Uniq', None, 1),
294997Sgblack@eecs.umich.edu    #'FPCR':  ControlRegOperandTraits('uq', 'Fpcr', None, 1),
304997Sgblack@eecs.umich.edu    # The next two are hacks for non-full-system call-pal emulation
314997Sgblack@eecs.umich.edu    #'R0':  IntRegOperandTraits('uq', '0', None, 1),
324997Sgblack@eecs.umich.edu    #'R16': IntRegOperandTraits('uq', '16', None, 1)
334997Sgblack@eecs.umich.edu}};
344997Sgblack@eecs.umich.edu