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";
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;
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
};