pred.isa (6270:e5794c49dd7c) pred.isa (6271:d0fb87f3318e)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

36let {{
37 predicateTest = 'testPredicate(Cpsr, condCode)'
38}};
39
40def template PredOpExecute {{
41 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
42 {
43 Fault fault = NoFault;
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

36let {{
37 predicateTest = 'testPredicate(Cpsr, condCode)'
38}};
39
40def template PredOpExecute {{
41 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
42 {
43 Fault fault = NoFault;
44 uint64_t resTemp = 0;
45 resTemp = resTemp;
44 %(op_decl)s;
45 %(op_rd)s;
46
47 if (%(predicate_test)s)
48 {
49 %(code)s;
50 if (fault == NoFault)
51 {

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

95 DPRINTF(Arm, "iz = %%d\\n", _iz);
96 DPRINTF(Arm, "ic = %%d\\n", _ic);
97 DPRINTF(Arm, "iv = %%d\\n", _iv);
98 '''
99
100}};
101
102def format DataOp(code, icValue, ivValue) {{
46 %(op_decl)s;
47 %(op_rd)s;
48
49 if (%(predicate_test)s)
50 {
51 %(code)s;
52 if (fault == NoFault)
53 {

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

97 DPRINTF(Arm, "iz = %%d\\n", _iz);
98 DPRINTF(Arm, "ic = %%d\\n", _ic);
99 DPRINTF(Arm, "iv = %%d\\n", _iv);
100 '''
101
102}};
103
104def format DataOp(code, icValue, ivValue) {{
103 code += "resTemp = resTemp;"
104 regCode = re.sub(r'op2', 'shift_rm_rs(Rm, Rs, \
105 shift, Cpsr<29:0>)', code)
106 immCode = re.sub(r'op2', 'shift_rm_imm(Rm, shift_size, \
107 shift, Cpsr<29:0>)', code)
108 regIop = InstObjParams(name, Name, 'PredIntOp',
109 {"code": regCode,
110 "predicate_test": predicateTest})
111 immIop = InstObjParams(name, Name + "Imm", 'PredIntOp',

--- 103 unchanged lines hidden ---
105 regCode = re.sub(r'op2', 'shift_rm_rs(Rm, Rs, \
106 shift, Cpsr<29:0>)', code)
107 immCode = re.sub(r'op2', 'shift_rm_imm(Rm, shift_size, \
108 shift, Cpsr<29:0>)', code)
109 regIop = InstObjParams(name, Name, 'PredIntOp',
110 {"code": regCode,
111 "predicate_test": predicateTest})
112 immIop = InstObjParams(name, Name + "Imm", 'PredIntOp',

--- 103 unchanged lines hidden ---