/external/llvm-project/llvm/test/CodeGen/X86/ |
D | build-vector-512.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX-32 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX-64 4 …c < %s -mtriple=i686-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX-32 5 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX-64 8 ; AVX-32-LABEL: test_buildvector_v8f64: 9 ; AVX-32: # %bb.0: 10 ; AVX-32-NEXT: vmovups {{[0-9]+}}(%esp), %zmm0 11 ; AVX-32-NEXT: retl 13 ; AVX-64-LABEL: test_buildvector_v8f64: 14 ; AVX-64: # %bb.0: [all …]
|
D | fp-strict-scalar-round.ll | 4 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefix=AVX-X86 5 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefix=AVX-X… 6 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX… 7 … llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f -O3 | FileCheck %s --check-prefix=AVX-X64 43 ; AVX-X86-LABEL: fceil32: 44 ; AVX-X86: # %bb.0: 45 ; AVX-X86-NEXT: pushl %eax 46 ; AVX-X86-NEXT: .cfi_def_cfa_offset 8 47 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero 48 ; AVX-X86-NEXT: vroundss $10, %xmm0, %xmm0, %xmm0 [all …]
|
D | broadcast-elm-cross-splat-vec.ll | 2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX 6 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX-64 20 ; AVX-LABEL: f16xi8_i16: 21 ; AVX: # %bb.0: 22 ; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1] 23 ; AVX-NEXT: vpaddb %xmm1, %xmm0, %xmm0 24 ; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0 25 ; AVX-NEXT: retl 34 ; AVX-64-LABEL: f16xi8_i16: 35 ; AVX-64: # %bb.0: [all …]
|
D | load-scalar-as-vector.ll | 4 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefix=AVX 5 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefix=AVX 6 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512dq,+avx512bw | FileCheck %s --check-prefix=AVX 16 ; AVX-LABEL: add_op1_constant: 17 ; AVX: # %bb.0: 18 ; AVX-NEXT: movl (%rdi), %eax 19 ; AVX-NEXT: addl $42, %eax 20 ; AVX-NEXT: vmovd %eax, %xmm0 21 ; AVX-NEXT: retq 38 ; AVX-LABEL: add_op1_constant_optsize: [all …]
|
D | haddsub.ll | 4 … %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX-SLOW 5 … %s -mtriple=x86_64-unknown -mattr=+avx,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST 6 … %s -mtriple=x86_64-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX-SLOW 7 … %s -mtriple=x86_64-unknown -mattr=+avx2,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST 8 … %s -mtriple=x86_64-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX,AVX-SLOW 9 … %s -mtriple=x86_64-unknown -mattr=+avx512f,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST 17 ; AVX-LABEL: haddpd1: 18 ; AVX: # %bb.0: 19 ; AVX-NEXT: vhaddpd %xmm1, %xmm0, %xmm0 20 ; AVX-NEXT: retq [all …]
|
D | merge-consecutive-loads-256.ll | 2 …e -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1 3 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2 4 …riple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX5… 7 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X86-AVX 10 ; AVX-LABEL: merge_4f64_2f64_23: 11 ; AVX: # %bb.0: 12 ; AVX-NEXT: vmovups 32(%rdi), %ymm0 13 ; AVX-NEXT: retq 15 ; X86-AVX-LABEL: merge_4f64_2f64_23: 16 ; X86-AVX: # %bb.0: [all …]
|
D | extractelement-index.ll | 4 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx | FileCheck %s --check-prefix=AVX --check-p… 5 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-p… 16 ; AVX-LABEL: extract_undef_index_from_zero_vec: 17 ; AVX: # %bb.0: 18 ; AVX-NEXT: retq 28 ; AVX-LABEL: extract_undef_index_from_nonzero_vec: 29 ; AVX: # %bb.0: 30 ; AVX-NEXT: retq 49 ; AVX-LABEL: extractelement_v16i8_1: 50 ; AVX: # %bb.0: [all …]
|
D | fp-strict-scalar.ll | 4 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+fma -O3 | FileCheck %s --check-prefixes=AVX-X… 5 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+fma -O3 | FileCheck %s --check-prefixes=AVX… 6 …e=i686-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefixes=AVX-X86 7 …x86_64-unknown-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefixes=AVX-X64 46 ; AVX-X86-LABEL: fadd_f64: 47 ; AVX-X86: # %bb.0: 48 ; AVX-X86-NEXT: pushl %ebp 49 ; AVX-X86-NEXT: movl %esp, %ebp 50 ; AVX-X86-NEXT: andl $-8, %esp 51 ; AVX-X86-NEXT: subl $8, %esp [all …]
|
D | srem-vector-lkk.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AV… 4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AV… 58 ; AVX-LABEL: fold_srem_vec_1: 59 ; AVX: # %bb.0: 60 ; AVX-NEXT: vpextrw $3, %xmm0, %eax 61 ; AVX-NEXT: movswl %ax, %ecx 62 ; AVX-NEXT: imull $32081, %ecx, %ecx # imm = 0x7D51 63 ; AVX-NEXT: shrl $16, %ecx 64 ; AVX-NEXT: subl %eax, %ecx 65 ; AVX-NEXT: movzwl %cx, %ecx [all …]
|
D | scalarize-fp.ll | 3 ; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefix=AVX 11 ; AVX-LABEL: fadd_op1_constant_v4f32: 12 ; AVX: # %bb.0: 13 ; AVX-NEXT: vaddss {{.*}}(%rip), %xmm0, %xmm0 14 ; AVX-NEXT: retq 27 ; AVX-LABEL: load_fadd_op1_constant_v4f32: 28 ; AVX: # %bb.0: 29 ; AVX-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero 30 ; AVX-NEXT: vaddss {{.*}}(%rip), %xmm0, %xmm0 31 ; AVX-NEXT: retq [all …]
|
D | phaddsub-extract.ll | 4 …le=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX-SLOW,AVX1-SLOW 5 …le=x86_64-unknown -mattr=+avx,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST,AVX1-FAST 6 …le=x86_64-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX-SLOW,AVX2-SLOW 7 …le=x86_64-unknown -mattr=+avx2,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST,AVX2-FAST 8 …=x86_64-unknown -mattr=+avx512vl | FileCheck %s --check-prefixes=AVX,AVX-SLOW,AVX512-SLOW 9 …=x86_64-unknown -mattr=+avx512vl,fast-hops | FileCheck %s --check-prefixes=AVX,AVX-FAST,AVX512-FAST 28 ; AVX-SLOW-LABEL: extract_extract01_v4i32_add_i32: 29 ; AVX-SLOW: # %bb.0: 30 ; AVX-SLOW-NEXT: vmovd %xmm0, %ecx 31 ; AVX-SLOW-NEXT: vpextrd $1, %xmm0, %eax [all …]
|
D | vec-strict-fptoint-256.ll | 2 …< %s -mtriple=i686-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefixes=CHECK,AVX,AVX-32 3 …%s -mtriple=x86_64-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefixes=CHECK,AVX,AVX-64 38 ; AVX-32-LABEL: strict_vector_fptosi_v4f64_to_v4i64: 39 ; AVX-32: # %bb.0: 40 ; AVX-32-NEXT: pushl %ebp 41 ; AVX-32-NEXT: .cfi_def_cfa_offset 8 42 ; AVX-32-NEXT: .cfi_offset %ebp, -8 43 ; AVX-32-NEXT: movl %esp, %ebp 44 ; AVX-32-NEXT: .cfi_def_cfa_register %ebp 45 ; AVX-32-NEXT: andl $-8, %esp [all …]
|
D | fp-strict-scalar-inttofp.ll | 4 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefixes=AVX-X… 5 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx -O3 | FileCheck %s --check-prefixes=AVX… 6 …own-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefixes=AVX-X86,AVX512-X86 7 …own-unknown -mattr=+avx512f -mattr=+avx512vl -O3 | FileCheck %s --check-prefixes=AVX-X64,AVX512-X64 57 ; AVX-X86-LABEL: sitofp_i1tof32: 58 ; AVX-X86: # %bb.0: 59 ; AVX-X86-NEXT: pushl %eax 60 ; AVX-X86-NEXT: .cfi_def_cfa_offset 8 61 ; AVX-X86-NEXT: movb {{[0-9]+}}(%esp), %al 62 ; AVX-X86-NEXT: andb $1, %al [all …]
|
D | combine-add.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX 11 ; AVX-LABEL: combine_vec_add_to_zero: 12 ; AVX: # %bb.0: 13 ; AVX-NEXT: retq 27 ; AVX-LABEL: combine_vec_add_constant_sub: 28 ; AVX: # %bb.0: 29 ; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [0,2,4,6] 30 ; AVX-NEXT: vpsubd %xmm0, %xmm1, %xmm0 31 ; AVX-NEXT: retq 45 ; AVX-LABEL: combine_vec_add_neg0: [all …]
|
D | widen_load-3.ll | 3 ; RUN: llc < %s -mtriple=i686-linux -mattr=+avx | FileCheck %s --check-prefix=X86-AVX 4 ; RUN: llc < %s -mtriple=i686-linux -mattr=+avx2 | FileCheck %s --check-prefix=X86-AVX 6 ; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx | FileCheck %s --check-prefix=X64-AVX 7 ; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx2 | FileCheck %s --check-prefix=X64-AVX 28 ; X86-AVX-LABEL: load7_aligned: 29 ; X86-AVX: # %bb.0: 30 ; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax 31 ; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx 32 ; X86-AVX-NEXT: vmovaps (%ecx), %ymm0 33 ; X86-AVX-NEXT: vmovaps 48(%ecx), %xmm1 [all …]
|
D | vec-copysign.ll | 2 … llc < %s -mtriple=x86_64-apple-macosx10.10.0 -mattr=+avx | FileCheck %s --check-prefixes=CHECK,AVX 27 ; AVX-LABEL: v4f32: 28 ; AVX: # %bb.0: 29 ; AVX-NEXT: vandps [[SIGNMASK1]](%rip), %xmm1, %xmm1 30 ; AVX-NEXT: vandps [[MAGMASK1]](%rip), %xmm0, %xmm0 31 ; AVX-NEXT: vorps %xmm1, %xmm0, %xmm0 32 ; AVX-NEXT: retq 44 ; AVX: [[SIGNMASK2:L.+]]: 45 ; AVX-NEXT: .long 0x80000000 46 ; AVX-NEXT: .long 0x80000000 [all …]
|
/external/llvm/test/CodeGen/X86/ |
D | vec_fp_to_int.ll | 2 …nknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1 25 ; AVX-LABEL: fptosi_2f64_to_2i64: 26 ; AVX: # BB#0: 27 ; AVX-NEXT: vcvttsd2si %xmm0, %rax 28 ; AVX-NEXT: vmovq %rax, %xmm1 29 ; AVX-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0] 30 ; AVX-NEXT: vcvttsd2si %xmm0, %rax 31 ; AVX-NEXT: vmovq %rax, %xmm0 32 ; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm1[0],xmm0[0] 33 ; AVX-NEXT: retq [all …]
|
D | machine-combiner.ll | 2 …known-unknown -mcpu=x86-64 -mattr=avx -enable-unsafe-fp-math < %s | FileCheck %s --check-prefix=AVX 15 ; AVX-LABEL: reassociate_adds1: 16 ; AVX: # BB#0: 17 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 18 ; AVX-NEXT: vaddss %xmm3, %xmm2, %xmm1 19 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 20 ; AVX-NEXT: retq 35 ; AVX-LABEL: reassociate_adds2: 36 ; AVX: # BB#0: 37 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 [all …]
|
D | merge-consecutive-loads-256.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --che… 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --ch… 4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX -… 7 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X32-AVX 10 ; AVX-LABEL: merge_4f64_2f64_23: 11 ; AVX: # BB#0: 12 ; AVX-NEXT: vmovups 32(%rdi), %ymm0 13 ; AVX-NEXT: retq 15 ; X32-AVX-LABEL: merge_4f64_2f64_23: 16 ; X32-AVX: # BB#0: [all …]
|
D | all-ones-vector.ll | 3 …lc < %s -mtriple=i386-unknown -mattr=+avx | FileCheck %s --check-prefix=X32 --check-prefix=X32-AVX 5 … < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=X64-AVX 13 ; X32-AVX-LABEL: coo: 14 ; X32-AVX: # BB#0: 15 ; X32-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 16 ; X32-AVX-NEXT: retl 23 ; X64-AVX-LABEL: coo: 24 ; X64-AVX: # BB#0: 25 ; X64-AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0 26 ; X64-AVX-NEXT: retq [all …]
|
D | vec_floor.ll | 3 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+avx | FileCheck %s --check-prefix=AVX 11 ; AVX-LABEL: floor_v2f64: 12 ; AVX: ## BB#0: 13 ; AVX-NEXT: vroundpd $9, %xmm0, %xmm0 14 ; AVX-NEXT: retq 26 ; AVX-LABEL: floor_v4f32: 27 ; AVX: ## BB#0: 28 ; AVX-NEXT: vroundps $9, %xmm0, %xmm0 29 ; AVX-NEXT: retq 42 ; AVX-LABEL: floor_v4f64: [all …]
|
D | commute-fcmp.ll | 3 …N: llc -O3 -mtriple=x86_64-unknown -mcpu=x86-64 -mattr=+avx2 < %s | FileCheck %s --check-prefix=AVX 16 ; AVX-LABEL: commute_cmpps_eq: 17 ; AVX: # BB#0: 18 ; AVX-NEXT: vcmpeqps (%rdi), %xmm0, %xmm0 19 ; AVX-NEXT: retq 33 ; AVX-LABEL: commute_cmpps_ne: 34 ; AVX: # BB#0: 35 ; AVX-NEXT: vcmpneqps (%rdi), %xmm0, %xmm0 36 ; AVX-NEXT: retq 50 ; AVX-LABEL: commute_cmpps_ord: [all …]
|
D | sse-scalar-fp-arith.ll | 3 ; RUN: llc -mcpu=x86-64 -mattr=+avx < %s | FileCheck --check-prefix=AVX %s 17 ; AVX-LABEL: test_add_ss: 18 ; AVX: # BB#0: 19 ; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 20 ; AVX-NEXT: retq 34 ; AVX-LABEL: test_sub_ss: 35 ; AVX: # BB#0: 36 ; AVX-NEXT: vsubss %xmm1, %xmm0, %xmm0 37 ; AVX-NEXT: retq 51 ; AVX-LABEL: test_mul_ss: [all …]
|
D | extractelement-index.ll | 4 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx | FileCheck %s --check-prefix=AVX --check-p… 5 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-p… 24 ; AVX-LABEL: extractelement_v16i8_1: 25 ; AVX: # BB#0: 26 ; AVX-NEXT: vpextrb $1, %xmm0, %eax 27 ; AVX-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> 28 ; AVX-NEXT: retq 46 ; AVX-LABEL: extractelement_v16i8_11: 47 ; AVX: # BB#0: 48 ; AVX-NEXT: vpextrb $11, %xmm0, %eax [all …]
|
D | avx-intrinsics-x86.ll | 2 ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=avx,aes,pclmul | FileCheck %s --check-prefix=AVX 6 ; AVX-LABEL: test_x86_aesni_aesdec: 7 ; AVX: ## BB#0: 8 ; AVX-NEXT: vaesdec %xmm1, %xmm0, %xmm0 9 ; AVX-NEXT: retl 22 ; AVX-LABEL: test_x86_aesni_aesdeclast: 23 ; AVX: ## BB#0: 24 ; AVX-NEXT: vaesdeclast %xmm1, %xmm0, %xmm0 25 ; AVX-NEXT: retl 38 ; AVX-LABEL: test_x86_aesni_aesenc: [all …]
|