fp.isa (7643:775ccd204013) | fp.isa (7644:62873d5c2bfc) |
---|---|
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 --- 178 unchanged lines hidden (view full) --- 187 188let {{ 189 190 header_output = "" 191 decoder_output = "" 192 exec_output = "" 193 194 vmsrIop = InstObjParams("vmsr", "Vmsr", "FpRegRegOp", | 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 --- 178 unchanged lines hidden (view full) --- 187 188let {{ 189 190 header_output = "" 191 decoder_output = "" 192 exec_output = "" 193 194 vmsrIop = InstObjParams("vmsr", "Vmsr", "FpRegRegOp", |
195 { "code": vmsrrsEnabledCheckCode + \ | 195 { "code": vmsrEnabledCheckCode + \ |
196 "MiscDest = Op1;", 197 "predicate_test": predicateTest }, []) 198 header_output += FpRegRegOpDeclare.subst(vmsrIop); 199 decoder_output += FpRegRegOpConstructor.subst(vmsrIop); 200 exec_output += PredOpExecute.subst(vmsrIop); 201 | 196 "MiscDest = Op1;", 197 "predicate_test": predicateTest }, []) 198 header_output += FpRegRegOpDeclare.subst(vmsrIop); 199 decoder_output += FpRegRegOpConstructor.subst(vmsrIop); 200 exec_output += PredOpExecute.subst(vmsrIop); 201 |
202 vmsrFpscrCode = vmsrrsEnabledCheckCode + ''' | 202 vmsrFpscrCode = vmsrEnabledCheckCode + ''' |
203 Fpscr = Op1 & ~FpCondCodesMask; 204 FpCondCodes = Op1 & FpCondCodesMask; 205 ''' 206 vmsrFpscrIop = InstObjParams("vmsr", "VmsrFpscr", "FpRegRegOp", 207 { "code": vmsrFpscrCode, 208 "predicate_test": predicateTest }, []) 209 header_output += FpRegRegOpDeclare.subst(vmsrFpscrIop); 210 decoder_output += FpRegRegOpConstructor.subst(vmsrFpscrIop); 211 exec_output += PredOpExecute.subst(vmsrFpscrIop); 212 213 vmrsIop = InstObjParams("vmrs", "Vmrs", "FpRegRegOp", | 203 Fpscr = Op1 & ~FpCondCodesMask; 204 FpCondCodes = Op1 & FpCondCodesMask; 205 ''' 206 vmsrFpscrIop = InstObjParams("vmsr", "VmsrFpscr", "FpRegRegOp", 207 { "code": vmsrFpscrCode, 208 "predicate_test": predicateTest }, []) 209 header_output += FpRegRegOpDeclare.subst(vmsrFpscrIop); 210 decoder_output += FpRegRegOpConstructor.subst(vmsrFpscrIop); 211 exec_output += PredOpExecute.subst(vmsrFpscrIop); 212 213 vmrsIop = InstObjParams("vmrs", "Vmrs", "FpRegRegOp", |
214 { "code": vmsrrsEnabledCheckCode + \ | 214 { "code": vmrsEnabledCheckCode + \ |
215 "Dest = MiscOp1;", 216 "predicate_test": predicateTest }, []) 217 header_output += FpRegRegOpDeclare.subst(vmrsIop); 218 decoder_output += FpRegRegOpConstructor.subst(vmrsIop); 219 exec_output += PredOpExecute.subst(vmrsIop); 220 221 vmrsFpscrIop = InstObjParams("vmrs", "VmrsFpscr", "FpRegRegOp", | 215 "Dest = MiscOp1;", 216 "predicate_test": predicateTest }, []) 217 header_output += FpRegRegOpDeclare.subst(vmrsIop); 218 decoder_output += FpRegRegOpConstructor.subst(vmrsIop); 219 exec_output += PredOpExecute.subst(vmrsIop); 220 221 vmrsFpscrIop = InstObjParams("vmrs", "VmrsFpscr", "FpRegRegOp", |
222 { "code": vmsrrsEnabledCheckCode + \ | 222 { "code": vmrsEnabledCheckCode + \ |
223 "Dest = Fpscr | FpCondCodes;", 224 "predicate_test": predicateTest }, []) 225 header_output += FpRegRegOpDeclare.subst(vmrsFpscrIop); 226 decoder_output += FpRegRegOpConstructor.subst(vmrsFpscrIop); 227 exec_output += PredOpExecute.subst(vmrsFpscrIop); 228 | 223 "Dest = Fpscr | FpCondCodes;", 224 "predicate_test": predicateTest }, []) 225 header_output += FpRegRegOpDeclare.subst(vmrsFpscrIop); 226 decoder_output += FpRegRegOpConstructor.subst(vmrsFpscrIop); 227 exec_output += PredOpExecute.subst(vmrsFpscrIop); 228 |
229 vmrsApsrCode = vmsrrsEnabledCheckCode + ''' | 229 vmrsApsrCode = vmrsEnabledCheckCode + ''' |
230 Dest = (MiscOp1 & imm) | (Dest & ~imm); 231 ''' 232 vmrsApsrIop = InstObjParams("vmrs", "VmrsApsr", "FpRegRegImmOp", 233 { "code": vmrsApsrCode, 234 "predicate_test": predicateTest }, []) 235 header_output += FpRegRegImmOpDeclare.subst(vmrsApsrIop); 236 decoder_output += FpRegRegImmOpConstructor.subst(vmrsApsrIop); 237 exec_output += PredOpExecute.subst(vmrsApsrIop); 238 | 230 Dest = (MiscOp1 & imm) | (Dest & ~imm); 231 ''' 232 vmrsApsrIop = InstObjParams("vmrs", "VmrsApsr", "FpRegRegImmOp", 233 { "code": vmrsApsrCode, 234 "predicate_test": predicateTest }, []) 235 header_output += FpRegRegImmOpDeclare.subst(vmrsApsrIop); 236 decoder_output += FpRegRegImmOpConstructor.subst(vmrsApsrIop); 237 exec_output += PredOpExecute.subst(vmrsApsrIop); 238 |
239 vmrsApsrFpscrCode = vmsrrsEnabledCheckCode + ''' | 239 vmrsApsrFpscrCode = vmrsEnabledCheckCode + ''' |
240 assert((imm & ~FpCondCodesMask) == 0); 241 Dest = (FpCondCodes & imm) | (Dest & ~imm); 242 ''' 243 vmrsApsrFpscrIop = InstObjParams("vmrs", "VmrsApsrFpscr", "FpRegRegImmOp", 244 { "code": vmrsApsrFpscrCode, 245 "predicate_test": predicateTest }, []) 246 header_output += FpRegRegImmOpDeclare.subst(vmrsApsrFpscrIop); 247 decoder_output += FpRegRegImmOpConstructor.subst(vmrsApsrFpscrIop); --- 1299 unchanged lines hidden --- | 240 assert((imm & ~FpCondCodesMask) == 0); 241 Dest = (FpCondCodes & imm) | (Dest & ~imm); 242 ''' 243 vmrsApsrFpscrIop = InstObjParams("vmrs", "VmrsApsrFpscr", "FpRegRegImmOp", 244 { "code": vmrsApsrFpscrCode, 245 "predicate_test": predicateTest }, []) 246 header_output += FpRegRegImmOpDeclare.subst(vmrsApsrFpscrIop); 247 decoder_output += FpRegRegImmOpConstructor.subst(vmrsApsrFpscrIop); --- 1299 unchanged lines hidden --- |