macromem.hh (7294:fda2c00880db) macromem.hh (7343:26c00092d9f3)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

55 for (int i = 0; i < 32; i++ )
56 {
57 if ( val & (1<<i) )
58 ones++;
59 }
60 return ones;
61}
62
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

55 for (int i = 0; i < 32; i++ )
56 {
57 if ( val & (1<<i) )
58 ones++;
59 }
60 return ones;
61}
62
63class MicroOp : public PredOp
64{
65 protected:
66 MicroOp(const char *mnem, ExtMachInst machInst, OpClass __opClass)
67 : PredOp(mnem, machInst, __opClass)
68 {
69 }
70
71 public:
72 void
73 setDelayedCommit()
74 {
75 flags[IsDelayedCommit] = true;
76 }
77};
78
63/**
64 * Microops of the form IntRegA = IntRegB op Imm
65 */
79/**
80 * Microops of the form IntRegA = IntRegB op Imm
81 */
66class MicroIntOp : public PredOp
82class MicroIntOp : public MicroOp
67{
68 protected:
69 RegIndex ura, urb;
70 uint8_t imm;
71
72 MicroIntOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
73 RegIndex _ura, RegIndex _urb, uint8_t _imm)
83{
84 protected:
85 RegIndex ura, urb;
86 uint8_t imm;
87
88 MicroIntOp(const char *mnem, ExtMachInst machInst, OpClass __opClass,
89 RegIndex _ura, RegIndex _urb, uint8_t _imm)
74 : PredOp(mnem, machInst, __opClass),
90 : MicroOp(mnem, machInst, __opClass),
75 ura(_ura), urb(_urb), imm(_imm)
76 {
77 }
78};
79
80/**
81 * Memory microops which use IntReg + Imm addressing
82 */

--- 33 unchanged lines hidden ---
91 ura(_ura), urb(_urb), imm(_imm)
92 {
93 }
94};
95
96/**
97 * Memory microops which use IntReg + Imm addressing
98 */

--- 33 unchanged lines hidden ---