operands.isa (7173:a056f86a4be3) operands.isa (7184:c22d466f650a)
1// -*- mode:c++ -*-
2// Copyright (c) 2010 ARM Limited
3// All rights reserved
4//
5// The license below extends only to copyright in the software and shall
6// not be construed as granting a license to any other intellectual
7// property including but not limited to intellectual property relating
8// to a hardware implementation of the functionality of the software

--- 50 unchanged lines hidden (view full) ---

59 maybePCWrite = '''
60 ((%(reg_idx)s == PCReg) ? setNextPC(xc, %(final_val)s) :
61 xc->%(func)s(this, %(op_idx)s, %(final_val)s))
62 '''
63 maybeIWPCWrite = '''
64 ((%(reg_idx)s == PCReg) ? setIWNextPC(xc, %(final_val)s) :
65 xc->%(func)s(this, %(op_idx)s, %(final_val)s))
66 '''
1// -*- mode:c++ -*-
2// Copyright (c) 2010 ARM Limited
3// All rights reserved
4//
5// The license below extends only to copyright in the software and shall
6// not be construed as granting a license to any other intellectual
7// property including but not limited to intellectual property relating
8// to a hardware implementation of the functionality of the software

--- 50 unchanged lines hidden (view full) ---

59 maybePCWrite = '''
60 ((%(reg_idx)s == PCReg) ? setNextPC(xc, %(final_val)s) :
61 xc->%(func)s(this, %(op_idx)s, %(final_val)s))
62 '''
63 maybeIWPCWrite = '''
64 ((%(reg_idx)s == PCReg) ? setIWNextPC(xc, %(final_val)s) :
65 xc->%(func)s(this, %(op_idx)s, %(final_val)s))
66 '''
67 maybeAIWPCWrite = '''
68 if (%(reg_idx)s == PCReg) {
69 if (xc->readPC() & (ULL(1) << PcTBitShift)) {
70 setIWNextPC(xc, %(final_val)s);
71 } else {
72 setNextPC(xc, %(final_val)s);
73 }
74 } else {
75 xc->%(func)s(this, %(op_idx)s, %(final_val)s);
76 }
77 '''
67
68 readNPC = 'xc->readNextPC() & ~PcModeMask'
69 writeNPC = 'setNextPC(xc, %(final_val)s)'
70 writeIWNPC = 'setIWNextPC(xc, %(final_val)s)'
71 forceNPC = 'xc->setNextPC(%(final_val)s)'
72}};
73
74def operands {{
75 #Abstracted integer reg operands
76 'Dest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
77 maybePCRead, maybePCWrite),
78 'IWDest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
79 maybePCRead, maybeIWPCWrite),
80 'AIWDest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
78
79 readNPC = 'xc->readNextPC() & ~PcModeMask'
80 writeNPC = 'setNextPC(xc, %(final_val)s)'
81 writeIWNPC = 'setIWNextPC(xc, %(final_val)s)'
82 forceNPC = 'xc->setNextPC(%(final_val)s)'
83}};
84
85def operands {{
86 #Abstracted integer reg operands
87 'Dest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
88 maybePCRead, maybePCWrite),
89 'IWDest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
90 maybePCRead, maybeIWPCWrite),
91 'AIWDest': ('IntReg', 'uw', 'dest', 'IsInteger', 0,
81 maybePCRead, maybeIWPCWrite),
92 maybePCRead, maybeAIWPCWrite),
82 'Base': ('IntReg', 'uw', 'base', 'IsInteger', 1,
83 maybePCRead, maybePCWrite),
84 'Index': ('IntReg', 'uw', 'index', 'IsInteger', 2,
85 maybePCRead, maybePCWrite),
86 'Op1': ('IntReg', 'uw', 'op1', 'IsInteger', 3,
87 maybePCRead, maybePCWrite),
88 'Op2': ('IntReg', 'uw', 'op2', 'IsInteger', 4,
89 maybePCRead, maybePCWrite),

--- 51 unchanged lines hidden ---
93 'Base': ('IntReg', 'uw', 'base', 'IsInteger', 1,
94 maybePCRead, maybePCWrite),
95 'Index': ('IntReg', 'uw', 'index', 'IsInteger', 2,
96 maybePCRead, maybePCWrite),
97 'Op1': ('IntReg', 'uw', 'op1', 'IsInteger', 3,
98 maybePCRead, maybePCWrite),
99 'Op2': ('IntReg', 'uw', 'op2', 'IsInteger', 4,
100 maybePCRead, maybePCWrite),

--- 51 unchanged lines hidden ---