From: Simon Pilgrim Date: Wed, 26 Jul 2017 10:47:51 +0000 (+0000) Subject: [X86][AVX2] Regenerated and cleaned up broadcast tests. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ba7df5db105cfea6ee361cd7c72b19fa312e4fc3;p=llvm [X86][AVX2] Regenerated and cleaned up broadcast tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309099 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/avx2-vbroadcast.ll b/test/CodeGen/X86/avx2-vbroadcast.ll index 318c9cfd8a3..8245d572d47 100644 --- a/test/CodeGen/X86/avx2-vbroadcast.ll +++ b/test/CodeGen/X86/avx2-vbroadcast.ll @@ -734,6 +734,7 @@ define void @crash() nounwind alwaysinline { ; X32-NEXT: LBB33_1: ## %footer349VF ; X32-NEXT: ## =>This Inner Loop Header: Depth=1 ; X32-NEXT: jmp LBB33_1 +; X32-NEXT: ## -- End function ; ; X64-LABEL: crash: ; X64: ## BB#0: ## %WGLoopsEntry @@ -746,6 +747,7 @@ define void @crash() nounwind alwaysinline { ; X64-NEXT: LBB33_1: ## %footer349VF ; X64-NEXT: ## =>This Inner Loop Header: Depth=1 ; X64-NEXT: jmp LBB33_1 +; X64-NEXT: ## -- End function WGLoopsEntry: br i1 undef, label %ret, label %footer329VF diff --git a/test/CodeGen/X86/avx2-vbroadcasti128.ll b/test/CodeGen/X86/avx2-vbroadcasti128.ll index fb149f704a1..21a16b4ba4d 100644 --- a/test/CodeGen/X86/avx2-vbroadcasti128.ll +++ b/test/CodeGen/X86/avx2-vbroadcasti128.ll @@ -1,17 +1,17 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+avx2 | FileCheck %s --check-prefix=X32 -; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+avx2 | FileCheck %s --check-prefix=X64 +; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=X32 +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=X64 define <4 x double> @test_broadcast_2f64_4f64(<2 x double> *%p) nounwind { ; X32-LABEL: test_broadcast_2f64_4f64: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vaddpd LCPI0_0, %ymm0, %ymm0 +; X32-NEXT: vaddpd {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_2f64_4f64: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vaddpd {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -23,14 +23,14 @@ define <4 x double> @test_broadcast_2f64_4f64(<2 x double> *%p) nounwind { define <4 x i64> @test_broadcast_2i64_4i64(<2 x i64> *%p) nounwind { ; X32-LABEL: test_broadcast_2i64_4i64: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vpaddq LCPI1_0, %ymm0, %ymm0 +; X32-NEXT: vpaddq {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_2i64_4i64: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vpaddq {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -42,14 +42,14 @@ define <4 x i64> @test_broadcast_2i64_4i64(<2 x i64> *%p) nounwind { define <8 x float> @test_broadcast_4f32_8f32(<4 x float> *%p) nounwind { ; X32-LABEL: test_broadcast_4f32_8f32: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vaddps LCPI2_0, %ymm0, %ymm0 +; X32-NEXT: vaddps {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_4f32_8f32: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vaddps {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -61,14 +61,14 @@ define <8 x float> @test_broadcast_4f32_8f32(<4 x float> *%p) nounwind { define <8 x i32> @test_broadcast_4i32_8i32(<4 x i32> *%p) nounwind { ; X32-LABEL: test_broadcast_4i32_8i32: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vpaddd LCPI3_0, %ymm0, %ymm0 +; X32-NEXT: vpaddd {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_4i32_8i32: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vpaddd {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -80,14 +80,14 @@ define <8 x i32> @test_broadcast_4i32_8i32(<4 x i32> *%p) nounwind { define <16 x i16> @test_broadcast_8i16_16i16(<8 x i16> *%p) nounwind { ; X32-LABEL: test_broadcast_8i16_16i16: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vpaddw LCPI4_0, %ymm0, %ymm0 +; X32-NEXT: vpaddw {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_8i16_16i16: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vpaddw {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -99,14 +99,14 @@ define <16 x i16> @test_broadcast_8i16_16i16(<8 x i16> *%p) nounwind { define <32 x i8> @test_broadcast_16i8_32i8(<16 x i8> *%p) nounwind { ; X32-LABEL: test_broadcast_16i8_32i8: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] -; X32-NEXT: vpaddb LCPI5_0, %ymm0, %ymm0 +; X32-NEXT: vpaddb {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_16i8_32i8: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1] ; X64-NEXT: vpaddb {{.*}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq @@ -118,17 +118,17 @@ define <32 x i8> @test_broadcast_16i8_32i8(<16 x i8> *%p) nounwind { define <4 x double> @test_broadcast_2f64_4f64_reuse(<2 x double>* %p0, <2 x double>* %p1) { ; X32-LABEL: test_broadcast_2f64_4f64_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovapd (%ecx), %xmm1 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vaddpd LCPI6_0, %ymm0, %ymm0 +; X32-NEXT: vaddpd {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovapd %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_2f64_4f64_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovapd (%rdi), %xmm1 ; X64-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vaddpd {{.*}}(%rip), %ymm0, %ymm0 @@ -143,17 +143,17 @@ define <4 x double> @test_broadcast_2f64_4f64_reuse(<2 x double>* %p0, <2 x doub define <4 x i64> @test_broadcast_2i64_4i64_reuse(<2 x i64>* %p0, <2 x i64>* %p1) { ; X32-LABEL: test_broadcast_2i64_4i64_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovdqa (%ecx), %xmm1 ; X32-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vpaddq LCPI7_0, %ymm0, %ymm0 +; X32-NEXT: vpaddq {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovdqa %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_2i64_4i64_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovdqa (%rdi), %xmm1 ; X64-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vpaddq {{.*}}(%rip), %ymm0, %ymm0 @@ -168,17 +168,17 @@ define <4 x i64> @test_broadcast_2i64_4i64_reuse(<2 x i64>* %p0, <2 x i64>* %p1) define <8 x float> @test_broadcast_4f32_8f32_reuse(<4 x float>* %p0, <4 x float>* %p1) { ; X32-LABEL: test_broadcast_4f32_8f32_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovaps (%ecx), %xmm1 ; X32-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vaddps LCPI8_0, %ymm0, %ymm0 +; X32-NEXT: vaddps {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovaps %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_4f32_8f32_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovaps (%rdi), %xmm1 ; X64-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vaddps {{.*}}(%rip), %ymm0, %ymm0 @@ -193,17 +193,17 @@ define <8 x float> @test_broadcast_4f32_8f32_reuse(<4 x float>* %p0, <4 x float> define <8 x i32> @test_broadcast_4i32_8i32_reuse(<4 x i32>* %p0, <4 x i32>* %p1) { ; X32-LABEL: test_broadcast_4i32_8i32_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovdqa (%ecx), %xmm1 ; X32-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vpaddd LCPI9_0, %ymm0, %ymm0 +; X32-NEXT: vpaddd {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovdqa %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_4i32_8i32_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovdqa (%rdi), %xmm1 ; X64-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vpaddd {{.*}}(%rip), %ymm0, %ymm0 @@ -218,17 +218,17 @@ define <8 x i32> @test_broadcast_4i32_8i32_reuse(<4 x i32>* %p0, <4 x i32>* %p1) define <16 x i16> @test_broadcast_8i16_16i16_reuse(<8 x i16> *%p0, <8 x i16> *%p1) nounwind { ; X32-LABEL: test_broadcast_8i16_16i16_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovdqa (%ecx), %xmm1 ; X32-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vpaddw LCPI10_0, %ymm0, %ymm0 +; X32-NEXT: vpaddw {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovdqa %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_8i16_16i16_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovdqa (%rdi), %xmm1 ; X64-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vpaddw {{.*}}(%rip), %ymm0, %ymm0 @@ -243,17 +243,17 @@ define <16 x i16> @test_broadcast_8i16_16i16_reuse(<8 x i16> *%p0, <8 x i16> *%p define <32 x i8> @test_broadcast_16i8_32i8_reuse(<16 x i8> *%p0, <16 x i8> *%p1) nounwind { ; X32-LABEL: test_broadcast_16i8_32i8_reuse: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovdqa (%ecx), %xmm1 ; X32-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 -; X32-NEXT: vpaddb LCPI11_0, %ymm0, %ymm0 +; X32-NEXT: vpaddb {{\.LCPI.*}}, %ymm0, %ymm0 ; X32-NEXT: vmovdqa %xmm1, (%eax) ; X32-NEXT: retl ; ; X64-LABEL: test_broadcast_16i8_32i8_reuse: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovdqa (%rdi), %xmm1 ; X64-NEXT: vinserti128 $1, %xmm1, %ymm1, %ymm0 ; X64-NEXT: vpaddb {{.*}}(%rip), %ymm0, %ymm0 @@ -268,7 +268,7 @@ define <32 x i8> @test_broadcast_16i8_32i8_reuse(<16 x i8> *%p0, <16 x i8> *%p1) define <8 x i32> @PR29088(<4 x i32>* %p0, <8 x float>* %p1) { ; X32-LABEL: PR29088: -; X32: ## BB#0: +; X32: # BB#0: ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax ; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx ; X32-NEXT: vmovaps (%ecx), %xmm0 @@ -278,7 +278,7 @@ define <8 x i32> @PR29088(<4 x i32>* %p0, <8 x float>* %p1) { ; X32-NEXT: retl ; ; X64-LABEL: PR29088: -; X64: ## BB#0: +; X64: # BB#0: ; X64-NEXT: vmovaps (%rdi), %xmm0 ; X64-NEXT: vxorps %ymm1, %ymm1, %ymm1 ; X64-NEXT: vmovaps %ymm1, (%rsi)