2a3
> * Copyright (c) 2013 Advanced Micro Devices, Inc.
41a43
> #include "cpu/reg_class.hh"
132c134,137
< if (reg < FP_Base_DepTag) {
---
> RegIndex rel_reg;
>
> switch (regIdxToClass(reg, &rel_reg)) {
> case IntRegClass: {
134,135c139,140
< bool fold = reg & IntFoldBit;
< reg &= ~IntFoldBit;
---
> bool fold = rel_reg & IntFoldBit;
> rel_reg &= ~IntFoldBit;
139c144
< else if(reg < 8 && size == 1)
---
> else if(rel_reg < 8 && size == 1)
142c147
< switch (reg) {
---
> switch (rel_reg) {
192c197
< ccprintf(os, microFormats[size], reg - NUM_INTREGS);
---
> ccprintf(os, microFormats[size], rel_reg - NUM_INTREGS);
195,198c200,205
< } else if (reg < Ctrl_Base_DepTag) {
< int fpindex = reg - FP_Base_DepTag;
< if(fpindex < NumMMXRegs) {
< ccprintf(os, "%%mmx%d", reg - FP_Base_DepTag);
---
> break;
> }
>
> case FloatRegClass: {
> if (rel_reg < NumMMXRegs) {
> ccprintf(os, "%%mmx%d", rel_reg);
201,204c208,211
< fpindex -= NumMMXRegs;
< if(fpindex < NumXMMRegs * 2) {
< ccprintf(os, "%%xmm%d_%s", fpindex / 2,
< (fpindex % 2) ? "high": "low");
---
> rel_reg -= NumMMXRegs;
> if (rel_reg < NumXMMRegs * 2) {
> ccprintf(os, "%%xmm%d_%s", rel_reg / 2,
> (rel_reg % 2) ? "high": "low");
207,209c214,216
< fpindex -= NumXMMRegs * 2;
< if(fpindex < NumMicroFpRegs) {
< ccprintf(os, "%%ufp%d", fpindex);
---
> rel_reg -= NumXMMRegs * 2;
> if (rel_reg < NumMicroFpRegs) {
> ccprintf(os, "%%ufp%d", rel_reg);
212,215c219,225
< fpindex -= NumMicroFpRegs;
< ccprintf(os, "%%st(%d)", fpindex);
< } else {
< switch (reg - Ctrl_Base_DepTag) {
---
> rel_reg -= NumMicroFpRegs;
> ccprintf(os, "%%st(%d)", rel_reg);
> break;
> }
>
> case MiscRegClass:
> switch (rel_reg) {
217c227
< ccprintf(os, "%%ctrl%d", reg - Ctrl_Base_DepTag);
---
> ccprintf(os, "%%ctrl%d", rel_reg);
218a229
> break;