mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[X86] Remove -mcpu=skx/knl from some tests and use -mattr instead.
mcpu exposes other tuning flags. These tests are only trying to test instruction set features so it is better to use mattr. llvm-svn: 330196
This commit is contained in:
parent
eb51d8fea5
commit
5f9e4c5a37
@ -1,23 +1,16 @@
|
||||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gn -mcpu=knl | FileCheck %s --check-prefix=ALL --check-prefix=KNL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gn -mcpu=skx | FileCheck %s --check-prefix=ALL --check-prefix=SKX
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gn -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=KNL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gn -mattr=+avx512f,+avx512vl,+avx512dq,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=SKX
|
||||
|
||||
|
||||
define void @any_extend_load_v8i64(<8 x i8> * %ptr) {
|
||||
; KNL-LABEL: any_extend_load_v8i64:
|
||||
; KNL: # %bb.0:
|
||||
; KNL-NEXT: vpmovzxbq {{.*#+}} zmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero,mem[2],zero,zero,zero,zero,zero,zero,zero,mem[3],zero,zero,zero,zero,zero,zero,zero,mem[4],zero,zero,zero,zero,zero,zero,zero,mem[5],zero,zero,zero,zero,zero,zero,zero,mem[6],zero,zero,zero,zero,zero,zero,zero,mem[7],zero,zero,zero,zero,zero,zero,zero
|
||||
; KNL-NEXT: vpaddq {{.*}}(%rip){1to8}, %zmm0, %zmm0
|
||||
; KNL-NEXT: vpmovqb %zmm0, (%rdi)
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: any_extend_load_v8i64:
|
||||
; SKX: # %bb.0:
|
||||
; SKX-NEXT: vpmovzxbq {{.*#+}} zmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero,mem[2],zero,zero,zero,zero,zero,zero,zero,mem[3],zero,zero,zero,zero,zero,zero,zero,mem[4],zero,zero,zero,zero,zero,zero,zero,mem[5],zero,zero,zero,zero,zero,zero,zero,mem[6],zero,zero,zero,zero,zero,zero,zero,mem[7],zero,zero,zero,zero,zero,zero,zero
|
||||
; SKX-NEXT: vpaddq {{.*}}(%rip){1to8}, %zmm0, %zmm0
|
||||
; SKX-NEXT: vpmovqb %zmm0, (%rdi)
|
||||
; SKX-NEXT: vzeroupper
|
||||
; SKX-NEXT: retq
|
||||
; ALL-LABEL: any_extend_load_v8i64:
|
||||
; ALL: # %bb.0:
|
||||
; ALL-NEXT: vpmovzxbq {{.*#+}} zmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero,mem[2],zero,zero,zero,zero,zero,zero,zero,mem[3],zero,zero,zero,zero,zero,zero,zero,mem[4],zero,zero,zero,zero,zero,zero,zero,mem[5],zero,zero,zero,zero,zero,zero,zero,mem[6],zero,zero,zero,zero,zero,zero,zero,mem[7],zero,zero,zero,zero,zero,zero,zero
|
||||
; ALL-NEXT: vpaddq {{.*}}(%rip){1to8}, %zmm0, %zmm0
|
||||
; ALL-NEXT: vpmovqb %zmm0, (%rdi)
|
||||
; ALL-NEXT: vzeroupper
|
||||
; ALL-NEXT: retq
|
||||
%wide.load = load <8 x i8>, <8 x i8>* %ptr, align 1
|
||||
%1 = zext <8 x i8> %wide.load to <8 x i64>
|
||||
%2 = add nuw nsw <8 x i64> %1, <i64 4, i64 4, i64 4, i64 4, i64 4, i64 4, i64 4, i64 4>
|
||||
|
@ -1,6 +1,6 @@
|
||||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=knl | FileCheck %s --check-prefix=ALL --check-prefix=KNL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=skx | FileCheck %s --check-prefix=ALL --check-prefix=SKX
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=ALL --check-prefix=KNL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512vl,+avx512dq,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=SKX
|
||||
|
||||
define <8 x i16> @zext_8x8mem_to_8x16(<8 x i8> *%i , <8 x i1> %mask) nounwind readnone {
|
||||
; KNL-LABEL: zext_8x8mem_to_8x16:
|
||||
@ -48,8 +48,8 @@ define <8 x i16> @sext_8x8mem_to_8x16(<8 x i8> *%i , <8 x i1> %mask) nounwind re
|
||||
define <16 x i16> @zext_16x8mem_to_16x16(<16 x i8> *%i , <16 x i1> %mask) nounwind readnone {
|
||||
; KNL-LABEL: zext_16x8mem_to_16x16:
|
||||
; KNL: # %bb.0:
|
||||
; KNL-NEXT: vpmovzxbw {{.*#+}} ymm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero,mem[8],zero,mem[9],zero,mem[10],zero,mem[11],zero,mem[12],zero,mem[13],zero,mem[14],zero,mem[15],zero
|
||||
; KNL-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
|
||||
; KNL-NEXT: vpmovzxbw {{.*#+}} ymm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero,mem[8],zero,mem[9],zero,mem[10],zero,mem[11],zero,mem[12],zero,mem[13],zero,mem[14],zero,mem[15],zero
|
||||
; KNL-NEXT: vpsllw $15, %ymm0, %ymm0
|
||||
; KNL-NEXT: vpsraw $15, %ymm0, %ymm0
|
||||
; KNL-NEXT: vpand %ymm1, %ymm0, %ymm0
|
||||
@ -70,8 +70,8 @@ define <16 x i16> @zext_16x8mem_to_16x16(<16 x i8> *%i , <16 x i1> %mask) nounwi
|
||||
define <16 x i16> @sext_16x8mem_to_16x16(<16 x i8> *%i , <16 x i1> %mask) nounwind readnone {
|
||||
; KNL-LABEL: sext_16x8mem_to_16x16:
|
||||
; KNL: # %bb.0:
|
||||
; KNL-NEXT: vpmovsxbw (%rdi), %ymm1
|
||||
; KNL-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
|
||||
; KNL-NEXT: vpmovsxbw (%rdi), %ymm1
|
||||
; KNL-NEXT: vpsllw $15, %ymm0, %ymm0
|
||||
; KNL-NEXT: vpsraw $15, %ymm0, %ymm0
|
||||
; KNL-NEXT: vpand %ymm1, %ymm0, %ymm0
|
||||
@ -303,6 +303,7 @@ define <4 x i32> @zext_4x8mem_to_4x32(<4 x i8> *%i , <4 x i1> %mask) nounwind re
|
||||
; KNL-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
|
||||
; KNL-NEXT: vmovdqa32 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: zext_4x8mem_to_4x32:
|
||||
@ -325,6 +326,7 @@ define <4 x i32> @sext_4x8mem_to_4x32(<4 x i8> *%i , <4 x i1> %mask) nounwind re
|
||||
; KNL-NEXT: vpmovsxbd (%rdi), %xmm0
|
||||
; KNL-NEXT: vmovdqa32 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_4x8mem_to_4x32:
|
||||
@ -493,6 +495,7 @@ define <2 x i64> @zext_2x8mem_to_2x64(<2 x i8> *%i , <2 x i1> %mask) nounwind re
|
||||
; KNL-NEXT: vpmovzxbq {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: zext_2x8mem_to_2x64:
|
||||
@ -514,6 +517,7 @@ define <2 x i64> @sext_2x8mem_to_2x64mask(<2 x i8> *%i , <2 x i1> %mask) nounwin
|
||||
; KNL-NEXT: vpmovsxbq (%rdi), %xmm0
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_2x8mem_to_2x64mask:
|
||||
@ -651,6 +655,7 @@ define <4 x i32> @zext_4x16mem_to_4x32(<4 x i16> *%i , <4 x i1> %mask) nounwind
|
||||
; KNL-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
|
||||
; KNL-NEXT: vmovdqa32 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: zext_4x16mem_to_4x32:
|
||||
@ -673,6 +678,7 @@ define <4 x i32> @sext_4x16mem_to_4x32mask(<4 x i16> *%i , <4 x i1> %mask) nounw
|
||||
; KNL-NEXT: vpmovsxwd (%rdi), %xmm0
|
||||
; KNL-NEXT: vmovdqa32 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_4x16mem_to_4x32mask:
|
||||
@ -873,6 +879,7 @@ define <2 x i64> @zext_2x16mem_to_2x64(<2 x i16> *%i , <2 x i1> %mask) nounwind
|
||||
; KNL-NEXT: vpmovzxwq {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: zext_2x16mem_to_2x64:
|
||||
@ -895,6 +902,7 @@ define <2 x i64> @sext_2x16mem_to_2x64mask(<2 x i16> *%i , <2 x i1> %mask) nounw
|
||||
; KNL-NEXT: vpmovsxwq (%rdi), %xmm0
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_2x16mem_to_2x64mask:
|
||||
@ -1062,6 +1070,7 @@ define <2 x i64> @zext_2x32mem_to_2x64(<2 x i32> *%i , <2 x i1> %mask) nounwind
|
||||
; KNL-NEXT: vpmovzxdq {{.*#+}} xmm0 = mem[0],zero,mem[1],zero
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: zext_2x32mem_to_2x64:
|
||||
@ -1084,6 +1093,7 @@ define <2 x i64> @sext_2x32mem_to_2x64mask(<2 x i32> *%i , <2 x i1> %mask) nounw
|
||||
; KNL-NEXT: vpmovsxdq (%rdi), %xmm0
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, %zmm0 {%k1} {z}
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_2x32mem_to_2x64mask:
|
||||
@ -1336,6 +1346,7 @@ define i16 @trunc_16i8_to_16i1(<16 x i8> %a) {
|
||||
; KNL-NEXT: vptestmd %zmm0, %zmm0, %k0
|
||||
; KNL-NEXT: kmovw %k0, %eax
|
||||
; KNL-NEXT: # kill: def $ax killed $ax killed $eax
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: trunc_16i8_to_16i1:
|
||||
@ -1357,6 +1368,7 @@ define i16 @trunc_16i32_to_16i1(<16 x i32> %a) {
|
||||
; KNL-NEXT: vptestmd %zmm0, %zmm0, %k0
|
||||
; KNL-NEXT: kmovw %k0, %eax
|
||||
; KNL-NEXT: # kill: def $ax killed $ax killed $eax
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: trunc_16i32_to_16i1:
|
||||
@ -1395,6 +1407,7 @@ define i8 @trunc_8i16_to_8i1(<8 x i16> %a) {
|
||||
; KNL-NEXT: vptestmq %zmm0, %zmm0, %k0
|
||||
; KNL-NEXT: kmovw %k0, %eax
|
||||
; KNL-NEXT: # kill: def $al killed $al killed $eax
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: trunc_8i16_to_8i1:
|
||||
@ -1467,6 +1480,7 @@ define <8 x i16> @sext_8i1_8i16(<8 x i32> %a1, <8 x i32> %a2) nounwind {
|
||||
; KNL-NEXT: vpcmpgtd %ymm0, %ymm1, %ymm0
|
||||
; KNL-NEXT: vpmovdw %zmm0, %ymm0
|
||||
; KNL-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
|
||||
; KNL-NEXT: vzeroupper
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: sext_8i1_8i16:
|
||||
@ -1515,18 +1529,12 @@ define <8 x i64> @sext_8i1_8i64(<8 x i32> %a1, <8 x i32> %a2) nounwind {
|
||||
}
|
||||
|
||||
define void @extload_v8i64(<8 x i8>* %a, <8 x i64>* %res) {
|
||||
; KNL-LABEL: extload_v8i64:
|
||||
; KNL: # %bb.0:
|
||||
; KNL-NEXT: vpmovsxbq (%rdi), %zmm0
|
||||
; KNL-NEXT: vmovdqa64 %zmm0, (%rsi)
|
||||
; KNL-NEXT: retq
|
||||
;
|
||||
; SKX-LABEL: extload_v8i64:
|
||||
; SKX: # %bb.0:
|
||||
; SKX-NEXT: vpmovsxbq (%rdi), %zmm0
|
||||
; SKX-NEXT: vmovdqa64 %zmm0, (%rsi)
|
||||
; SKX-NEXT: vzeroupper
|
||||
; SKX-NEXT: retq
|
||||
; ALL-LABEL: extload_v8i64:
|
||||
; ALL: # %bb.0:
|
||||
; ALL-NEXT: vpmovsxbq (%rdi), %zmm0
|
||||
; ALL-NEXT: vmovdqa64 %zmm0, (%rsi)
|
||||
; ALL-NEXT: vzeroupper
|
||||
; ALL-NEXT: retq
|
||||
%sign_load = load <8 x i8>, <8 x i8>* %a
|
||||
%c = sext <8 x i8> %sign_load to <8 x i64>
|
||||
store <8 x i64> %c, <8 x i64>* %res
|
||||
|
@ -1,5 +1,5 @@
|
||||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx512f | FileCheck %s
|
||||
|
||||
define void @foo() unnamed_addr #0 {
|
||||
; CHECK-LABEL: foo:
|
||||
|
Loading…
x
Reference in New Issue
Block a user