diff options
| author | Craig Topper <craig.topper@gmail.com> | 2013-01-28 06:48:25 +0000 | 
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2013-01-28 06:48:25 +0000 | 
| commit | 8fb09f0abb6b70b5a093929031c6ddcb5a4b95fa (patch) | |
| tree | dfbcc37a55829a2870cad008b57634cb76b2c645 /llvm/lib/Target | |
| parent | 5ed40afe17103a15cefc8a1a16f6a7c33f99bd97 (diff) | |
| download | bcm5719-llvm-8fb09f0abb6b70b5a093929031c6ddcb5a4b95fa.tar.gz bcm5719-llvm-8fb09f0abb6b70b5a093929031c6ddcb5a4b95fa.zip  | |
Fix inconsistent usage of PALIGN and PALIGNR when referring to the same instruction.
llvm-svn: 173667
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp | 12 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp | 3 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/Utils/X86ShuffleDecode.h | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 14 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.h | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrFragmentsSIMD.td | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 34 | 
7 files changed, 35 insertions, 34 deletions
diff --git a/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp b/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp index d8a45ea9738..43a8f0f8655 100644 --- a/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp +++ b/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp @@ -77,9 +77,9 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,    case X86::VPALIGNR128rm:      Src2Name = getRegName(MI->getOperand(1).getReg());      DestName = getRegName(MI->getOperand(0).getReg()); -    DecodePALIGNMask(MVT::v16i8, -                     MI->getOperand(MI->getNumOperands()-1).getImm(), -                     ShuffleMask); +    DecodePALIGNRMask(MVT::v16i8, +                      MI->getOperand(MI->getNumOperands()-1).getImm(), +                      ShuffleMask);      break;    case X86::VPALIGNR256rr:      Src1Name = getRegName(MI->getOperand(2).getReg()); @@ -87,9 +87,9 @@ void llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,    case X86::VPALIGNR256rm:      Src2Name = getRegName(MI->getOperand(1).getReg());      DestName = getRegName(MI->getOperand(0).getReg()); -    DecodePALIGNMask(MVT::v32i8, -                     MI->getOperand(MI->getNumOperands()-1).getImm(), -                     ShuffleMask); +    DecodePALIGNRMask(MVT::v32i8, +                      MI->getOperand(MI->getNumOperands()-1).getImm(), +                      ShuffleMask);    case X86::PSHUFDri:    case X86::VPSHUFDri: diff --git a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp index 9694808e641..b490f270254 100644 --- a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp +++ b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp @@ -61,7 +61,8 @@ void DecodeMOVLHPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask) {      ShuffleMask.push_back(NElts+i);  } -void DecodePALIGNMask(MVT VT, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) { +void DecodePALIGNRMask(MVT VT, unsigned Imm, +                       SmallVectorImpl<int> &ShuffleMask) {    unsigned NumElts = VT.getVectorNumElements();    unsigned Offset = Imm * (VT.getVectorElementType().getSizeInBits() / 8); diff --git a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h index 69ce4432ed1..017ab325ec5 100644 --- a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h +++ b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h @@ -35,7 +35,7 @@ void DecodeMOVHLPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask);  // <0,2> or <0,1,4,5>  void DecodeMOVLHPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask); -void DecodePALIGNMask(MVT VT, unsigned Imm, SmallVectorImpl<int> &ShuffleMask); +void DecodePALIGNRMask(MVT VT, unsigned Imm, SmallVectorImpl<int> &ShuffleMask);  void DecodePSHUFMask(MVT VT, unsigned Imm, SmallVectorImpl<int> &ShuffleMask); diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 76ec12c740c..a4eae0a8f8f 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -3004,7 +3004,7 @@ static bool isTargetShuffle(unsigned Opcode) {    case X86ISD::PSHUFHW:    case X86ISD::PSHUFLW:    case X86ISD::SHUFP: -  case X86ISD::PALIGN: +  case X86ISD::PALIGNR:    case X86ISD::MOVLHPS:    case X86ISD::MOVLHPD:    case X86ISD::MOVHLPS: @@ -3054,7 +3054,7 @@ static SDValue getTargetShuffleNode(unsigned Opc, DebugLoc dl, EVT VT,                                      SelectionDAG &DAG) {    switch(Opc) {    default: llvm_unreachable("Unknown x86 shuffle node"); -  case X86ISD::PALIGN: +  case X86ISD::PALIGNR:    case X86ISD::SHUFP:    case X86ISD::VPERM2X128:      return DAG.getNode(Opc, dl, VT, V1, V2, @@ -4592,9 +4592,9 @@ static bool getTargetShuffleMask(SDNode *N, MVT VT,    case X86ISD::MOVLHPS:      DecodeMOVLHPSMask(NumElems, Mask);      break; -  case X86ISD::PALIGN: +  case X86ISD::PALIGNR:      ImmN = N->getOperand(N->getNumOperands()-1); -    DecodePALIGNMask(VT, cast<ConstantSDNode>(ImmN)->getZExtValue(), Mask); +    DecodePALIGNRMask(VT, cast<ConstantSDNode>(ImmN)->getZExtValue(), Mask);      break;    case X86ISD::PSHUFD:    case X86ISD::VPERMILP: @@ -6932,7 +6932,7 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {    // nodes, and remove one by one until they don't return Op anymore.    if (isPALIGNRMask(M, VT, Subtarget)) -    return getTargetShuffleNode(X86ISD::PALIGN, dl, VT, V1, V2, +    return getTargetShuffleNode(X86ISD::PALIGNR, dl, VT, V1, V2,                                  getShufflePALIGNRImmediate(SVOp),                                  DAG); @@ -12435,7 +12435,7 @@ const char *X86TargetLowering::getTargetNodeName(unsigned Opcode) const {    case X86ISD::MUL_IMM:            return "X86ISD::MUL_IMM";    case X86ISD::PTEST:              return "X86ISD::PTEST";    case X86ISD::TESTP:              return "X86ISD::TESTP"; -  case X86ISD::PALIGN:             return "X86ISD::PALIGN"; +  case X86ISD::PALIGNR:            return "X86ISD::PALIGNR";    case X86ISD::PSHUFD:             return "X86ISD::PSHUFD";    case X86ISD::PSHUFHW:            return "X86ISD::PSHUFHW";    case X86ISD::PSHUFLW:            return "X86ISD::PSHUFLW"; @@ -17416,7 +17416,7 @@ SDValue X86TargetLowering::PerformDAGCombine(SDNode *N,    case X86ISD::BRCOND:      return PerformBrCondCombine(N, DAG, DCI, Subtarget);    case X86ISD::VZEXT:       return performVZEXTCombine(N, DAG, DCI, Subtarget);    case X86ISD::SHUFP:       // Handle all target specific shuffles -  case X86ISD::PALIGN: +  case X86ISD::PALIGNR:    case X86ISD::UNPCKH:    case X86ISD::UNPCKL:    case X86ISD::MOVHLPS: diff --git a/llvm/lib/Target/X86/X86ISelLowering.h b/llvm/lib/Target/X86/X86ISelLowering.h index 6d5e8c21807..5e84e277c08 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.h +++ b/llvm/lib/Target/X86/X86ISelLowering.h @@ -294,7 +294,7 @@ namespace llvm {        TESTP,        // Several flavors of instructions with vector shuffle behaviors. -      PALIGN, +      PALIGNR,        PSHUFD,        PSHUFHW,        PSHUFLW, diff --git a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td index 7025e93fa15..2a72fb6f7b2 100644 --- a/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td +++ b/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td @@ -160,7 +160,7 @@ def SDTBlend : SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisSameAs<0,1>,  def SDTFma : SDTypeProfile<1, 3, [SDTCisSameAs<0,1>,                             SDTCisSameAs<1,2>, SDTCisSameAs<1,3>]>; -def X86PAlign : SDNode<"X86ISD::PALIGN", SDTShuff3OpI>; +def X86PAlignr : SDNode<"X86ISD::PALIGNR", SDTShuff3OpI>;  def X86PShufd  : SDNode<"X86ISD::PSHUFD", SDTShuff2OpI>;  def X86PShufhw : SDNode<"X86ISD::PSHUFHW", SDTShuff2OpI>; diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index 18c3dfe8f2a..09797527573 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -5167,7 +5167,7 @@ defm PMULHRSW    : SS3I_binop_rm_int<0x0B, "pmulhrsw",  // SSSE3 - Packed Align Instruction Patterns  //===---------------------------------------------------------------------===// -multiclass ssse3_palign<string asm, bit Is2Addr = 1> { +multiclass ssse3_palignr<string asm, bit Is2Addr = 1> {    let neverHasSideEffects = 1 in {    def R128rr : SS3AI<0x0F, MRMSrcReg, (outs VR128:$dst),        (ins VR128:$src1, VR128:$src2, i8imm:$src3), @@ -5187,7 +5187,7 @@ multiclass ssse3_palign<string asm, bit Is2Addr = 1> {    }  } -multiclass ssse3_palign_y<string asm, bit Is2Addr = 1> { +multiclass ssse3_palignr_y<string asm, bit Is2Addr = 1> {    let neverHasSideEffects = 1 in {    def R256rr : SS3AI<0x0F, MRMSrcReg, (outs VR256:$dst),        (ins VR256:$src1, VR256:$src2, i8imm:$src3), @@ -5204,42 +5204,42 @@ multiclass ssse3_palign_y<string asm, bit Is2Addr = 1> {  }  let Predicates = [HasAVX] in -  defm VPALIGN : ssse3_palign<"vpalignr", 0>, VEX_4V; +  defm VPALIGN : ssse3_palignr<"vpalignr", 0>, VEX_4V;  let Predicates = [HasAVX2] in -  defm VPALIGN : ssse3_palign_y<"vpalignr", 0>, VEX_4V, VEX_L; +  defm VPALIGN : ssse3_palignr_y<"vpalignr", 0>, VEX_4V, VEX_L;  let Constraints = "$src1 = $dst", Predicates = [UseSSSE3] in -  defm PALIGN : ssse3_palign<"palignr">; +  defm PALIGN : ssse3_palignr<"palignr">;  let Predicates = [HasAVX2] in { -def : Pat<(v8i32 (X86PAlign VR256:$src1, VR256:$src2, (i8 imm:$imm))), +def : Pat<(v8i32 (X86PAlignr VR256:$src1, VR256:$src2, (i8 imm:$imm))),            (VPALIGNR256rr VR256:$src2, VR256:$src1, imm:$imm)>; -def : Pat<(v8f32 (X86PAlign VR256:$src1, VR256:$src2, (i8 imm:$imm))), +def : Pat<(v8f32 (X86PAlignr VR256:$src1, VR256:$src2, (i8 imm:$imm))),            (VPALIGNR256rr VR256:$src2, VR256:$src1, imm:$imm)>; -def : Pat<(v16i16 (X86PAlign VR256:$src1, VR256:$src2, (i8 imm:$imm))), +def : Pat<(v16i16 (X86PAlignr VR256:$src1, VR256:$src2, (i8 imm:$imm))),            (VPALIGNR256rr VR256:$src2, VR256:$src1, imm:$imm)>; -def : Pat<(v32i8 (X86PAlign VR256:$src1, VR256:$src2, (i8 imm:$imm))), +def : Pat<(v32i8 (X86PAlignr VR256:$src1, VR256:$src2, (i8 imm:$imm))),            (VPALIGNR256rr VR256:$src2, VR256:$src1, imm:$imm)>;  }  let Predicates = [HasAVX] in { -def : Pat<(v4i32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v4i32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (VPALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v4f32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v4f32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (VPALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v8i16 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v8i16 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (VPALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v16i8 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v16i8 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (VPALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>;  }  let Predicates = [UseSSSE3] in { -def : Pat<(v4i32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v4i32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (PALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v4f32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v4f32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (PALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v8i16 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v8i16 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (PALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>; -def : Pat<(v16i8 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))), +def : Pat<(v16i8 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),            (PALIGNR128rr VR128:$src2, VR128:$src1, imm:$imm)>;  }  | 

