[llvm] d06a445 - [X86] subvector-broadcast.ll - replace X32 check prefix with X86. NFC.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 17 08:17:14 PST 2020
Author: Simon Pilgrim
Date: 2020-11-17T16:16:50Z
New Revision: d06a445ca4c9848d04dfc1bae367f4141a6130b4
URL: https://github.com/llvm/llvm-project/commit/d06a445ca4c9848d04dfc1bae367f4141a6130b4
DIFF: https://github.com/llvm/llvm-project/commit/d06a445ca4c9848d04dfc1bae367f4141a6130b4.diff
LOG: [X86] subvector-broadcast.ll - replace X32 check prefix with X86. NFC.
We typically use X32 for gnux32 triples
Added:
Modified:
llvm/test/CodeGen/X86/subvector-broadcast.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/X86/subvector-broadcast.ll b/llvm/test/CodeGen/X86/subvector-broadcast.ll
index be2e4ff51546..d07cd0a23137 100644
--- a/llvm/test/CodeGen/X86/subvector-broadcast.ll
+++ b/llvm/test/CodeGen/X86/subvector-broadcast.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X32,X32-AVX,X32-AVX1
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X32,X32-AVX,X32-AVX2
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X32,X32-AVX512
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefixes=X32,X32-AVX512
-; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X32,X32-AVX512
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX1
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X86,X86-AVX,X86-AVX2
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512bw,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512dq,+avx512vl | FileCheck %s --check-prefixes=X86,X86-AVX512
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX1
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=X64,X64-AVX,X64-AVX2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=X64,X64-AVX512
@@ -15,11 +15,11 @@
;
define <4 x double> @test_broadcast_2f64_4f64(<2 x double> *%p) nounwind {
-; X32-LABEL: test_broadcast_2f64_4f64:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_2f64_4f64:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_2f64_4f64:
; X64: # %bb.0:
@@ -31,18 +31,18 @@ define <4 x double> @test_broadcast_2f64_4f64(<2 x double> *%p) nounwind {
}
define <8 x double> @test_broadcast_2f64_8f64(<2 x double> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_2f64_8f64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_2f64_8f64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_2f64_8f64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_2f64_8f64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_2f64_8f64:
; X64-AVX: # %bb.0:
@@ -60,18 +60,18 @@ define <8 x double> @test_broadcast_2f64_8f64(<2 x double> *%p) nounwind {
}
define <8 x double> @test_broadcast_4f64_8f64(<4 x double> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_4f64_8f64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4f64_8f64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4f64_8f64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4f64_8f64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4f64_8f64:
; X64-AVX: # %bb.0:
@@ -89,17 +89,17 @@ define <8 x double> @test_broadcast_4f64_8f64(<4 x double> *%p) nounwind {
}
define <4 x i64> @test_broadcast_2i64_4i64(<2 x i64> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_2i64_4i64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_2i64_4i64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_2i64_4i64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_2i64_4i64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_2i64_4i64:
; X64-AVX: # %bb.0:
@@ -116,18 +116,18 @@ define <4 x i64> @test_broadcast_2i64_4i64(<2 x i64> *%p) nounwind {
}
define <8 x i64> @test_broadcast_2i64_8i64(<2 x i64> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_2i64_8i64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_2i64_8i64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_2i64_8i64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_2i64_8i64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_2i64_8i64:
; X64-AVX: # %bb.0:
@@ -145,18 +145,18 @@ define <8 x i64> @test_broadcast_2i64_8i64(<2 x i64> *%p) nounwind {
}
define <8 x i64> @test_broadcast_4i64_8i64(<4 x i64> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_4i64_8i64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4i64_8i64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4i64_8i64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4i64_8i64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4i64_8i64:
; X64-AVX: # %bb.0:
@@ -174,11 +174,11 @@ define <8 x i64> @test_broadcast_4i64_8i64(<4 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_4f32_8f32:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_4f32_8f32:
; X64: # %bb.0:
@@ -190,18 +190,18 @@ define <8 x float> @test_broadcast_4f32_8f32(<4 x float> *%p) nounwind {
}
define <16 x float> @test_broadcast_4f32_16f32(<4 x float> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_4f32_16f32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4f32_16f32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4f32_16f32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4f32_16f32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4f32_16f32:
; X64-AVX: # %bb.0:
@@ -219,18 +219,18 @@ define <16 x float> @test_broadcast_4f32_16f32(<4 x float> *%p) nounwind {
}
define <16 x float> @test_broadcast_8f32_16f32(<8 x float> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_8f32_16f32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_8f32_16f32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_8f32_16f32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_8f32_16f32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_8f32_16f32:
; X64-AVX: # %bb.0:
@@ -248,17 +248,17 @@ define <16 x float> @test_broadcast_8f32_16f32(<8 x float> *%p) nounwind {
}
define <8 x i32> @test_broadcast_4i32_8i32(<4 x i32> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_4i32_8i32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4i32_8i32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4i32_8i32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4i32_8i32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4i32_8i32:
; X64-AVX: # %bb.0:
@@ -275,18 +275,18 @@ define <8 x i32> @test_broadcast_4i32_8i32(<4 x i32> *%p) nounwind {
}
define <16 x i32> @test_broadcast_4i32_16i32(<4 x i32> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_4i32_16i32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4i32_16i32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4i32_16i32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4i32_16i32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4i32_16i32:
; X64-AVX: # %bb.0:
@@ -304,18 +304,18 @@ define <16 x i32> @test_broadcast_4i32_16i32(<4 x i32> *%p) nounwind {
}
define <16 x i32> @test_broadcast_8i32_16i32(<8 x i32> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_8i32_16i32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_8i32_16i32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_8i32_16i32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_8i32_16i32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_8i32_16i32:
; X64-AVX: # %bb.0:
@@ -333,17 +333,17 @@ define <16 x i32> @test_broadcast_8i32_16i32(<8 x i32> *%p) nounwind {
}
define <16 x i16> @test_broadcast_8i16_16i16(<8 x i16> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_8i16_16i16:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_8i16_16i16:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_8i16_16i16:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_8i16_16i16:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_8i16_16i16:
; X64-AVX: # %bb.0:
@@ -360,18 +360,18 @@ define <16 x i16> @test_broadcast_8i16_16i16(<8 x i16> *%p) nounwind {
}
define <32 x i16> @test_broadcast_8i16_32i16(<8 x i16> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_8i16_32i16:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_8i16_32i16:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_8i16_32i16:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_8i16_32i16:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_8i16_32i16:
; X64-AVX: # %bb.0:
@@ -389,18 +389,18 @@ define <32 x i16> @test_broadcast_8i16_32i16(<8 x i16> *%p) nounwind {
}
define <32 x i16> @test_broadcast_16i16_32i16(<16 x i16> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_16i16_32i16:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_16i16_32i16:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_16i16_32i16:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_16i16_32i16:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_16i16_32i16:
; X64-AVX: # %bb.0:
@@ -418,17 +418,17 @@ define <32 x i16> @test_broadcast_16i16_32i16(<16 x i16> *%p) nounwind {
}
define <32 x i8> @test_broadcast_16i8_32i8(<16 x i8> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_16i8_32i8:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_16i8_32i8:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_16i8_32i8:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_16i8_32i8:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_16i8_32i8:
; X64-AVX: # %bb.0:
@@ -445,18 +445,18 @@ define <32 x i8> @test_broadcast_16i8_32i8(<16 x i8> *%p) nounwind {
}
define <64 x i8> @test_broadcast_16i8_64i8(<16 x i8> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_16i8_64i8:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_16i8_64i8:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_16i8_64i8:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_16i8_64i8:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_16i8_64i8:
; X64-AVX: # %bb.0:
@@ -474,18 +474,18 @@ define <64 x i8> @test_broadcast_16i8_64i8(<16 x i8> *%p) nounwind {
}
define <64 x i8> @test_broadcast_32i8_64i8(<32 x i8> *%p) nounwind {
-; X32-AVX-LABEL: test_broadcast_32i8_64i8:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vmovaps (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_32i8_64i8:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_32i8_64i8:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vmovaps (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_32i8_64i8:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcasti64x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_32i8_64i8:
; X64-AVX: # %bb.0:
@@ -507,14 +507,14 @@ define <64 x i8> @test_broadcast_32i8_64i8(<32 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_2f64_4f64_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_2f64_4f64_reuse:
; X64: # %bb.0:
@@ -529,14 +529,14 @@ 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_2i64_4i64_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_2i64_4i64_reuse:
; X64: # %bb.0:
@@ -551,14 +551,14 @@ 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_4f32_8f32_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_4f32_8f32_reuse:
; X64: # %bb.0:
@@ -573,14 +573,14 @@ 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_4i32_8i32_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_4i32_8i32_reuse:
; X64: # %bb.0:
@@ -595,14 +595,14 @@ 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_8i16_16i16_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_8i16_16i16_reuse:
; X64: # %bb.0:
@@ -617,14 +617,14 @@ 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-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: vmovaps (%ecx), %xmm0
-; X32-NEXT: vmovaps %xmm0, (%eax)
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_broadcast_16i8_32i8_reuse:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: vmovaps (%ecx), %xmm0
+; X86-NEXT: vmovaps %xmm0, (%eax)
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_broadcast_16i8_32i8_reuse:
; X64: # %bb.0:
@@ -643,23 +643,23 @@ define <32 x i8> @test_broadcast_16i8_32i8_reuse(<16 x i8> *%p0, <16 x i8> *%p1)
;
define <8 x i32> @test_broadcast_4i32_8i32_chain(<4 x i32>* %p0, <4 x float>* %p1) {
-; X32-AVX-LABEL: test_broadcast_4i32_8i32_chain:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %xmm1, (%eax)
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4i32_8i32_chain:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-AVX512-NEXT: vxorps %xmm1, %xmm1, %xmm1
-; X32-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX512-NEXT: vmovaps %xmm1, (%eax)
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4i32_8i32_chain:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %xmm1, (%eax)
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4i32_8i32_chain:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-AVX512-NEXT: vxorps %xmm1, %xmm1, %xmm1
+; X86-AVX512-NEXT: vbroadcasti128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX512-NEXT: vmovaps %xmm1, (%eax)
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4i32_8i32_chain:
; X64-AVX: # %bb.0:
@@ -681,24 +681,24 @@ define <8 x i32> @test_broadcast_4i32_8i32_chain(<4 x i32>* %p0, <4 x float>* %p
}
define <16 x i32> @test_broadcast_4i32_16i32_chain(<4 x i32>* %p0, <4 x float>* %p1) {
-; X32-AVX-LABEL: test_broadcast_4i32_16i32_chain:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %xmm1, (%eax)
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_broadcast_4i32_16i32_chain:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-AVX512-NEXT: vxorps %xmm1, %xmm1, %xmm1
-; X32-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: vmovaps %xmm1, (%eax)
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_broadcast_4i32_16i32_chain:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-AVX-NEXT: vxorps %xmm1, %xmm1, %xmm1
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %xmm1, (%eax)
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_broadcast_4i32_16i32_chain:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-AVX512-NEXT: vxorps %xmm1, %xmm1, %xmm1
+; X86-AVX512-NEXT: vbroadcasti32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: vmovaps %xmm1, (%eax)
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_broadcast_4i32_16i32_chain:
; X64-AVX: # %bb.0:
@@ -729,56 +729,56 @@ define <16 x i32> @test_broadcast_4i32_16i32_chain(<4 x i32>* %p0, <4 x float>*
@gb4 = global <8 x i64> zeroinitializer, align 8
define void @fallback_broadcast_v4i64_to_v8i64(<4 x i64> %a, <8 x i64> %b) {
-; X32-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64:
-; X32-AVX1: # %bb.0: # %entry
-; X32-AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,0,2,0]
-; X32-AVX1-NEXT: vpaddq %xmm3, %xmm0, %xmm4
-; X32-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; X32-AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [3,0,4,0]
-; X32-AVX1-NEXT: vpaddq %xmm5, %xmm0, %xmm0
-; X32-AVX1-NEXT: vmovaps {{.*#+}} ymm6 = [1,0,2,0,3,0,4,0]
-; X32-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm7
-; X32-AVX1-NEXT: vpaddq %xmm5, %xmm7, %xmm7
-; X32-AVX1-NEXT: vpaddq %xmm3, %xmm2, %xmm2
-; X32-AVX1-NEXT: vinsertf128 $1, %xmm7, %ymm2, %ymm2
-; X32-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm7
-; X32-AVX1-NEXT: vpaddq %xmm5, %xmm7, %xmm5
-; X32-AVX1-NEXT: vpaddq %xmm3, %xmm1, %xmm1
-; X32-AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm1, %ymm1
-; X32-AVX1-NEXT: vandps %ymm6, %ymm1, %ymm1
-; X32-AVX1-NEXT: vandps %ymm6, %ymm2, %ymm2
-; X32-AVX1-NEXT: vmovdqu %xmm0, ga4+16
-; X32-AVX1-NEXT: vmovdqu %xmm4, ga4
-; X32-AVX1-NEXT: vmovups %ymm2, gb4+32
-; X32-AVX1-NEXT: vmovups %ymm1, gb4
-; X32-AVX1-NEXT: vzeroupper
-; X32-AVX1-NEXT: retl
-;
-; X32-AVX2-LABEL: fallback_broadcast_v4i64_to_v8i64:
-; X32-AVX2: # %bb.0: # %entry
-; X32-AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [1,0,2,0,3,0,4,0]
-; X32-AVX2-NEXT: vpaddq %ymm3, %ymm0, %ymm0
-; X32-AVX2-NEXT: vpaddq %ymm3, %ymm2, %ymm2
-; X32-AVX2-NEXT: vpaddq %ymm3, %ymm1, %ymm1
-; X32-AVX2-NEXT: vpand %ymm3, %ymm1, %ymm1
-; X32-AVX2-NEXT: vpand %ymm3, %ymm2, %ymm2
-; X32-AVX2-NEXT: vmovdqu %ymm0, ga4
-; X32-AVX2-NEXT: vmovdqu %ymm2, gb4+32
-; X32-AVX2-NEXT: vmovdqu %ymm1, gb4
-; X32-AVX2-NEXT: vzeroupper
-; X32-AVX2-NEXT: retl
-;
-; X32-AVX512-LABEL: fallback_broadcast_v4i64_to_v8i64:
-; X32-AVX512: # %bb.0: # %entry
-; X32-AVX512-NEXT: vmovdqa {{.*#+}} ymm2 = [1,0,2,0,3,0,4,0]
-; X32-AVX512-NEXT: vpaddq %ymm2, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinserti64x4 $1, %ymm2, %zmm2, %zmm2
-; X32-AVX512-NEXT: vpaddq %zmm2, %zmm1, %zmm1
-; X32-AVX512-NEXT: vpandq %zmm2, %zmm1, %zmm1
-; X32-AVX512-NEXT: vmovdqu %ymm0, ga4
-; X32-AVX512-NEXT: vmovdqu64 %zmm1, gb4
-; X32-AVX512-NEXT: vzeroupper
-; X32-AVX512-NEXT: retl
+; X86-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64:
+; X86-AVX1: # %bb.0: # %entry
+; X86-AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,0,2,0]
+; X86-AVX1-NEXT: vpaddq %xmm3, %xmm0, %xmm4
+; X86-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
+; X86-AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [3,0,4,0]
+; X86-AVX1-NEXT: vpaddq %xmm5, %xmm0, %xmm0
+; X86-AVX1-NEXT: vmovaps {{.*#+}} ymm6 = [1,0,2,0,3,0,4,0]
+; X86-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm7
+; X86-AVX1-NEXT: vpaddq %xmm5, %xmm7, %xmm7
+; X86-AVX1-NEXT: vpaddq %xmm3, %xmm2, %xmm2
+; X86-AVX1-NEXT: vinsertf128 $1, %xmm7, %ymm2, %ymm2
+; X86-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm7
+; X86-AVX1-NEXT: vpaddq %xmm5, %xmm7, %xmm5
+; X86-AVX1-NEXT: vpaddq %xmm3, %xmm1, %xmm1
+; X86-AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm1, %ymm1
+; X86-AVX1-NEXT: vandps %ymm6, %ymm1, %ymm1
+; X86-AVX1-NEXT: vandps %ymm6, %ymm2, %ymm2
+; X86-AVX1-NEXT: vmovdqu %xmm0, ga4+16
+; X86-AVX1-NEXT: vmovdqu %xmm4, ga4
+; X86-AVX1-NEXT: vmovups %ymm2, gb4+32
+; X86-AVX1-NEXT: vmovups %ymm1, gb4
+; X86-AVX1-NEXT: vzeroupper
+; X86-AVX1-NEXT: retl
+;
+; X86-AVX2-LABEL: fallback_broadcast_v4i64_to_v8i64:
+; X86-AVX2: # %bb.0: # %entry
+; X86-AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [1,0,2,0,3,0,4,0]
+; X86-AVX2-NEXT: vpaddq %ymm3, %ymm0, %ymm0
+; X86-AVX2-NEXT: vpaddq %ymm3, %ymm2, %ymm2
+; X86-AVX2-NEXT: vpaddq %ymm3, %ymm1, %ymm1
+; X86-AVX2-NEXT: vpand %ymm3, %ymm1, %ymm1
+; X86-AVX2-NEXT: vpand %ymm3, %ymm2, %ymm2
+; X86-AVX2-NEXT: vmovdqu %ymm0, ga4
+; X86-AVX2-NEXT: vmovdqu %ymm2, gb4+32
+; X86-AVX2-NEXT: vmovdqu %ymm1, gb4
+; X86-AVX2-NEXT: vzeroupper
+; X86-AVX2-NEXT: retl
+;
+; X86-AVX512-LABEL: fallback_broadcast_v4i64_to_v8i64:
+; X86-AVX512: # %bb.0: # %entry
+; X86-AVX512-NEXT: vmovdqa {{.*#+}} ymm2 = [1,0,2,0,3,0,4,0]
+; X86-AVX512-NEXT: vpaddq %ymm2, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinserti64x4 $1, %ymm2, %zmm2, %zmm2
+; X86-AVX512-NEXT: vpaddq %zmm2, %zmm1, %zmm1
+; X86-AVX512-NEXT: vpandq %zmm2, %zmm1, %zmm1
+; X86-AVX512-NEXT: vmovdqu %ymm0, ga4
+; X86-AVX512-NEXT: vmovdqu64 %zmm1, gb4
+; X86-AVX512-NEXT: vzeroupper
+; X86-AVX512-NEXT: retl
;
; X64-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64:
; X64-AVX1: # %bb.0: # %entry
@@ -844,31 +844,31 @@ entry:
@gb2 = global <8 x double> zeroinitializer, align 8
define void @fallback_broadcast_v4f64_to_v8f64(<4 x double> %a, <8 x double> %b) {
-; X32-AVX-LABEL: fallback_broadcast_v4f64_to_v8f64:
-; X32-AVX: # %bb.0: # %entry
-; X32-AVX-NEXT: vmovapd {{.*#+}} ymm3 = [1.0E+0,2.0E+0,3.0E+0,4.0E+0]
-; X32-AVX-NEXT: vaddpd %ymm3, %ymm0, %ymm0
-; X32-AVX-NEXT: vaddpd %ymm3, %ymm2, %ymm2
-; X32-AVX-NEXT: vaddpd %ymm3, %ymm1, %ymm1
-; X32-AVX-NEXT: vdivpd %ymm3, %ymm1, %ymm1
-; X32-AVX-NEXT: vdivpd %ymm3, %ymm2, %ymm2
-; X32-AVX-NEXT: vmovupd %ymm0, ga2
-; X32-AVX-NEXT: vmovupd %ymm2, gb2+32
-; X32-AVX-NEXT: vmovupd %ymm1, gb2
-; X32-AVX-NEXT: vzeroupper
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: fallback_broadcast_v4f64_to_v8f64:
-; X32-AVX512: # %bb.0: # %entry
-; X32-AVX512-NEXT: vmovapd {{.*#+}} ymm2 = [1.0E+0,2.0E+0,3.0E+0,4.0E+0]
-; X32-AVX512-NEXT: vaddpd %ymm2, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm2, %zmm2, %zmm2
-; X32-AVX512-NEXT: vaddpd %zmm2, %zmm1, %zmm1
-; X32-AVX512-NEXT: vdivpd %zmm2, %zmm1, %zmm1
-; X32-AVX512-NEXT: vmovupd %ymm0, ga2
-; X32-AVX512-NEXT: vmovupd %zmm1, gb2
-; X32-AVX512-NEXT: vzeroupper
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: fallback_broadcast_v4f64_to_v8f64:
+; X86-AVX: # %bb.0: # %entry
+; X86-AVX-NEXT: vmovapd {{.*#+}} ymm3 = [1.0E+0,2.0E+0,3.0E+0,4.0E+0]
+; X86-AVX-NEXT: vaddpd %ymm3, %ymm0, %ymm0
+; X86-AVX-NEXT: vaddpd %ymm3, %ymm2, %ymm2
+; X86-AVX-NEXT: vaddpd %ymm3, %ymm1, %ymm1
+; X86-AVX-NEXT: vdivpd %ymm3, %ymm1, %ymm1
+; X86-AVX-NEXT: vdivpd %ymm3, %ymm2, %ymm2
+; X86-AVX-NEXT: vmovupd %ymm0, ga2
+; X86-AVX-NEXT: vmovupd %ymm2, gb2+32
+; X86-AVX-NEXT: vmovupd %ymm1, gb2
+; X86-AVX-NEXT: vzeroupper
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: fallback_broadcast_v4f64_to_v8f64:
+; X86-AVX512: # %bb.0: # %entry
+; X86-AVX512-NEXT: vmovapd {{.*#+}} ymm2 = [1.0E+0,2.0E+0,3.0E+0,4.0E+0]
+; X86-AVX512-NEXT: vaddpd %ymm2, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm2, %zmm2, %zmm2
+; X86-AVX512-NEXT: vaddpd %zmm2, %zmm1, %zmm1
+; X86-AVX512-NEXT: vdivpd %zmm2, %zmm1, %zmm1
+; X86-AVX512-NEXT: vmovupd %ymm0, ga2
+; X86-AVX512-NEXT: vmovupd %zmm1, gb2
+; X86-AVX512-NEXT: vzeroupper
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: fallback_broadcast_v4f64_to_v8f64:
; X64-AVX: # %bb.0: # %entry
@@ -909,11 +909,11 @@ entry:
;
define <4 x double> @reg_broadcast_2f64_4f64(<2 x double> %a0) nounwind {
-; X32-LABEL: reg_broadcast_2f64_4f64:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_2f64_4f64:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_2f64_4f64:
; X64: # %bb.0:
@@ -925,19 +925,19 @@ define <4 x double> @reg_broadcast_2f64_4f64(<2 x double> %a0) nounwind {
}
define <8 x double> @reg_broadcast_2f64_8f64(<2 x double> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_2f64_8f64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_2f64_8f64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_2f64_8f64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_2f64_8f64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_2f64_8f64:
; X64-AVX: # %bb.0:
@@ -957,16 +957,16 @@ define <8 x double> @reg_broadcast_2f64_8f64(<2 x double> %a0) nounwind {
}
define <8 x double> @reg_broadcast_4f64_8f64(<4 x double> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_4f64_8f64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_4f64_8f64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_4f64_8f64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_4f64_8f64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_4f64_8f64:
; X64-AVX: # %bb.0:
@@ -983,11 +983,11 @@ define <8 x double> @reg_broadcast_4f64_8f64(<4 x double> %a0) nounwind {
}
define <4 x i64> @reg_broadcast_2i64_4i64(<2 x i64> %a0) nounwind {
-; X32-LABEL: reg_broadcast_2i64_4i64:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_2i64_4i64:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_2i64_4i64:
; X64: # %bb.0:
@@ -999,19 +999,19 @@ define <4 x i64> @reg_broadcast_2i64_4i64(<2 x i64> %a0) nounwind {
}
define <8 x i64> @reg_broadcast_2i64_8i64(<2 x i64> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_2i64_8i64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_2i64_8i64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_2i64_8i64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_2i64_8i64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_2i64_8i64:
; X64-AVX: # %bb.0:
@@ -1031,16 +1031,16 @@ define <8 x i64> @reg_broadcast_2i64_8i64(<2 x i64> %a0) nounwind {
}
define <8 x i64> @reg_broadcast_4i64_8i64(<4 x i64> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_4i64_8i64:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_4i64_8i64:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_4i64_8i64:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_4i64_8i64:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_4i64_8i64:
; X64-AVX: # %bb.0:
@@ -1057,11 +1057,11 @@ define <8 x i64> @reg_broadcast_4i64_8i64(<4 x i64> %a0) nounwind {
}
define <8 x float> @reg_broadcast_4f32_8f32(<4 x float> %a0) nounwind {
-; X32-LABEL: reg_broadcast_4f32_8f32:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_4f32_8f32:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_4f32_8f32:
; X64: # %bb.0:
@@ -1073,19 +1073,19 @@ define <8 x float> @reg_broadcast_4f32_8f32(<4 x float> %a0) nounwind {
}
define <16 x float> @reg_broadcast_4f32_16f32(<4 x float> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_4f32_16f32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_4f32_16f32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_4f32_16f32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_4f32_16f32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_4f32_16f32:
; X64-AVX: # %bb.0:
@@ -1105,16 +1105,16 @@ define <16 x float> @reg_broadcast_4f32_16f32(<4 x float> %a0) nounwind {
}
define <16 x float> @reg_broadcast_8f32_16f32(<8 x float> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_8f32_16f32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_8f32_16f32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_8f32_16f32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_8f32_16f32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_8f32_16f32:
; X64-AVX: # %bb.0:
@@ -1131,11 +1131,11 @@ define <16 x float> @reg_broadcast_8f32_16f32(<8 x float> %a0) nounwind {
}
define <8 x i32> @reg_broadcast_4i32_8i32(<4 x i32> %a0) nounwind {
-; X32-LABEL: reg_broadcast_4i32_8i32:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_4i32_8i32:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_4i32_8i32:
; X64: # %bb.0:
@@ -1147,19 +1147,19 @@ define <8 x i32> @reg_broadcast_4i32_8i32(<4 x i32> %a0) nounwind {
}
define <16 x i32> @reg_broadcast_4i32_16i32(<4 x i32> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_4i32_16i32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_4i32_16i32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_4i32_16i32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_4i32_16i32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_4i32_16i32:
; X64-AVX: # %bb.0:
@@ -1179,16 +1179,16 @@ define <16 x i32> @reg_broadcast_4i32_16i32(<4 x i32> %a0) nounwind {
}
define <16 x i32> @reg_broadcast_8i32_16i32(<8 x i32> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_8i32_16i32:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_8i32_16i32:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_8i32_16i32:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_8i32_16i32:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_8i32_16i32:
; X64-AVX: # %bb.0:
@@ -1205,11 +1205,11 @@ define <16 x i32> @reg_broadcast_8i32_16i32(<8 x i32> %a0) nounwind {
}
define <16 x i16> @reg_broadcast_8i16_16i16(<8 x i16> %a0) nounwind {
-; X32-LABEL: reg_broadcast_8i16_16i16:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_8i16_16i16:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_8i16_16i16:
; X64: # %bb.0:
@@ -1221,19 +1221,19 @@ define <16 x i16> @reg_broadcast_8i16_16i16(<8 x i16> %a0) nounwind {
}
define <32 x i16> @reg_broadcast_8i16_32i16(<8 x i16> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_8i16_32i16:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_8i16_32i16:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_8i16_32i16:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_8i16_32i16:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_8i16_32i16:
; X64-AVX: # %bb.0:
@@ -1253,16 +1253,16 @@ define <32 x i16> @reg_broadcast_8i16_32i16(<8 x i16> %a0) nounwind {
}
define <32 x i16> @reg_broadcast_16i16_32i16(<16 x i16> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_16i16_32i16:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_16i16_32i16:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_16i16_32i16:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_16i16_32i16:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_16i16_32i16:
; X64-AVX: # %bb.0:
@@ -1279,11 +1279,11 @@ define <32 x i16> @reg_broadcast_16i16_32i16(<16 x i16> %a0) nounwind {
}
define <32 x i8> @reg_broadcast_16i8_32i8(<16 x i8> %a0) nounwind {
-; X32-LABEL: reg_broadcast_16i8_32i8:
-; X32: # %bb.0:
-; X32-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-NEXT: retl
+; X86-LABEL: reg_broadcast_16i8_32i8:
+; X86: # %bb.0:
+; X86-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: reg_broadcast_16i8_32i8:
; X64: # %bb.0:
@@ -1295,19 +1295,19 @@ define <32 x i8> @reg_broadcast_16i8_32i8(<16 x i8> %a0) nounwind {
}
define <64 x i8> @reg_broadcast_16i8_64i8(<16 x i8> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_16i8_64i8:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: reg_broadcast_16i8_64i8:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
-; X32-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_16i8_64i8:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: reg_broadcast_16i8_64i8:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
+; X86-AVX512-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_16i8_64i8:
; X64-AVX: # %bb.0:
@@ -1327,16 +1327,16 @@ define <64 x i8> @reg_broadcast_16i8_64i8(<16 x i8> %a0) nounwind {
}
define <64 x i8> @reg_broadcast_32i8_64i8(<32 x i8> %a0) nounwind {
-; X32-AVX-LABEL: reg_broadcast_32i8_64i8:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
+; X86-AVX-LABEL: reg_broadcast_32i8_64i8:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
;
-; X32-AVX512-LABEL: reg_broadcast_32i8_64i8:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
-; X32-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX512-LABEL: reg_broadcast_32i8_64i8:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: # kill: def $ymm0 killed $ymm0 def $zmm0
+; X86-AVX512-NEXT: vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: reg_broadcast_32i8_64i8:
; X64-AVX: # %bb.0:
@@ -1357,11 +1357,11 @@ define <64 x i8> @reg_broadcast_32i8_64i8(<32 x i8> %a0) nounwind {
;
define <4 x i32> @test_2xi32_to_4xi32_mem(<2 x i32>* %vp) {
-; X32-LABEL: test_2xi32_to_4xi32_mem:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
-; X32-NEXT: retl
+; X86-LABEL: test_2xi32_to_4xi32_mem:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vmovddup {{.*#+}} xmm0 = mem[0,0]
+; X86-NEXT: retl
;
; X64-LABEL: test_2xi32_to_4xi32_mem:
; X64: # %bb.0:
@@ -1373,11 +1373,11 @@ define <4 x i32> @test_2xi32_to_4xi32_mem(<2 x i32>* %vp) {
}
define <8 x i32> @test_2xi32_to_8xi32_mem(<2 x i32>* %vp) {
-; X32-LABEL: test_2xi32_to_8xi32_mem:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: test_2xi32_to_8xi32_mem:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: test_2xi32_to_8xi32_mem:
; X64: # %bb.0:
@@ -1389,18 +1389,18 @@ define <8 x i32> @test_2xi32_to_8xi32_mem(<2 x i32>* %vp) {
}
define <16 x i32> @test_2xi32_to_16xi32_mem(<2 x i32>* %vp) {
-; X32-AVX-LABEL: test_2xi32_to_16xi32_mem:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: test_2xi32_to_16xi32_mem:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastsd (%eax), %zmm0
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: test_2xi32_to_16xi32_mem:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: test_2xi32_to_16xi32_mem:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastsd (%eax), %zmm0
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: test_2xi32_to_16xi32_mem:
; X64-AVX: # %bb.0:
@@ -1422,11 +1422,11 @@ define <16 x i32> @test_2xi32_to_16xi32_mem(<2 x i32>* %vp) {
;
define <4 x double> @broadcast_v4f64_f64_u000(double* %p) {
-; X32-LABEL: broadcast_v4f64_f64_u000:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm0
-; X32-NEXT: retl
+; X86-LABEL: broadcast_v4f64_f64_u000:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm0
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_v4f64_f64_u000:
; X64: # %bb.0:
@@ -1439,12 +1439,12 @@ define <4 x double> @broadcast_v4f64_f64_u000(double* %p) {
}
define <4 x double> @broadcast_v4f64_v2f64_4u61(<2 x double>* %vp, <4 x double> %default) {
-; X32-LABEL: broadcast_v4f64_v2f64_4u61:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vinsertf128 $1, (%eax), %ymm0, %ymm1
-; X32-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]
-; X32-NEXT: retl
+; X86-LABEL: broadcast_v4f64_v2f64_4u61:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vinsertf128 $1, (%eax), %ymm0, %ymm1
+; X86-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_v4f64_v2f64_4u61:
; X64: # %bb.0:
@@ -1458,12 +1458,12 @@ define <4 x double> @broadcast_v4f64_v2f64_4u61(<2 x double>* %vp, <4 x double>
}
define <8 x float> @broadcast_v8f32_v2f32_u1uu0uEu(<2 x float>* %vp, <8 x float> %default) {
-; X32-LABEL: broadcast_v8f32_v2f32_u1uu0uEu:
-; X32: # %bb.0:
-; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT: vbroadcastsd (%eax), %ymm1
-; X32-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]
-; X32-NEXT: retl
+; X86-LABEL: broadcast_v8f32_v2f32_u1uu0uEu:
+; X86: # %bb.0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: vbroadcastsd (%eax), %ymm1
+; X86-NEXT: vshufpd {{.*#+}} ymm0 = ymm1[0],ymm0[0],ymm1[2],ymm0[3]
+; X86-NEXT: retl
;
; X64-LABEL: broadcast_v8f32_v2f32_u1uu0uEu:
; X64: # %bb.0:
@@ -1477,18 +1477,18 @@ define <8 x float> @broadcast_v8f32_v2f32_u1uu0uEu(<2 x float>* %vp, <8 x float>
}
define <8 x double> @broadcast_v8f64_v2f64_u1u10101(<2 x double>* %vp) {
-; X32-AVX-LABEL: broadcast_v8f64_v2f64_u1u10101:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: broadcast_v8f64_v2f64_u1u10101:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: broadcast_v8f64_v2f64_u1u10101:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: broadcast_v8f64_v2f64_u1u10101:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: broadcast_v8f64_v2f64_u1u10101:
; X64-AVX: # %bb.0:
@@ -1506,18 +1506,18 @@ define <8 x double> @broadcast_v8f64_v2f64_u1u10101(<2 x double>* %vp) {
}
define <8 x double> @broadcast_v8f64_v2f64_0uuu0101(<2 x double>* %vp) {
-; X32-AVX-LABEL: broadcast_v8f64_v2f64_0uuu0101:
-; X32-AVX: # %bb.0:
-; X32-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
-; X32-AVX-NEXT: vmovaps %ymm0, %ymm1
-; X32-AVX-NEXT: retl
-;
-; X32-AVX512-LABEL: broadcast_v8f64_v2f64_0uuu0101:
-; X32-AVX512: # %bb.0:
-; X32-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X32-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
-; X32-AVX512-NEXT: retl
+; X86-AVX-LABEL: broadcast_v8f64_v2f64_0uuu0101:
+; X86-AVX: # %bb.0:
+; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1]
+; X86-AVX-NEXT: vmovaps %ymm0, %ymm1
+; X86-AVX-NEXT: retl
+;
+; X86-AVX512-LABEL: broadcast_v8f64_v2f64_0uuu0101:
+; X86-AVX512: # %bb.0:
+; X86-AVX512-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-AVX512-NEXT: vbroadcastf32x4 {{.*#+}} zmm0 = mem[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]
+; X86-AVX512-NEXT: retl
;
; X64-AVX-LABEL: broadcast_v8f64_v2f64_0uuu0101:
; X64-AVX: # %bb.0:
More information about the llvm-commits
mailing list