[llvm] ef0d90f - [X86] Regenerate avx-vbroadcast.ll
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 25 08:23:48 PST 2022
Author: Simon Pilgrim
Date: 2022-01-25T16:23:22Z
New Revision: ef0d90f682b169b3148ff66cb1f592d78adec2f3
URL: https://github.com/llvm/llvm-project/commit/ef0d90f682b169b3148ff66cb1f592d78adec2f3
DIFF: https://github.com/llvm/llvm-project/commit/ef0d90f682b169b3148ff66cb1f592d78adec2f3.diff
LOG: [X86] Regenerate avx-vbroadcast.ll
Remove '' around mattr to stop update script crash and use X86 prefixes instead of X32
Added:
Modified:
llvm/test/CodeGen/X86/avx-vbroadcast.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/X86/avx-vbroadcast.ll b/llvm/test/CodeGen/X86/avx-vbroadcast.ll
index 5ebe6709a2fe..df131f030baa 100644
--- a/llvm/test/CodeGen/X86/avx-vbroadcast.ll
+++ b/llvm/test/CodeGen/X86/avx-vbroadcast.ll
@@ -1,13 +1,13 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=i686-apple-darwin -mattr='+avx,+mmx' | FileCheck %s --check-prefix=X32
-; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr='+avx,+mmx' | FileCheck %s --check-prefix=X64
+; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+avx,+mmx | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+avx,+mmx | FileCheck %s --check-prefix=X64
define <4 x i64> @A(i64* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: A:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: A:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: A:
; X64: ## %bb.0: ## %entry
@@ -23,20 +23,20 @@ entry:
}
define <4 x i64> @A2(i64* %ptr, i64* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: A2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: pushl %esi
-; X32-NEXT: .cfi_def_cfa_offset 8
-; X32-NEXT: .cfi_offset %esi, -8
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: movl (%ecx), %edx
-; X32-NEXT: movl 4(%ecx), %esi
-; X32-NEXT: vbroadcastsd (%ecx), %ymm0
-; X32-NEXT: movl %edx, (%eax)
-; X32-NEXT: movl %esi, 4(%eax)
-; X32-NEXT: popl %esi
-; X32-NEXT: retl
+; X86-LABEL: A2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: pushl %esi
+; X86-NEXT: .cfi_def_cfa_offset 8
+; X86-NEXT: .cfi_offset %esi, -8
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl (%ecx), %edx
+; X86-NEXT: movl 4(%ecx), %esi
+; X86-NEXT: vbroadcastsd (%ecx), %ymm0
+; X86-NEXT: movl %edx, (%eax)
+; X86-NEXT: movl %esi, 4(%eax)
+; X86-NEXT: popl %esi
+; X86-NEXT: retl
;
; X64-LABEL: A2:
; X64: ## %bb.0: ## %entry
@@ -57,11 +57,11 @@ entry:
}
define <8 x i32> @B(i32* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: B:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: B:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: B:
; X64: ## %bb.0: ## %entry
@@ -77,11 +77,11 @@ entry:
}
define <8 x i32> @B2(i32* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: B2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: B2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: B2:
; X64: ## %bb.0: ## %entry
@@ -101,16 +101,16 @@ entry:
}
define <8 x i32> @B3(i32* %ptr, i32* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: B3:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: movl (%ecx), %ecx
-; X32-NEXT: movl %ecx, (%eax)
-; X32-NEXT: vmovd %ecx, %xmm0
-; X32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: B3:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl (%ecx), %ecx
+; X86-NEXT: movl %ecx, (%eax)
+; X86-NEXT: vmovd %ecx, %xmm0
+; X86-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: B3:
; X64: ## %bb.0: ## %entry
@@ -135,11 +135,11 @@ entry:
}
define <4 x double> @C(double* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: C:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: C:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: C:
; X64: ## %bb.0: ## %entry
@@ -155,13 +155,13 @@ entry:
}
define <4 x double> @C2(double* %ptr, double* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: C2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vbroadcastsd (%ecx), %ymm0
-; X32-NEXT: vmovlps %xmm0, (%eax)
-; X32-NEXT: retl
+; X86-LABEL: C2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vbroadcastsd (%ecx), %ymm0
+; X86-NEXT: vmovlps %xmm0, (%eax)
+; X86-NEXT: retl
;
; X64-LABEL: C2:
; X64: ## %bb.0: ## %entry
@@ -179,11 +179,11 @@ entry:
}
define <8 x float> @D(float* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: D:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: D:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: D:
; X64: ## %bb.0: ## %entry
@@ -199,11 +199,11 @@ entry:
}
define <8 x float> @D2(float* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: D2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: D2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: D2:
; X64: ## %bb.0: ## %entry
@@ -223,13 +223,13 @@ entry:
}
define <8 x float> @D3(float* %ptr, float* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: D3:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vbroadcastss (%ecx), %ymm0
-; X32-NEXT: vmovss %xmm0, (%eax)
-; X32-NEXT: retl
+; X86-LABEL: D3:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vbroadcastss (%ecx), %ymm0
+; X86-NEXT: vmovss %xmm0, (%eax)
+; X86-NEXT: retl
;
; X64-LABEL: D3:
; X64: ## %bb.0: ## %entry
@@ -253,11 +253,11 @@ entry:
;;;; 128-bit versions
define <4 x float> @e(float* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: e:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %xmm0
-; X32-NEXT: retl
+; X86-LABEL: e:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %xmm0
+; X86-NEXT: retl
;
; X64-LABEL: e:
; X64: ## %bb.0: ## %entry
@@ -273,13 +273,13 @@ entry:
}
define <4 x float> @e2(float* %ptr, float* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: e2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vbroadcastss (%ecx), %xmm0
-; X32-NEXT: vmovss %xmm0, (%eax)
-; X32-NEXT: retl
+; X86-LABEL: e2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vbroadcastss (%ecx), %xmm0
+; X86-NEXT: vmovss %xmm0, (%eax)
+; X86-NEXT: retl
;
; X64-LABEL: e2:
; X64: ## %bb.0: ## %entry
@@ -298,10 +298,10 @@ entry:
; Don't broadcast constants on pre-AVX2 hardware.
define <4 x float> @_e2(float* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: _e2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: vmovaps {{.*#+}} xmm0 = [-7.8125E-3,-7.8125E-3,-7.8125E-3,-7.8125E-3]
-; X32-NEXT: retl
+; X86-LABEL: _e2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: vmovaps {{.*#+}} xmm0 = [-7.8125E-3,-7.8125E-3,-7.8125E-3,-7.8125E-3]
+; X86-NEXT: retl
;
; X64-LABEL: _e2:
; X64: ## %bb.0: ## %entry
@@ -317,11 +317,11 @@ entry:
define <4 x i32> @F(i32* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: F:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %xmm0
-; X32-NEXT: retl
+; X86-LABEL: F:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %xmm0
+; X86-NEXT: retl
;
; X64-LABEL: F:
; X64: ## %bb.0: ## %entry
@@ -337,15 +337,15 @@ entry:
}
define <4 x i32> @F2(i32* %ptr, i32* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: F2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: movl (%ecx), %ecx
-; X32-NEXT: movl %ecx, (%eax)
-; X32-NEXT: vmovd %ecx, %xmm0
-; X32-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
-; X32-NEXT: retl
+; X86-LABEL: F2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl (%ecx), %ecx
+; X86-NEXT: movl %ecx, (%eax)
+; X86-NEXT: vmovd %ecx, %xmm0
+; X86-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
+; X86-NEXT: retl
;
; X64-LABEL: F2:
; X64: ## %bb.0: ## %entry
@@ -367,11 +367,11 @@ entry:
; FIXME: Pointer adjusted broadcasts
define <4 x i32> @load_splat_4i32_4i32_1111(<4 x i32>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4i32_4i32_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vpermilps {{.*#+}} xmm0 = mem[1,1,1,1]
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4i32_4i32_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vpermilps {{.*#+}} xmm0 = mem[1,1,1,1]
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4i32_4i32_1111:
; X64: ## %bb.0: ## %entry
@@ -384,11 +384,11 @@ entry:
}
define <8 x i32> @load_splat_8i32_4i32_33333333(<4 x i32>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_8i32_4i32_33333333:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss 12(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_8i32_4i32_33333333:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss 12(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_8i32_4i32_33333333:
; X64: ## %bb.0: ## %entry
@@ -401,11 +401,11 @@ entry:
}
define <8 x i32> @load_splat_8i32_8i32_55555555(<8 x i32>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_8i32_8i32_55555555:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss 20(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_8i32_8i32_55555555:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss 20(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_8i32_8i32_55555555:
; X64: ## %bb.0: ## %entry
@@ -418,11 +418,11 @@ entry:
}
define <4 x float> @load_splat_4f32_4f32_1111(<4 x float>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4f32_4f32_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss 4(%eax), %xmm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4f32_4f32_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss 4(%eax), %xmm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4f32_4f32_1111:
; X64: ## %bb.0: ## %entry
@@ -435,11 +435,11 @@ entry:
}
define <8 x float> @load_splat_8f32_4f32_33333333(<4 x float>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_8f32_4f32_33333333:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss 12(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_8f32_4f32_33333333:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss 12(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_8f32_4f32_33333333:
; X64: ## %bb.0: ## %entry
@@ -452,11 +452,11 @@ entry:
}
define <8 x float> @load_splat_8f32_8f32_55555555(<8 x float>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_8f32_8f32_55555555:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss 20(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_8f32_8f32_55555555:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss 20(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_8f32_8f32_55555555:
; X64: ## %bb.0: ## %entry
@@ -469,11 +469,11 @@ entry:
}
define <2 x i64> @load_splat_2i64_2i64_1111(<2 x i64>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_2i64_2i64_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]
-; X32-NEXT: retl
+; X86-LABEL: load_splat_2i64_2i64_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vpermilps {{.*#+}} xmm0 = mem[2,3,2,3]
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_2i64_2i64_1111:
; X64: ## %bb.0: ## %entry
@@ -486,11 +486,11 @@ entry:
}
define <4 x i64> @load_splat_4i64_2i64_1111(<2 x i64>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4i64_2i64_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd 8(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4i64_2i64_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd 8(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4i64_2i64_1111:
; X64: ## %bb.0: ## %entry
@@ -503,11 +503,11 @@ entry:
}
define <4 x i64> @load_splat_4i64_4i64_2222(<4 x i64>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4i64_4i64_2222:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd 16(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4i64_4i64_2222:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd 16(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4i64_4i64_2222:
; X64: ## %bb.0: ## %entry
@@ -520,11 +520,11 @@ entry:
}
define <2 x double> @load_splat_2f64_2f64_1111(<2 x double>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_2f64_2f64_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: retl
+; X86-LABEL: load_splat_2f64_2f64_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_2f64_2f64_1111:
; X64: ## %bb.0: ## %entry
@@ -537,11 +537,11 @@ entry:
}
define <4 x double> @load_splat_4f64_2f64_1111(<2 x double>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4f64_2f64_1111:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd 8(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4f64_2f64_1111:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd 8(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4f64_2f64_1111:
; X64: ## %bb.0: ## %entry
@@ -554,11 +554,11 @@ entry:
}
define <4 x double> @load_splat_4f64_4f64_2222(<4 x double>* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: load_splat_4f64_4f64_2222:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd 16(%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: load_splat_4f64_4f64_2222:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd 16(%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: load_splat_4f64_4f64_2222:
; X64: ## %bb.0: ## %entry
@@ -573,11 +573,11 @@ entry:
; Unsupported vbroadcasts
define <2 x i64> @G(i64* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: G:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: retl
+; X86-LABEL: G:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: retl
;
; X64-LABEL: G:
; X64: ## %bb.0: ## %entry
@@ -591,20 +591,20 @@ entry:
}
define <2 x i64> @G2(i64* %ptr, i64* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: G2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: pushl %esi
-; X32-NEXT: .cfi_def_cfa_offset 8
-; X32-NEXT: .cfi_offset %esi, -8
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: movl (%ecx), %edx
-; X32-NEXT: movl 4(%ecx), %esi
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: movl %edx, (%eax)
-; X32-NEXT: movl %esi, 4(%eax)
-; X32-NEXT: popl %esi
-; X32-NEXT: retl
+; X86-LABEL: G2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: pushl %esi
+; X86-NEXT: .cfi_def_cfa_offset 8
+; X86-NEXT: .cfi_offset %esi, -8
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl (%ecx), %edx
+; X86-NEXT: movl 4(%ecx), %esi
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: movl %edx, (%eax)
+; X86-NEXT: movl %esi, 4(%eax)
+; X86-NEXT: popl %esi
+; X86-NEXT: retl
;
; X64-LABEL: G2:
; X64: ## %bb.0: ## %entry
@@ -622,10 +622,10 @@ entry:
}
define <4 x i32> @H(<4 x i32> %a) {
-; X32-LABEL: H:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[1,1,1,1]
-; X32-NEXT: retl
+; X86-LABEL: H:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[1,1,1,1]
+; X86-NEXT: retl
;
; X64-LABEL: H:
; X64: ## %bb.0: ## %entry
@@ -637,11 +637,11 @@ entry:
}
define <2 x double> @I(double* %ptr) nounwind uwtable readnone ssp {
-; X32-LABEL: I:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: retl
+; X86-LABEL: I:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: retl
;
; X64-LABEL: I:
; X64: ## %bb.0: ## %entry
@@ -655,13 +655,13 @@ entry:
}
define <2 x double> @I2(double* %ptr, double* %ptr2) nounwind uwtable readnone ssp {
-; X32-LABEL: I2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: vmovlps %xmm0, (%eax)
-; X32-NEXT: retl
+; X86-LABEL: I2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: vmovlps %xmm0, (%eax)
+; X86-NEXT: retl
;
; X64-LABEL: I2:
; X64: ## %bb.0: ## %entry
@@ -677,14 +677,14 @@ entry:
}
define <4 x float> @_RR(float* %ptr, i32* %k) nounwind uwtable readnone ssp {
-; X32-LABEL: _RR:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vbroadcastss (%ecx), %xmm0
-; X32-NEXT: movl (%eax), %eax
-; X32-NEXT: movl %eax, (%eax)
-; X32-NEXT: retl
+; X86-LABEL: _RR:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vbroadcastss (%ecx), %xmm0
+; X86-NEXT: movl (%eax), %eax
+; X86-NEXT: movl %eax, (%eax)
+; X86-NEXT: retl
;
; X64-LABEL: _RR:
; X64: ## %bb.0: ## %entry
@@ -705,11 +705,11 @@ entry:
}
define <4 x float> @_RR2(float* %ptr, i32* %k) nounwind uwtable readnone ssp {
-; X32-LABEL: _RR2:
-; X32: ## %bb.0: ## %entry
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %xmm0
-; X32-NEXT: retl
+; X86-LABEL: _RR2:
+; X86: ## %bb.0: ## %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %xmm0
+; X86-NEXT: retl
;
; X64-LABEL: _RR2:
; X64: ## %bb.0: ## %entry
@@ -727,11 +727,11 @@ entry:
; (via the insertelements).
define <8 x float> @splat_concat1(float* %p) {
-; X32-LABEL: splat_concat1:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: splat_concat1:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: splat_concat1:
; X64: ## %bb.0:
@@ -747,11 +747,11 @@ define <8 x float> @splat_concat1(float* %p) {
}
define <8 x float> @splat_concat2(float* %p) {
-; X32-LABEL: splat_concat2:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastss (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: splat_concat2:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastss (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: splat_concat2:
; X64: ## %bb.0:
@@ -771,11 +771,11 @@ define <8 x float> @splat_concat2(float* %p) {
}
define <4 x double> @splat_concat3(double* %p) {
-; X32-LABEL: splat_concat3:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: splat_concat3:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: splat_concat3:
; X64: ## %bb.0:
@@ -789,11 +789,11 @@ define <4 x double> @splat_concat3(double* %p) {
}
define <4 x double> @splat_concat4(double* %p) {
-; X32-LABEL: splat_concat4:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: splat_concat4:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: splat_concat4:
; X64: ## %bb.0:
@@ -810,11 +810,11 @@ define <4 x double> @splat_concat4(double* %p) {
; PR34041
define <4 x double> @broadcast_shuffle_1000(double* %p) {
-; X32-LABEL: broadcast_shuffle_1000:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: broadcast_shuffle_1000:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_shuffle_1000:
; X64: ## %bb.0:
@@ -827,11 +827,11 @@ define <4 x double> @broadcast_shuffle_1000(double* %p) {
}
define <4 x double> @broadcast_shuffle1032(double* %p) {
-; X32-LABEL: broadcast_shuffle1032:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: broadcast_shuffle1032:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_shuffle1032:
; X64: ## %bb.0:
@@ -845,15 +845,15 @@ define <4 x double> @broadcast_shuffle1032(double* %p) {
}
define void @broadcast_v16i32(i32* %a, <16 x i32>* %b) {
-; X32-LABEL: broadcast_v16i32:
-; X32: ## %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vbroadcastss (%ecx), %ymm0
-; X32-NEXT: vmovups %ymm0, 32(%eax)
-; X32-NEXT: vmovups %ymm0, (%eax)
-; X32-NEXT: vzeroupper
-; X32-NEXT: retl
+; X86-LABEL: broadcast_v16i32:
+; X86: ## %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vbroadcastss (%ecx), %ymm0
+; X86-NEXT: vmovups %ymm0, 32(%eax)
+; X86-NEXT: vmovups %ymm0, (%eax)
+; X86-NEXT: vzeroupper
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_v16i32:
; X64: ## %bb.0:
@@ -874,21 +874,21 @@ define void @broadcast_v16i32(i32* %a, <16 x i32>* %b) {
; Broadcast scale factor for xyz vector - slp will have vectorized xy.
;
define double @broadcast_scale_xyz(double* nocapture readonly, double* nocapture readonly) nounwind {
-; X32-LABEL: broadcast_scale_xyz:
-; X32: ## %bb.0:
-; X32-NEXT: subl $12, %esp
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: vmulpd (%eax), %xmm0, %xmm1
-; X32-NEXT: vmulsd 16(%eax), %xmm0, %xmm0
-; X32-NEXT: vpermilpd {{.*#+}} xmm2 = xmm1[1,0]
-; X32-NEXT: vaddsd %xmm2, %xmm1, %xmm1
-; X32-NEXT: vaddsd %xmm1, %xmm0, %xmm0
-; X32-NEXT: vmovsd %xmm0, (%esp)
-; X32-NEXT: fldl (%esp)
-; X32-NEXT: addl $12, %esp
-; X32-NEXT: retl
+; X86-LABEL: broadcast_scale_xyz:
+; X86: ## %bb.0:
+; X86-NEXT: subl $12, %esp
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: vmulpd (%eax), %xmm0, %xmm1
+; X86-NEXT: vmulsd 16(%eax), %xmm0, %xmm0
+; X86-NEXT: vpermilpd {{.*#+}} xmm2 = xmm1[1,0]
+; X86-NEXT: vaddsd %xmm2, %xmm1, %xmm1
+; X86-NEXT: vaddsd %xmm1, %xmm0, %xmm0
+; X86-NEXT: vmovsd %xmm0, (%esp)
+; X86-NEXT: fldl (%esp)
+; X86-NEXT: addl $12, %esp
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_scale_xyz:
; X64: ## %bb.0:
@@ -919,24 +919,24 @@ define double @broadcast_scale_xyz(double* nocapture readonly, double* nocapture
; When VBROADCAST replaces an existing load, ensure it still respects lifetime dependencies.
;
define float @broadcast_lifetime() nounwind {
-; X32-LABEL: broadcast_lifetime:
-; X32: ## %bb.0:
-; X32-NEXT: pushl %esi
-; X32-NEXT: subl $40, %esp
-; X32-NEXT: leal {{[0-9]+}}(%esp), %esi
-; X32-NEXT: movl %esi, (%esp)
-; X32-NEXT: calll _gfunc
-; X32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; X32-NEXT: vmovss %xmm0, {{[-0-9]+}}(%e{{[sb]}}p) ## 4-byte Spill
-; X32-NEXT: movl %esi, (%esp)
-; X32-NEXT: calll _gfunc
-; X32-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; X32-NEXT: vsubss {{[-0-9]+}}(%e{{[sb]}}p), %xmm0, %xmm0 ## 4-byte Folded Reload
-; X32-NEXT: vmovss %xmm0, {{[0-9]+}}(%esp)
-; X32-NEXT: flds {{[0-9]+}}(%esp)
-; X32-NEXT: addl $40, %esp
-; X32-NEXT: popl %esi
-; X32-NEXT: retl
+; X86-LABEL: broadcast_lifetime:
+; X86: ## %bb.0:
+; X86-NEXT: pushl %esi
+; X86-NEXT: subl $40, %esp
+; X86-NEXT: leal {{[0-9]+}}(%esp), %esi
+; X86-NEXT: movl %esi, (%esp)
+; X86-NEXT: calll _gfunc
+; X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; X86-NEXT: vmovss %xmm0, {{[-0-9]+}}(%e{{[sb]}}p) ## 4-byte Spill
+; X86-NEXT: movl %esi, (%esp)
+; X86-NEXT: calll _gfunc
+; X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; X86-NEXT: vsubss {{[-0-9]+}}(%e{{[sb]}}p), %xmm0, %xmm0 ## 4-byte Folded Reload
+; X86-NEXT: vmovss %xmm0, {{[0-9]+}}(%esp)
+; X86-NEXT: flds {{[0-9]+}}(%esp)
+; X86-NEXT: addl $40, %esp
+; X86-NEXT: popl %esi
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_lifetime:
; X64: ## %bb.0:
@@ -973,14 +973,14 @@ define float @broadcast_lifetime() nounwind {
}
define <8 x i16> @broadcast_x86_mmx(x86_mmx %tmp) nounwind {
-; X32-LABEL: broadcast_x86_mmx:
-; X32: ## %bb.0: ## %bb
-; X32-NEXT: subl $12, %esp
-; X32-NEXT: movq %mm0, (%esp)
-; X32-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
-; X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,1,0,1]
-; X32-NEXT: addl $12, %esp
-; X32-NEXT: retl
+; X86-LABEL: broadcast_x86_mmx:
+; X86: ## %bb.0: ## %bb
+; X86-NEXT: subl $12, %esp
+; X86-NEXT: movq %mm0, (%esp)
+; X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
+; X86-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[0,1,0,1]
+; X86-NEXT: addl $12, %esp
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_x86_mmx:
; X64: ## %bb.0: ## %bb
More information about the llvm-commits
mailing list