R600: Bank Swizzle now display SCL equivalent

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185267 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vincent Lejeune 2013-06-29 19:32:29 +00:00
parent 04d5613162
commit 7d1a0d4e3e
3 changed files with 12 additions and 12 deletions

View File

@ -178,13 +178,13 @@ void AMDGPUInstPrinter::printBankSwizzle(const MCInst *MI, unsigned OpNo,
int BankSwizzle = MI->getOperand(OpNo).getImm();
switch (BankSwizzle) {
case 1:
O << "BS:VEC_021";
O << "BS:VEC_021/SCL_122";
break;
case 2:
O << "BS:VEC_120";
O << "BS:VEC_120/SCL_212";
break;
case 3:
O << "BS:VEC_102";
O << "BS:VEC_102/SCL_221";
break;
case 4:
O << "BS:VEC_201";

View File

@ -282,15 +282,15 @@ static std::vector<std::pair<int, unsigned> >
Swizzle(std::vector<std::pair<int, unsigned> > Src,
R600InstrInfo::BankSwizzle Swz) {
switch (Swz) {
case R600InstrInfo::ALU_VEC_012:
case R600InstrInfo::ALU_VEC_012_SCL_210:
break;
case R600InstrInfo::ALU_VEC_021:
case R600InstrInfo::ALU_VEC_021_SCL_122:
std::swap(Src[1], Src[2]);
break;
case R600InstrInfo::ALU_VEC_102:
case R600InstrInfo::ALU_VEC_102_SCL_221:
std::swap(Src[0], Src[1]);
break;
case R600InstrInfo::ALU_VEC_120:
case R600InstrInfo::ALU_VEC_120_SCL_212:
std::swap(Src[0], Src[1]);
std::swap(Src[0], Src[2]);
break;

View File

@ -36,14 +36,14 @@ namespace llvm {
int getBranchInstr(const MachineOperand &op) const;
std::vector<std::pair<int, unsigned> >
ExtractSrcs(MachineInstr *MI, const DenseMap<unsigned, unsigned> &PV) const;
ExtractSrcs(MachineInstr *MI, const DenseMap<unsigned, unsigned> &PV, unsigned &ConstCount) const;
public:
enum BankSwizzle {
ALU_VEC_012 = 0,
ALU_VEC_021,
ALU_VEC_120,
ALU_VEC_102,
ALU_VEC_012_SCL_210 = 0,
ALU_VEC_021_SCL_122,
ALU_VEC_120_SCL_212,
ALU_VEC_102_SCL_221,
ALU_VEC_201,
ALU_VEC_210
};