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 --- |