diff options
-rw-r--r-- | llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll | 132 |
1 files changed, 66 insertions, 66 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll b/llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll index d64b6329aae..dfe3a1e9394 100644 --- a/llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll +++ b/llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll @@ -102,28 +102,28 @@ define <2 x double> @shuffle_v2f64_00(<2 x double> %a, <2 x double> %b) { ; SSE2: # BB#0: ; SSE2-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0] ; SSE2-NEXT: retq -;
-; SSE3-LABEL: shuffle_v2f64_00:
-; SSE3: # BB#0:
-; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSE3-NEXT: retq
-;
-; SSSE3-LABEL: shuffle_v2f64_00:
-; SSSE3: # BB#0:
-; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSSE3-NEXT: retq
-;
-; SSE41-LABEL: shuffle_v2f64_00:
-; SSE41: # BB#0:
-; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSE41-NEXT: retq
-;
-; AVX-LABEL: shuffle_v2f64_00:
-; AVX: # BB#0:
-; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
-; AVX-NEXT: retq
- %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 0, i32 0>
- ret <2 x double> %shuffle
+; +; SSE3-LABEL: shuffle_v2f64_00: +; SSE3: # BB#0: +; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSE3-NEXT: retq +; +; SSSE3-LABEL: shuffle_v2f64_00: +; SSSE3: # BB#0: +; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSSE3-NEXT: retq +; +; SSE41-LABEL: shuffle_v2f64_00: +; SSE41: # BB#0: +; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSE41-NEXT: retq +; +; AVX-LABEL: shuffle_v2f64_00: +; AVX: # BB#0: +; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0] +; AVX-NEXT: retq + %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 0, i32 0> + ret <2 x double> %shuffle } define <2 x double> @shuffle_v2f64_10(<2 x double> %a, <2 x double> %b) { ; SSE-LABEL: shuffle_v2f64_10: @@ -157,28 +157,28 @@ define <2 x double> @shuffle_v2f64_22(<2 x double> %a, <2 x double> %b) { ; SSE2-NEXT: movlhps {{.*#+}} xmm1 = xmm1[0,0] ; SSE2-NEXT: movaps %xmm1, %xmm0 ; SSE2-NEXT: retq -;
-; SSE3-LABEL: shuffle_v2f64_22:
-; SSE3: # BB#0:
-; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0]
-; SSE3-NEXT: retq
-;
-; SSSE3-LABEL: shuffle_v2f64_22:
-; SSSE3: # BB#0:
-; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0]
-; SSSE3-NEXT: retq
-;
-; SSE41-LABEL: shuffle_v2f64_22:
-; SSE41: # BB#0:
-; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0]
-; SSE41-NEXT: retq
-;
-; AVX-LABEL: shuffle_v2f64_22:
-; AVX: # BB#0:
-; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm1[0,0]
-; AVX-NEXT: retq
- %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 2, i32 2>
- ret <2 x double> %shuffle
+; +; SSE3-LABEL: shuffle_v2f64_22: +; SSE3: # BB#0: +; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0] +; SSE3-NEXT: retq +; +; SSSE3-LABEL: shuffle_v2f64_22: +; SSSE3: # BB#0: +; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0] +; SSSE3-NEXT: retq +; +; SSE41-LABEL: shuffle_v2f64_22: +; SSE41: # BB#0: +; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm1[0,0] +; SSE41-NEXT: retq +; +; AVX-LABEL: shuffle_v2f64_22: +; AVX: # BB#0: +; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm1[0,0] +; AVX-NEXT: retq + %shuffle = shufflevector <2 x double> %a, <2 x double> %b, <2 x i32> <i32 2, i32 2> + ret <2 x double> %shuffle } define <2 x double> @shuffle_v2f64_32(<2 x double> %a, <2 x double> %b) { ; SSE-LABEL: shuffle_v2f64_32: @@ -1058,28 +1058,28 @@ define <2 x double> @insert_dup_reg_v2f64(double %a) { ; SSE2: # BB#0: ; SSE2-NEXT: movlhps {{.*#+}} xmm0 = xmm0[0,0] ; SSE2-NEXT: retq -;
-; SSE3-LABEL: insert_dup_reg_v2f64:
-; SSE3: # BB#0:
-; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSE3-NEXT: retq
-;
-; SSSE3-LABEL: insert_dup_reg_v2f64:
-; SSSE3: # BB#0:
-; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSSE3-NEXT: retq
-;
-; SSE41-LABEL: insert_dup_reg_v2f64:
-; SSE41: # BB#0:
-; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
-; SSE41-NEXT: retq
-;
-; AVX-LABEL: insert_dup_reg_v2f64:
-; AVX: # BB#0:
-; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0]
-; AVX-NEXT: retq
- %v = insertelement <2 x double> undef, double %a, i32 0
- %shuffle = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> <i32 0, i32 0>
+; +; SSE3-LABEL: insert_dup_reg_v2f64: +; SSE3: # BB#0: +; SSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSE3-NEXT: retq +; +; SSSE3-LABEL: insert_dup_reg_v2f64: +; SSSE3: # BB#0: +; SSSE3-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSSE3-NEXT: retq +; +; SSE41-LABEL: insert_dup_reg_v2f64: +; SSE41: # BB#0: +; SSE41-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0] +; SSE41-NEXT: retq +; +; AVX-LABEL: insert_dup_reg_v2f64: +; AVX: # BB#0: +; AVX-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0] +; AVX-NEXT: retq + %v = insertelement <2 x double> undef, double %a, i32 0 + %shuffle = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> <i32 0, i32 0> ret <2 x double> %shuffle } define <2 x double> @insert_dup_mem_v2f64(double* %ptr) { |