basicmem.isa (4040:eb894f3fc168) basicmem.isa (4362:95e5f28ce484)
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

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

66 decode_block = ROrImmDecode.subst(iop)
67 exec_output = doDualSplitExecute(code, postacc_code, addrCalcReg,
68 addrCalcImm, execute, faultCode, name, name + "Imm",
69 Name, Name + "Imm", asi, opt_flags)
70 return (header_output, decoder_output, exec_output, decode_block)
71}};
72
73def format LoadAlt(code, asi, *opt_flags) {{
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

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

66 decode_block = ROrImmDecode.subst(iop)
67 exec_output = doDualSplitExecute(code, postacc_code, addrCalcReg,
68 addrCalcImm, execute, faultCode, name, name + "Imm",
69 Name, Name + "Imm", asi, opt_flags)
70 return (header_output, decoder_output, exec_output, decode_block)
71}};
72
73def format LoadAlt(code, asi, *opt_flags) {{
74 code = filterDoubles(code)
74 (header_output,
75 decoder_output,
76 exec_output,
77 decode_block) = doMemFormat(code, LoadFuncs,
78 AlternateASIPrivFaultCheck, name, Name, asi, opt_flags)
79}};
80
81def format StoreAlt(code, asi, *opt_flags) {{
75 (header_output,
76 decoder_output,
77 exec_output,
78 decode_block) = doMemFormat(code, LoadFuncs,
79 AlternateASIPrivFaultCheck, name, Name, asi, opt_flags)
80}};
81
82def format StoreAlt(code, asi, *opt_flags) {{
83 code = filterDoubles(code)
82 (header_output,
83 decoder_output,
84 exec_output,
85 decode_block) = doMemFormat(code, StoreFuncs,
86 AlternateASIPrivFaultCheck, name, Name, asi, opt_flags)
87}};
88
89def format Load(code, *opt_flags) {{
84 (header_output,
85 decoder_output,
86 exec_output,
87 decode_block) = doMemFormat(code, StoreFuncs,
88 AlternateASIPrivFaultCheck, name, Name, asi, opt_flags)
89}};
90
91def format Load(code, *opt_flags) {{
92 code = filterDoubles(code)
90 (header_output,
91 decoder_output,
92 exec_output,
93 decode_block) = doMemFormat(code,
94 LoadFuncs, '', name, Name, 0, opt_flags)
95}};
96
97def format Store(code, *opt_flags) {{
93 (header_output,
94 decoder_output,
95 exec_output,
96 decode_block) = doMemFormat(code,
97 LoadFuncs, '', name, Name, 0, opt_flags)
98}};
99
100def format Store(code, *opt_flags) {{
101 code = filterDoubles(code)
98 (header_output,
99 decoder_output,
100 exec_output,
101 decode_block) = doMemFormat(code,
102 StoreFuncs, '', name, Name, 0, opt_flags)
103}};
104
105def format TwinLoad(code, asi, *opt_flags) {{
106 (header_output,
107 decoder_output,
108 exec_output,
109 decode_block) = doMemFormat(code, LoadFuncs,
110 AlternateASIPrivFaultCheck + TwinAlignmentFaultCheck,
111 name, Name, asi, opt_flags)
112}};
113
102 (header_output,
103 decoder_output,
104 exec_output,
105 decode_block) = doMemFormat(code,
106 StoreFuncs, '', name, Name, 0, opt_flags)
107}};
108
109def format TwinLoad(code, asi, *opt_flags) {{
110 (header_output,
111 decoder_output,
112 exec_output,
113 decode_block) = doMemFormat(code, LoadFuncs,
114 AlternateASIPrivFaultCheck + TwinAlignmentFaultCheck,
115 name, Name, asi, opt_flags)
116}};
117