Author: Simon Pilgrim Date: 2020-11-27T11:18:57Z New Revision: 4b9c2bbdb67139e69b689cbfc490632391324f02
URL: https://github.com/llvm/llvm-project/commit/4b9c2bbdb67139e69b689cbfc490632391324f02 DIFF: https://github.com/llvm/llvm-project/commit/4b9c2bbdb67139e69b689cbfc490632391324f02.diff LOG: [X86] Regenerate extract-store.ll tests Rename prefix from X32 to X86 as we typically use X32 for gnux32 triples Added: Modified: llvm/test/CodeGen/X86/extract-store.ll Removed: ################################################################################ diff --git a/llvm/test/CodeGen/X86/extract-store.ll b/llvm/test/CodeGen/X86/extract-store.ll index 1160c6e5d21a..77a98028b37b 100644 --- a/llvm/test/CodeGen/X86/extract-store.ll +++ b/llvm/test/CodeGen/X86/extract-store.ll @@ -1,20 +1,20 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X32 --check-prefix=SSE-X32 --check-prefix=SSE2-X32 -; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE2-X64 -; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X32 --check-prefix=SSE-X32 --check-prefix=SSE41-X32 -; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE41-X64 -; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx | FileCheck %s --check-prefix=X32 --check-prefix=AVX-X32 -; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=AVX-X64 -; RUN: llc < %s -O2 -mtriple=x86_64-linux-android -mattr=+sse -enable-legalize-types-checking | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE2-X64 -; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=+sse -enable-legalize-types-checking | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE2-X64 +; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=X86,SSE-X86,SSE2-X86 +; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=X64,SSE-X64,SSE2-X64 +; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=X86,SSE-X86,SSE41-X86 +; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=X64,SSE-X64,SSE41-X64 +; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx | FileCheck %s --check-prefixes=X86,AVX-X86 +; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefixes=X64,AVX-X64 +; RUN: llc < %s -O2 -mtriple=x86_64-linux-android -mattr=+sse -enable-legalize-types-checking | FileCheck %s --check-prefixes=X64,SSE-X64,SSE2-X64 +; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=+sse -enable-legalize-types-checking | FileCheck %s --check-prefixes=X64,SSE-X64,SSE2-X64 define void @extract_i8_0(i8* nocapture %dst, <16 x i8> %foo) nounwind { -; SSE2-X32-LABEL: extract_i8_0: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: movd %xmm0, %ecx -; SSE2-X32-NEXT: movb %cl, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i8_0: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: movd %xmm0, %ecx +; SSE2-X86-NEXT: movb %cl, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i8_0: ; SSE2-X64: # %bb.0: @@ -22,22 +22,22 @@ define void @extract_i8_0(i8* nocapture %dst, <16 x i8> %foo) nounwind { ; SSE2-X64-NEXT: movb %al, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i8_0: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: pextrb $0, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i8_0: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: pextrb $0, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i8_0: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: pextrb $0, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i8_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpextrb $0, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i8_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpextrb $0, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i8_0: ; AVX-X64: # %bb.0: @@ -49,13 +49,13 @@ define void @extract_i8_0(i8* nocapture %dst, <16 x i8> %foo) nounwind { } define void @extract_i8_3(i8* nocapture %dst, <16 x i8> %foo) nounwind { -; SSE2-X32-LABEL: extract_i8_3: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: movd %xmm0, %ecx -; SSE2-X32-NEXT: shrl $24, %ecx -; SSE2-X32-NEXT: movb %cl, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i8_3: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: movd %xmm0, %ecx +; SSE2-X86-NEXT: shrl $24, %ecx +; SSE2-X86-NEXT: movb %cl, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i8_3: ; SSE2-X64: # %bb.0: @@ -64,22 +64,22 @@ define void @extract_i8_3(i8* nocapture %dst, <16 x i8> %foo) nounwind { ; SSE2-X64-NEXT: movb %al, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i8_3: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: pextrb $3, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i8_3: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: pextrb $3, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i8_3: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: pextrb $3, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i8_3: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpextrb $3, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i8_3: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpextrb $3, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i8_3: ; AVX-X64: # %bb.0: @@ -91,12 +91,12 @@ define void @extract_i8_3(i8* nocapture %dst, <16 x i8> %foo) nounwind { } define void @extract_i8_15(i8* nocapture %dst, <16 x i8> %foo) nounwind { -; SSE2-X32-LABEL: extract_i8_15: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: pextrw $7, %xmm0, %ecx -; SSE2-X32-NEXT: movb %ch, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i8_15: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: pextrw $7, %xmm0, %ecx +; SSE2-X86-NEXT: movb %ch, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i8_15: ; SSE2-X64: # %bb.0: @@ -104,22 +104,22 @@ define void @extract_i8_15(i8* nocapture %dst, <16 x i8> %foo) nounwind { ; SSE2-X64-NEXT: movb %ah, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i8_15: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: pextrb $15, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i8_15: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: pextrb $15, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i8_15: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: pextrb $15, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i8_15: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpextrb $15, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i8_15: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpextrb $15, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i8_15: ; AVX-X64: # %bb.0: @@ -131,12 +131,12 @@ define void @extract_i8_15(i8* nocapture %dst, <16 x i8> %foo) nounwind { } define void @extract_i16_0(i16* nocapture %dst, <8 x i16> %foo) nounwind { -; SSE2-X32-LABEL: extract_i16_0: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: movd %xmm0, %ecx -; SSE2-X32-NEXT: movw %cx, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i16_0: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: movd %xmm0, %ecx +; SSE2-X86-NEXT: movw %cx, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i16_0: ; SSE2-X64: # %bb.0: @@ -144,22 +144,22 @@ define void @extract_i16_0(i16* nocapture %dst, <8 x i16> %foo) nounwind { ; SSE2-X64-NEXT: movw %ax, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i16_0: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: pextrw $0, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i16_0: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: pextrw $0, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i16_0: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: pextrw $0, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i16_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpextrw $0, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i16_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpextrw $0, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i16_0: ; AVX-X64: # %bb.0: @@ -171,12 +171,12 @@ define void @extract_i16_0(i16* nocapture %dst, <8 x i16> %foo) nounwind { } define void @extract_i16_7(i16* nocapture %dst, <8 x i16> %foo) nounwind { -; SSE2-X32-LABEL: extract_i16_7: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: pextrw $7, %xmm0, %ecx -; SSE2-X32-NEXT: movw %cx, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i16_7: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: pextrw $7, %xmm0, %ecx +; SSE2-X86-NEXT: movw %cx, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i16_7: ; SSE2-X64: # %bb.0: @@ -184,22 +184,22 @@ define void @extract_i16_7(i16* nocapture %dst, <8 x i16> %foo) nounwind { ; SSE2-X64-NEXT: movw %ax, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i16_7: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: pextrw $7, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i16_7: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: pextrw $7, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i16_7: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: pextrw $7, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i16_7: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpextrw $7, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i16_7: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpextrw $7, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i16_7: ; AVX-X64: # %bb.0: @@ -211,22 +211,22 @@ define void @extract_i16_7(i16* nocapture %dst, <8 x i16> %foo) nounwind { } define void @extract_i32_0(i32* nocapture %dst, <4 x i32> %foo) nounwind { -; SSE-X32-LABEL: extract_i32_0: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movss %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_i32_0: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movss %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_i32_0: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movss %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i32_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovss %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i32_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovss %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i32_0: ; AVX-X64: # %bb.0: @@ -238,12 +238,12 @@ define void @extract_i32_0(i32* nocapture %dst, <4 x i32> %foo) nounwind { } define void @extract_i32_3(i32* nocapture %dst, <4 x i32> %foo) nounwind { -; SSE2-X32-LABEL: extract_i32_3: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,3,3,3] -; SSE2-X32-NEXT: movd %xmm0, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_i32_3: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,3,3,3] +; SSE2-X86-NEXT: movd %xmm0, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i32_3: ; SSE2-X64: # %bb.0: @@ -251,22 +251,22 @@ define void @extract_i32_3(i32* nocapture %dst, <4 x i32> %foo) nounwind { ; SSE2-X64-NEXT: movd %xmm0, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_i32_3: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: extractps $3, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_i32_3: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: extractps $3, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_i32_3: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: extractps $3, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i32_3: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vextractps $3, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i32_3: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vextractps $3, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i32_3: ; AVX-X64: # %bb.0: @@ -278,22 +278,22 @@ define void @extract_i32_3(i32* nocapture %dst, <4 x i32> %foo) nounwind { } define void @extract_i64_0(i64* nocapture %dst, <2 x i64> %foo) nounwind { -; SSE-X32-LABEL: extract_i64_0: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movlps %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_i64_0: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movlps %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_i64_0: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movlps %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i64_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovlps %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i64_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovlps %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i64_0: ; AVX-X64: # %bb.0: @@ -305,12 +305,12 @@ define void @extract_i64_0(i64* nocapture %dst, <2 x i64> %foo) nounwind { } define void @extract_i64_1(i64* nocapture %dst, <2 x i64> %foo) nounwind { -; SSE-X32-LABEL: extract_i64_1: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3] -; SSE-X32-NEXT: movq %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_i64_1: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,2,3] +; SSE-X86-NEXT: movq %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_i64_1: ; SSE2-X64: # %bb.0: @@ -323,12 +323,12 @@ define void @extract_i64_1(i64* nocapture %dst, <2 x i64> %foo) nounwind { ; SSE41-X64-NEXT: pextrq $1, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_i64_1: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[2,3,0,1] -; AVX-X32-NEXT: vmovlps %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_i64_1: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[2,3,0,1] +; AVX-X86-NEXT: vmovlps %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_i64_1: ; AVX-X64: # %bb.0: @@ -340,22 +340,22 @@ define void @extract_i64_1(i64* nocapture %dst, <2 x i64> %foo) nounwind { } define void @extract_f32_0(float* nocapture %dst, <4 x float> %foo) nounwind { -; SSE-X32-LABEL: extract_f32_0: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movss %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_f32_0: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movss %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_f32_0: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movss %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f32_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovss %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f32_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovss %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f32_0: ; AVX-X64: # %bb.0: @@ -367,12 +367,12 @@ define void @extract_f32_0(float* nocapture %dst, <4 x float> %foo) nounwind { } define void @extract_f32_3(float* nocapture %dst, <4 x float> %foo) nounwind { -; SSE2-X32-LABEL: extract_f32_3: -; SSE2-X32: # %bb.0: -; SSE2-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE2-X32-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,3,3,3] -; SSE2-X32-NEXT: movss %xmm0, (%eax) -; SSE2-X32-NEXT: retl +; SSE2-X86-LABEL: extract_f32_3: +; SSE2-X86: # %bb.0: +; SSE2-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE2-X86-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,3,3,3] +; SSE2-X86-NEXT: movss %xmm0, (%eax) +; SSE2-X86-NEXT: retl ; ; SSE2-X64-LABEL: extract_f32_3: ; SSE2-X64: # %bb.0: @@ -380,22 +380,22 @@ define void @extract_f32_3(float* nocapture %dst, <4 x float> %foo) nounwind { ; SSE2-X64-NEXT: movss %xmm0, (%rdi) ; SSE2-X64-NEXT: retq ; -; SSE41-X32-LABEL: extract_f32_3: -; SSE41-X32: # %bb.0: -; SSE41-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE41-X32-NEXT: extractps $3, %xmm0, (%eax) -; SSE41-X32-NEXT: retl +; SSE41-X86-LABEL: extract_f32_3: +; SSE41-X86: # %bb.0: +; SSE41-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE41-X86-NEXT: extractps $3, %xmm0, (%eax) +; SSE41-X86-NEXT: retl ; ; SSE41-X64-LABEL: extract_f32_3: ; SSE41-X64: # %bb.0: ; SSE41-X64-NEXT: extractps $3, %xmm0, (%rdi) ; SSE41-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f32_3: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vextractps $3, %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f32_3: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vextractps $3, %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f32_3: ; AVX-X64: # %bb.0: @@ -407,22 +407,22 @@ define void @extract_f32_3(float* nocapture %dst, <4 x float> %foo) nounwind { } define void @extract_f64_0(double* nocapture %dst, <2 x double> %foo) nounwind { -; SSE-X32-LABEL: extract_f64_0: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movlps %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_f64_0: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movlps %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_f64_0: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movlps %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f64_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovlps %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f64_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovlps %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f64_0: ; AVX-X64: # %bb.0: @@ -434,22 +434,22 @@ define void @extract_f64_0(double* nocapture %dst, <2 x double> %foo) nounwind { } define void @extract_f64_1(double* nocapture %dst, <2 x double> %foo) nounwind { -; SSE-X32-LABEL: extract_f64_1: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movhps %xmm0, (%eax) -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_f64_1: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movhps %xmm0, (%eax) +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_f64_1: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movhps %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f64_1: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovhps %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f64_1: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovhps %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f64_1: ; AVX-X64: # %bb.0: @@ -461,34 +461,34 @@ define void @extract_f64_1(double* nocapture %dst, <2 x double> %foo) nounwind { } define void @extract_f128_0(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { -; SSE-X32-LABEL: extract_f128_0: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: pushl %edi -; SSE-X32-NEXT: pushl %esi -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %edx -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %esi -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %edi -; SSE-X32-NEXT: movl %esi, 12(%edi) -; SSE-X32-NEXT: movl %edx, 8(%edi) -; SSE-X32-NEXT: movl %ecx, 4(%edi) -; SSE-X32-NEXT: movl %eax, (%edi) -; SSE-X32-NEXT: popl %esi -; SSE-X32-NEXT: popl %edi -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_f128_0: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: pushl %edi +; SSE-X86-NEXT: pushl %esi +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %edx +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %esi +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %edi +; SSE-X86-NEXT: movl %esi, 12(%edi) +; SSE-X86-NEXT: movl %edx, 8(%edi) +; SSE-X86-NEXT: movl %ecx, 4(%edi) +; SSE-X86-NEXT: movl %eax, (%edi) +; SSE-X86-NEXT: popl %esi +; SSE-X86-NEXT: popl %edi +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_f128_0: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movups %xmm0, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f128_0: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0 -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovups %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f128_0: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0 +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovups %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f128_0: ; AVX-X64: # %bb.0: @@ -500,34 +500,34 @@ define void @extract_f128_0(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { } define void @extract_f128_1(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { -; SSE-X32-LABEL: extract_f128_1: -; SSE-X32: # %bb.0: -; SSE-X32-NEXT: pushl %edi -; SSE-X32-NEXT: pushl %esi -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %edx -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %esi -; SSE-X32-NEXT: movl {{[0-9]+}}(%esp), %edi -; SSE-X32-NEXT: movl %esi, 12(%edi) -; SSE-X32-NEXT: movl %edx, 8(%edi) -; SSE-X32-NEXT: movl %ecx, 4(%edi) -; SSE-X32-NEXT: movl %eax, (%edi) -; SSE-X32-NEXT: popl %esi -; SSE-X32-NEXT: popl %edi -; SSE-X32-NEXT: retl +; SSE-X86-LABEL: extract_f128_1: +; SSE-X86: # %bb.0: +; SSE-X86-NEXT: pushl %edi +; SSE-X86-NEXT: pushl %esi +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %edx +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %esi +; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %edi +; SSE-X86-NEXT: movl %esi, 12(%edi) +; SSE-X86-NEXT: movl %edx, 8(%edi) +; SSE-X86-NEXT: movl %ecx, 4(%edi) +; SSE-X86-NEXT: movl %eax, (%edi) +; SSE-X86-NEXT: popl %esi +; SSE-X86-NEXT: popl %edi +; SSE-X86-NEXT: retl ; ; SSE-X64-LABEL: extract_f128_1: ; SSE-X64: # %bb.0: ; SSE-X64-NEXT: movups %xmm1, (%rdi) ; SSE-X64-NEXT: retq ; -; AVX-X32-LABEL: extract_f128_1: -; AVX-X32: # %bb.0: -; AVX-X32-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0 -; AVX-X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; AVX-X32-NEXT: vmovups %xmm0, (%eax) -; AVX-X32-NEXT: retl +; AVX-X86-LABEL: extract_f128_1: +; AVX-X86: # %bb.0: +; AVX-X86-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0 +; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; AVX-X86-NEXT: vmovups %xmm0, (%eax) +; AVX-X86-NEXT: retl ; ; AVX-X64-LABEL: extract_f128_1: ; AVX-X64: # %bb.0: @@ -539,9 +539,9 @@ define void @extract_f128_1(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { } define void @extract_i8_undef(i8* nocapture %dst, <16 x i8> %foo) nounwind { -; X32-LABEL: extract_i8_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_i8_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_i8_undef: ; X64: # %bb.0: @@ -552,9 +552,9 @@ define void @extract_i8_undef(i8* nocapture %dst, <16 x i8> %foo) nounwind { } define void @extract_i16_undef(i16* nocapture %dst, <8 x i16> %foo) nounwind { -; X32-LABEL: extract_i16_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_i16_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_i16_undef: ; X64: # %bb.0: @@ -565,9 +565,9 @@ define void @extract_i16_undef(i16* nocapture %dst, <8 x i16> %foo) nounwind { } define void @extract_i32_undef(i32* nocapture %dst, <4 x i32> %foo) nounwind { -; X32-LABEL: extract_i32_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_i32_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_i32_undef: ; X64: # %bb.0: @@ -578,9 +578,9 @@ define void @extract_i32_undef(i32* nocapture %dst, <4 x i32> %foo) nounwind { } define void @extract_i64_undef(i64* nocapture %dst, <2 x i64> %foo) nounwind { -; X32-LABEL: extract_i64_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_i64_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_i64_undef: ; X64: # %bb.0: @@ -591,9 +591,9 @@ define void @extract_i64_undef(i64* nocapture %dst, <2 x i64> %foo) nounwind { } define void @extract_f32_undef(float* nocapture %dst, <4 x float> %foo) nounwind { -; X32-LABEL: extract_f32_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_f32_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_f32_undef: ; X64: # %bb.0: @@ -604,9 +604,9 @@ define void @extract_f32_undef(float* nocapture %dst, <4 x float> %foo) nounwind } define void @extract_f64_undef(double* nocapture %dst, <2 x double> %foo) nounwind { -; X32-LABEL: extract_f64_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_f64_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_f64_undef: ; X64: # %bb.0: @@ -617,9 +617,9 @@ define void @extract_f64_undef(double* nocapture %dst, <2 x double> %foo) nounwi } define void @extract_f128_undef(fp128* nocapture %dst, <2 x fp128> %foo) nounwind { -; X32-LABEL: extract_f128_undef: -; X32: # %bb.0: -; X32-NEXT: retl +; X86-LABEL: extract_f128_undef: +; X86: # %bb.0: +; X86-NEXT: retl ; ; X64-LABEL: extract_f128_undef: ; X64: # %bb.0: _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits