misc.isa (7254:f92b3246fa96) misc.isa (7257:272f94a04b54)
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

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

474 Dest = resTemp | -(resTemp & (1 << (imm2 - imm1)));
475 '''
476 sbfxIop = InstObjParams("sbfx", "Sbfx", "RegRegImmImmOp",
477 { "code": sbfxCode,
478 "predicate_test": predicateTest }, [])
479 header_output += RegRegImmImmOpDeclare.subst(sbfxIop)
480 decoder_output += RegRegImmImmOpConstructor.subst(sbfxIop)
481 exec_output += PredOpExecute.subst(sbfxIop)
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

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

474 Dest = resTemp | -(resTemp & (1 << (imm2 - imm1)));
475 '''
476 sbfxIop = InstObjParams("sbfx", "Sbfx", "RegRegImmImmOp",
477 { "code": sbfxCode,
478 "predicate_test": predicateTest }, [])
479 header_output += RegRegImmImmOpDeclare.subst(sbfxIop)
480 decoder_output += RegRegImmImmOpConstructor.subst(sbfxIop)
481 exec_output += PredOpExecute.subst(sbfxIop)
482
483 bfcCode = '''
484 Dest = Op1 & ~(mask(imm2 - imm1 + 1) << imm1);
485 '''
486 bfcIop = InstObjParams("bfc", "Bfc", "RegRegImmImmOp",
487 { "code": bfcCode,
488 "predicate_test": predicateTest }, [])
489 header_output += RegRegImmImmOpDeclare.subst(bfcIop)
490 decoder_output += RegRegImmImmOpConstructor.subst(bfcIop)
491 exec_output += PredOpExecute.subst(bfcIop)
492
493 bfiCode = '''
494 uint32_t bitMask = (mask(imm2 - imm1 + 1) << imm1);
495 Dest = ((Op1 << imm1) & bitMask) | (Dest & ~bitMask);
496 '''
497 bfiIop = InstObjParams("bfi", "Bfi", "RegRegImmImmOp",
498 { "code": bfiCode,
499 "predicate_test": predicateTest }, [])
500 header_output += RegRegImmImmOpDeclare.subst(bfiIop)
501 decoder_output += RegRegImmImmOpConstructor.subst(bfiIop)
502 exec_output += PredOpExecute.subst(bfiIop)
482}};
503}};