[llvm] r255442 - [X86][AVX512] Added support for VMOVQ shuffle comments
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 12 13:46:26 PST 2015
Author: rksimon
Date: Sat Dec 12 15:46:23 2015
New Revision: 255442
URL: http://llvm.org/viewvc/llvm-project?rev=255442&view=rev
Log:
[X86][AVX512] Added support for VMOVQ shuffle comments
Modified:
llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp
llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp?rev=255442&r1=255441&r2=255442&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp Sat Dec 12 15:46:23 2015
@@ -672,20 +672,22 @@ bool llvm::EmitAnyX86InstComments(const
break;
case X86::MOVPQI2QIrr:
- case X86::MOVZPQILo2PQIrr:
- case X86::VMOVPQI2QIrr:
- case X86::VMOVZPQILo2PQIrr:
- Src1Name = getRegName(MI->getOperand(1).getReg());
- // FALL THROUGH.
- case X86::MOVQI2PQIrm:
+ case X86::MOVZPQILo2PQIrr:
+ case X86::VMOVPQI2QIrr:
+ case X86::VMOVZPQILo2PQIrr:
+ case X86::VMOVZPQILo2PQIZrr:
+ Src1Name = getRegName(MI->getOperand(1).getReg());
+ // FALL THROUGH.
+ case X86::MOVQI2PQIrm:
case X86::MOVZQI2PQIrm:
case X86::MOVZPQILo2PQIrm:
- case X86::VMOVQI2PQIrm:
- case X86::VMOVZQI2PQIrm:
- case X86::VMOVZPQILo2PQIrm:
- DecodeZeroMoveLowMask(MVT::v2i64, ShuffleMask);
- DestName = getRegName(MI->getOperand(0).getReg());
- break;
+ case X86::VMOVQI2PQIrm:
+ case X86::VMOVZQI2PQIrm:
+ case X86::VMOVZPQILo2PQIrm:
+ case X86::VMOVZPQILo2PQIZrm:
+ DecodeZeroMoveLowMask(MVT::v2i64, ShuffleMask);
+ DestName = getRegName(MI->getOperand(0).getReg());
+ break;
case X86::MOVDI2PDIrm:
case X86::VMOVDI2PDIrm:
Modified: llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll?rev=255442&r1=255441&r2=255442&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll (original)
+++ llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll Sat Dec 12 15:46:23 2015
@@ -687,20 +687,10 @@ define <2 x i64> @shuffle_v2i64_0z(<2 x
; SSE-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
; SSE-NEXT: retq
;
-; AVX1-LABEL: shuffle_v2i64_0z:
-; AVX1: # BB#0:
-; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX1-NEXT: retq
-;
-; AVX2-LABEL: shuffle_v2i64_0z:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX2-NEXT: retq
-;
-; AVX512VL-LABEL: shuffle_v2i64_0z:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vmovq %xmm0, %xmm0
-; AVX512VL-NEXT: retq
+; AVX-LABEL: shuffle_v2i64_0z:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
+; AVX-NEXT: retq
%shuffle = shufflevector <2 x i64> %a, <2 x i64> zeroinitializer, <2 x i32> <i32 0, i32 3>
ret <2 x i64> %shuffle
}
@@ -785,20 +775,10 @@ define <2 x double> @shuffle_v2f64_0z(<2
; SSE-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
; SSE-NEXT: retq
;
-; AVX1-LABEL: shuffle_v2f64_0z:
-; AVX1: # BB#0:
-; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX1-NEXT: retq
-;
-; AVX2-LABEL: shuffle_v2f64_0z:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX2-NEXT: retq
-;
-; AVX512VL-LABEL: shuffle_v2f64_0z:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vmovq %xmm0, %xmm0
-; AVX512VL-NEXT: retq
+; AVX-LABEL: shuffle_v2f64_0z:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
+; AVX-NEXT: retq
%shuffle = shufflevector <2 x double> %a, <2 x double> zeroinitializer, <2 x i32> <i32 0, i32 3>
ret <2 x double> %shuffle
}
@@ -1032,20 +1012,10 @@ define <2 x double> @insert_reg_and_zero
; SSE-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
; SSE-NEXT: retq
;
-; AVX1-LABEL: insert_reg_and_zero_v2f64:
-; AVX1: # BB#0:
-; AVX1-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX1-NEXT: retq
-;
-; AVX2-LABEL: insert_reg_and_zero_v2f64:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
-; AVX2-NEXT: retq
-;
-; AVX512VL-LABEL: insert_reg_and_zero_v2f64:
-; AVX512VL: # BB#0:
-; AVX512VL-NEXT: vmovq %xmm0, %xmm0
-; AVX512VL-NEXT: retq
+; AVX-LABEL: insert_reg_and_zero_v2f64:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = xmm0[0],zero
+; AVX-NEXT: retq
%v = insertelement <2 x double> undef, double %a, i32 0
%shuffle = shufflevector <2 x double> %v, <2 x double> zeroinitializer, <2 x i32> <i32 0, i32 3>
ret <2 x double> %shuffle
More information about the llvm-commits
mailing list