[X86][AVX512] Added AVX512 VMOVLHPS/VMOVHLPS shuffle decode comments.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 21 Nov 2015 13:04:42 +0000 (13:04 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 21 Nov 2015 13:04:42 +0000 (13:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253777 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/InstPrinter/X86InstComments.cpp
test/CodeGen/X86/vector-shuffle-128-v2.ll

index 3bf33dc22a9bef10ffdbe708aa13b6727ac7c7f2..779c2193056ac0ff362403f047673611dc2af441 100644 (file)
@@ -292,6 +292,7 @@ bool llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
 
   case X86::MOVLHPSrr:
   case X86::VMOVLHPSrr:
+  case X86::VMOVLHPSZrr:
     Src2Name = getRegName(MI->getOperand(2).getReg());
     Src1Name = getRegName(MI->getOperand(1).getReg());
     DestName = getRegName(MI->getOperand(0).getReg());
@@ -300,6 +301,7 @@ bool llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
 
   case X86::MOVHLPSrr:
   case X86::VMOVHLPSrr:
+  case X86::VMOVHLPSZrr:
     Src2Name = getRegName(MI->getOperand(2).getReg());
     Src1Name = getRegName(MI->getOperand(1).getReg());
     DestName = getRegName(MI->getOperand(0).getReg());
@@ -657,6 +659,7 @@ bool llvm::EmitAnyX86InstComments(const MCInst *MI, raw_ostream &OS,
     DecodeScalarMoveMask(MVT::v2f64, nullptr == Src2Name, ShuffleMask);
     DestName = getRegName(MI->getOperand(0).getReg());
     break;
+
   case X86::MOVSSrr:
   case X86::VMOVSSrr:
     Src2Name = getRegName(MI->getOperand(2).getReg());
index d1eac6e695c5c81e13bac1a98f8e530ede27f674..687fec35efe0bd2bfa2edacefd376109af1c58aa 100644 (file)
@@ -156,20 +156,10 @@ define <2 x double> @shuffle_v2f64_11(<2 x double> %a, <2 x double> %b) {
 ; SSE-NEXT:    movhlps {{.*#+}} xmm0 = xmm0[1,1]
 ; SSE-NEXT:    retq
 ;
-; AVX1-LABEL: shuffle_v2f64_11:
-; AVX1:       # BB#0:
-; AVX1-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm0[1,1]
-; AVX1-NEXT:    retq
-;
-; AVX2-LABEL: shuffle_v2f64_11:
-; AVX2:       # BB#0:
-; AVX2-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm0[1,1]
-; AVX2-NEXT:    retq
-;
-; AVX512VL-LABEL: shuffle_v2f64_11:
-; AVX512VL:       # BB#0:
-; AVX512VL-NEXT:    vmovhlps %xmm0, %xmm0, %xmm0
-; AVX512VL-NEXT:    retq
+; AVX-LABEL: shuffle_v2f64_11:
+; AVX:       # BB#0:
+; AVX-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm0[1,1]
+; AVX-NEXT:    retq
   %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 1, i32 1>
   ret <2 x double> %shuffle
 }
@@ -224,20 +214,10 @@ define <2 x double> @shuffle_v2f64_33(<2 x double> %a, <2 x double> %b) {
 ; SSE-NEXT:    movaps %xmm1, %xmm0
 ; SSE-NEXT:    retq
 ;
-; AVX1-LABEL: shuffle_v2f64_33:
-; AVX1:       # BB#0:
-; AVX1-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm1[1,1]
-; AVX1-NEXT:    retq
-;
-; AVX2-LABEL: shuffle_v2f64_33:
-; AVX2:       # BB#0:
-; AVX2-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm1[1,1]
-; AVX2-NEXT:    retq
-;
-; AVX512VL-LABEL: shuffle_v2f64_33:
-; AVX512VL:       # BB#0:
-; AVX512VL-NEXT:    vmovhlps %xmm1, %xmm1, %xmm0
-; AVX512VL-NEXT:    retq
+; AVX-LABEL: shuffle_v2f64_33:
+; AVX:       # BB#0:
+; AVX-NEXT:    vmovhlps {{.*#+}} xmm0 = xmm1[1,1]
+; AVX-NEXT:    retq
   %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 3, i32 3>
   ret <2 x double> %shuffle
 }