misc.isa (7202:b99579129992) | misc.isa (7209:1721e83dc2b6) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 103 unchanged lines hidden (view full) --- 112 113 msrSpsrImmCode = "Spsr = spsrWriteByInstr(Spsr, imm, byteMask, false);" 114 msrSpsrImmIop = InstObjParams("msr", "MsrSpsrImm", "MsrImmOp", 115 { "code": msrSpsrImmCode, 116 "predicate_test": predicateTest }, []) 117 header_output += MsrImmDeclare.subst(msrSpsrImmIop) 118 decoder_output += MsrImmConstructor.subst(msrSpsrImmIop) 119 exec_output += PredOpExecute.subst(msrSpsrImmIop) | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 103 unchanged lines hidden (view full) --- 112 113 msrSpsrImmCode = "Spsr = spsrWriteByInstr(Spsr, imm, byteMask, false);" 114 msrSpsrImmIop = InstObjParams("msr", "MsrSpsrImm", "MsrImmOp", 115 { "code": msrSpsrImmCode, 116 "predicate_test": predicateTest }, []) 117 header_output += MsrImmDeclare.subst(msrSpsrImmIop) 118 decoder_output += MsrImmConstructor.subst(msrSpsrImmIop) 119 exec_output += PredOpExecute.subst(msrSpsrImmIop) |
120 121 revCode = ''' 122 uint32_t val = Op1; 123 Dest = swap_byte(val); 124 ''' 125 revIop = InstObjParams("rev", "Rev", "RevOp", 126 { "code": revCode, 127 "predicate_test": predicateTest }, []) 128 header_output += RevOpDeclare.subst(revIop) 129 decoder_output += RevOpConstructor.subst(revIop) 130 exec_output += PredOpExecute.subst(revIop) 131 132 rev16Code = ''' 133 uint32_t val = Op1; 134 Dest = (bits(val, 15, 8) << 0) | 135 (bits(val, 7, 0) << 8) | 136 (bits(val, 31, 24) << 16) | 137 (bits(val, 23, 16) << 24); 138 ''' 139 rev16Iop = InstObjParams("rev16", "Rev16", "RevOp", 140 { "code": rev16Code, 141 "predicate_test": predicateTest }, []) 142 header_output += RevOpDeclare.subst(rev16Iop) 143 decoder_output += RevOpConstructor.subst(rev16Iop) 144 exec_output += PredOpExecute.subst(rev16Iop) 145 146 revshCode = ''' 147 uint16_t val = Op1; 148 Dest = sext<16>(swap_byte(val)); 149 ''' 150 revshIop = InstObjParams("revsh", "Revsh", "RevOp", 151 { "code": revshCode, 152 "predicate_test": predicateTest }, []) 153 header_output += RevOpDeclare.subst(revshIop) 154 decoder_output += RevOpConstructor.subst(revshIop) 155 exec_output += PredOpExecute.subst(revshIop) |
|
120}}; | 156}}; |