/external/llvm-project/llvm/test/CodeGen/X86/ |
D | xop-ifma.ll | 2 …e=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=XOP --check-prefix=XOP-AVX1 3 …=x86_64-unknown-unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=XOP --check-prefix=XOP-AVX2 6 ; XOP-LABEL: test_mul_v8i16_add_v8i16: 7 ; XOP: # %bb.0: 8 ; XOP-NEXT: vpmacsww %xmm2, %xmm1, %xmm0, %xmm0 9 ; XOP-NEXT: retq 16 ; XOP-AVX1-LABEL: test_mul_v16i16_add_v16i16: 17 ; XOP-AVX1: # %bb.0: 18 ; XOP-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 19 ; XOP-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm4 [all …]
|
D | vselect-pcmp.ll | 6 …llc < %s -mtriple=x86_64-unknown-unknown -mattr=xop | FileCheck %s --check-prefixes=CHECK,XOP 33 ; XOP-LABEL: signbit_sel_v8i16: 34 ; XOP: # %bb.0: 35 ; XOP-NEXT: vpxor %xmm3, %xmm3, %xmm3 36 ; XOP-NEXT: vpcomltw %xmm3, %xmm2, %xmm2 37 ; XOP-NEXT: vpblendvb %xmm2, %xmm0, %xmm1, %xmm0 38 ; XOP-NEXT: retq 69 ; XOP-LABEL: signbit_sel_v4i32: 70 ; XOP: # %bb.0: 71 ; XOP-NEXT: vblendvps %xmm2, %xmm0, %xmm1, %xmm0 [all …]
|
D | vector-mul.ll | 4 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+xop | FileCheck %s --check-prefixes=X64-AVX,X64-XOP 67 ; X64-XOP-LABEL: mul_v16i8_32: 68 ; X64-XOP: # %bb.0: 69 ; X64-XOP-NEXT: vpshlb {{.*}}(%rip), %xmm0, %xmm0 70 ; X64-XOP-NEXT: retq 100 ; X64-XOP-LABEL: mul_v2i64_32_8: 101 ; X64-XOP: # %bb.0: 102 ; X64-XOP-NEXT: vpshlq {{.*}}(%rip), %xmm0, %xmm0 103 ; X64-XOP-NEXT: retq 129 ; X64-XOP-LABEL: mul_v4i32_1_2_4_8: [all …]
|
D | vector-shift-by-select-loop.ll | 5 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=XOP 340 ; XOP-LABEL: vector_variable_shift_left_loop: 341 ; XOP: # %bb.0: # %entry 342 ; XOP-NEXT: testl %edx, %edx 343 ; XOP-NEXT: jle .LBB0_9 344 ; XOP-NEXT: # %bb.1: # %for.body.preheader 345 ; XOP-NEXT: movl %ecx, %r9d 346 ; XOP-NEXT: movl %edx, %eax 347 ; XOP-NEXT: cmpl $31, %edx 348 ; XOP-NEXT: ja .LBB0_3 [all …]
|
D | unfold-masked-merge-vector-variablemask-const.ll | 4 …RUN: llc -mtriple=x86_64-unknown-linux-gnu -mattr=+xop < %s | FileCheck %s --check-prefix=CHECK-XOP 31 ; CHECK-XOP-LABEL: out_constant_varx_mone: 32 ; CHECK-XOP: # %bb.0: 33 ; CHECK-XOP-NEXT: vmovdqa (%rdx), %xmm0 34 ; CHECK-XOP-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1 35 ; CHECK-XOP-NEXT: vpxor %xmm1, %xmm0, %xmm1 36 ; CHECK-XOP-NEXT: vpand (%rdi), %xmm0, %xmm0 37 ; CHECK-XOP-NEXT: vpor %xmm1, %xmm0, %xmm0 38 ; CHECK-XOP-NEXT: retq 67 ; CHECK-XOP-LABEL: in_constant_varx_mone: [all …]
|
D | combine-bitselect.ll | 3 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop | FileCheck %s --check-prefix=XOP 21 ; XOP-LABEL: bitselect_v2i64_rr: 22 ; XOP: # %bb.0: 23 ; XOP-NEXT: vpcmov {{.*}}(%rip), %xmm0, %xmm1, %xmm0 24 ; XOP-NEXT: retq 59 ; XOP-LABEL: bitselect_v2i64_rm: 60 ; XOP: # %bb.0: 61 ; XOP-NEXT: vmovdqa (%rdi), %xmm1 62 ; XOP-NEXT: vpcmov {{.*}}(%rip), %xmm0, %xmm1, %xmm0 63 ; XOP-NEXT: retq [all …]
|
D | combine-udiv.ll | 6 …llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefixes=CHECK,XOP 53 ; XOP-LABEL: combine_vec_udiv_by_negone: 54 ; XOP: # %bb.0: 55 ; XOP-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1 56 ; XOP-NEXT: vpcomeqd %xmm1, %xmm0, %xmm0 57 ; XOP-NEXT: vpsrld $31, %xmm0, %xmm0 58 ; XOP-NEXT: retq 85 ; XOP-LABEL: combine_vec_udiv_by_minsigned: 86 ; XOP: # %bb.0: 87 ; XOP-NEXT: vpsrld $31, %xmm0, %xmm0 [all …]
|
D | vec_cmp_sint-128.ll | 7 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=XOP 8 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=XOP 39 ; XOP-LABEL: eq_v2i64: 40 ; XOP: # %bb.0: 41 ; XOP-NEXT: vpcomeqq %xmm1, %xmm0, %xmm0 42 ; XOP-NEXT: retq 59 ; XOP-LABEL: eq_v4i32: 60 ; XOP: # %bb.0: 61 ; XOP-NEXT: vpcomeqd %xmm1, %xmm0, %xmm0 62 ; XOP-NEXT: retq [all …]
|
D | midpoint-int-vec-256.ll | 4 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop | FileCheck %s --check-prefix=XOP-FALLB… 53 ; XOP-FALLBACK-LABEL: vec256_i32_signed_reg_reg: 54 ; XOP-FALLBACK: # %bb.0: 55 ; XOP-FALLBACK-NEXT: vpminsd %xmm1, %xmm0, %xmm2 56 ; XOP-FALLBACK-NEXT: vextractf128 $1, %ymm1, %xmm3 57 ; XOP-FALLBACK-NEXT: vextractf128 $1, %ymm0, %xmm4 58 ; XOP-FALLBACK-NEXT: vpminsd %xmm3, %xmm4, %xmm5 59 ; XOP-FALLBACK-NEXT: vpmaxsd %xmm1, %xmm0, %xmm1 60 ; XOP-FALLBACK-NEXT: vpsubd %xmm2, %xmm1, %xmm1 61 ; XOP-FALLBACK-NEXT: vpmaxsd %xmm3, %xmm4, %xmm2 [all …]
|
D | oddshuffles.ll | 7 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+xop | FileCheck %s --check-prefix=XOP 32 ; XOP-LABEL: v3i64: 33 ; XOP: # %bb.0: 34 ; XOP-NEXT: vpunpcklqdq {{.*#+}} xmm1 = xmm0[0],xmm1[0] 35 ; XOP-NEXT: vpextrq $1, %xmm0, 16(%rdi) 36 ; XOP-NEXT: vmovdqa %xmm1, (%rdi) 37 ; XOP-NEXT: retq 57 ; XOP-LABEL: v3f64: 58 ; XOP: # %bb.0: 59 ; XOP-NEXT: vmovlhps {{.*#+}} xmm1 = xmm0[0],xmm1[0] [all …]
|
D | vec_cmp_uint-128.ll | 7 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=XOP 8 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=XOP 39 ; XOP-LABEL: eq_v2i64: 40 ; XOP: # %bb.0: 41 ; XOP-NEXT: vpcomeqq %xmm1, %xmm0, %xmm0 42 ; XOP-NEXT: retq 59 ; XOP-LABEL: eq_v4i32: 60 ; XOP: # %bb.0: 61 ; XOP-NEXT: vpcomeqd %xmm1, %xmm0, %xmm0 62 ; XOP-NEXT: retq [all …]
|
D | rotate_vec.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=bdver2 | FileCheck %s --check-prefixes=CHECK,XOP,XOPA… 3 ; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=bdver4 | FileCheck %s --check-prefixes=CHECK,XOP,XOPA… 7 ; XOP-LABEL: rot_v4i32_splat: 8 ; XOP: # %bb.0: 9 ; XOP-NEXT: vprotd $31, %xmm0, %xmm0 10 ; XOP-NEXT: retq 23 ; XOP-LABEL: rot_v4i32_non_splat: 24 ; XOP: # %bb.0: 25 ; XOP-NEXT: vprotd {{.*}}(%rip), %xmm0, %xmm0 26 ; XOP-NEXT: retq [all …]
|
D | combine-sdiv.ll | 8 …< %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefixes=CHECK,AVX,XOP 101 ; XOP-LABEL: combine_vec_sdiv_by_minsigned: 102 ; XOP: # %bb.0: 103 ; XOP-NEXT: vpcomeqd {{.*}}(%rip), %xmm0, %xmm0 104 ; XOP-NEXT: vpsrld $31, %xmm0, %xmm0 105 ; XOP-NEXT: retq 160 ; XOP-LABEL: combine_vec_sdiv_dupe: 161 ; XOP: # %bb.0: 162 ; XOP-NEXT: vmovaps {{.*#+}} xmm0 = [1,1,1,1] 163 ; XOP-NEXT: retq [all …]
|
D | combine-rotates.ll | 3 …llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+xop | FileCheck %s --check-prefixes=CHECK,XOP 25 ; XOP-LABEL: combine_vec_rot_rot: 26 ; XOP: # %bb.0: 27 ; XOP-NEXT: vprotd {{.*}}(%rip), %xmm0, %xmm0 28 ; XOP-NEXT: retq 59 ; XOP-LABEL: combine_vec_rot_rot_splat: 60 ; XOP: # %bb.0: 61 ; XOP-NEXT: vprotd $7, %xmm0, %xmm0 62 ; XOP-NEXT: retq 145 ; XOP-LABEL: combine_vec_rot_select_zero: [all …]
|
D | var-permute-256.ll | 2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop | FileCheck %s --check-prefix=XOP 15 ; XOP-LABEL: var_shuffle_v4i64: 16 ; XOP: # %bb.0: 17 ; XOP-NEXT: vperm2f128 {{.*#+}} ymm2 = ymm0[2,3,2,3] 18 ; XOP-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0 19 ; XOP-NEXT: vpaddq %xmm1, %xmm1, %xmm3 20 ; XOP-NEXT: vextractf128 $1, %ymm1, %xmm1 21 ; XOP-NEXT: vpaddq %xmm1, %xmm1, %xmm1 22 ; XOP-NEXT: vinsertf128 $1, %xmm1, %ymm3, %ymm1 23 ; XOP-NEXT: vpermil2pd $0, %ymm1, %ymm2, %ymm0, %ymm0 [all …]
|
D | oddsubvector.ll | 9 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+xop | FileCheck %s --check-prefixes=AVX,XOP 313 ; XOP-LABEL: PR42833: 314 ; XOP: # %bb.0: 315 ; XOP-NEXT: vmovdqa c+{{.*}}(%rip), %xmm0 316 ; XOP-NEXT: vmovd %xmm0, %eax 317 ; XOP-NEXT: addl {{.*}}(%rip), %eax 318 ; XOP-NEXT: vmovd %eax, %xmm1 319 ; XOP-NEXT: vpaddd %xmm1, %xmm0, %xmm1 320 ; XOP-NEXT: vpaddd %xmm0, %xmm0, %xmm2 321 ; XOP-NEXT: vmovdqa c+{{.*}}(%rip), %xmm3 [all …]
|
D | midpoint-int-vec-128.ll | 6 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop | FileCheck %s --check-prefixes=XOP,XOP… 7 …c < %s -mtriple=x86_64-unknown-unknown -mattr=+xop,+avx | FileCheck %s --check-prefixes=XOP,XOPAVX1 8 … < %s -mtriple=x86_64-unknown-unknown -mattr=+xop,+avx2 | FileCheck %s --check-prefixes=XOP,XOPAVX2 94 ; XOP-FALLBACK-LABEL: vec128_i32_signed_reg_reg: 95 ; XOP-FALLBACK: # %bb.0: 96 ; XOP-FALLBACK-NEXT: vpcomgtd %xmm1, %xmm0, %xmm2 97 ; XOP-FALLBACK-NEXT: vpor {{.*}}(%rip), %xmm2, %xmm2 98 ; XOP-FALLBACK-NEXT: vpminsd %xmm1, %xmm0, %xmm3 99 ; XOP-FALLBACK-NEXT: vpmaxsd %xmm1, %xmm0, %xmm1 100 ; XOP-FALLBACK-NEXT: vpsubd %xmm3, %xmm1, %xmm1 [all …]
|
D | vector-shuffle-v48.ll | 3 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mattr=+xop | FileCheck %s --check-prefix=XOP 24 ; XOP-LABEL: foo: 25 ; XOP: # %bb.0: 26 ; XOP-NEXT: vmovdqu (%rdi), %xmm0 27 ; XOP-NEXT: vmovdqu 16(%rdi), %xmm1 28 ; XOP-NEXT: vmovdqu 32(%rdi), %xmm2 29 ; XOP-NEXT: vpperm {{.*#+}} xmm0 = xmm0[0,1,3,4,6,7,9,10,12,13,15],xmm1[0,2,3,5,6] 30 ; XOP-NEXT: vpperm {{.*#+}} xmm1 = xmm1[8,9,11,12,14,15],xmm2[1,2,4,5,7,8,10,11,13,14] 31 ; XOP-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 32 ; XOP-NEXT: retq
|
/external/llvm/test/CodeGen/X86/ |
D | vec_cmp_sint-128.ll | 7 …-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 8 …unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 39 ; XOP-LABEL: eq_v2i64: 40 ; XOP: # BB#0: 41 ; XOP-NEXT: vpcomeqq %xmm1, %xmm0, %xmm0 42 ; XOP-NEXT: retq 59 ; XOP-LABEL: eq_v4i32: 60 ; XOP: # BB#0: 61 ; XOP-NEXT: vpcomeqd %xmm1, %xmm0, %xmm0 62 ; XOP-NEXT: retq [all …]
|
D | vec_cmp_uint-128.ll | 7 …-unknown -mattr=+avx,+xop | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 8 …unknown -mattr=+avx2,+xop | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 39 ; XOP-LABEL: eq_v2i64: 40 ; XOP: # BB#0: 41 ; XOP-NEXT: vpcomeqq %xmm1, %xmm0, %xmm0 42 ; XOP-NEXT: retq 59 ; XOP-LABEL: eq_v4i32: 60 ; XOP: # BB#0: 61 ; XOP-NEXT: vpcomeqd %xmm1, %xmm0, %xmm0 62 ; XOP-NEXT: retq [all …]
|
D | vector-shift-shl-128.ll | 6 …-unknown -mattr=+xop,+avx | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 7 …unknown -mattr=+xop,+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=XOP --check-prefix=XOPA… 244 ; XOP-LABEL: var_shift_v8i16: 245 ; XOP: # BB#0: 246 ; XOP-NEXT: vpshlw %xmm1, %xmm0, %xmm0 247 ; XOP-NEXT: retq 364 ; XOP-LABEL: var_shift_v16i8: 365 ; XOP: # BB#0: 366 ; XOP-NEXT: vpshlb %xmm1, %xmm0, %xmm0 367 ; XOP-NEXT: retq [all …]
|
/external/llvm-project/llvm/test/Transforms/CodeGenPrepare/X86/ |
D | x86-shuffle-sink.ll | 3 ; RUN: opt -S -codegenprepare -mcpu=bdver2 %s | FileCheck %s --check-prefixes=CHECK,CHECK-XOP 42 ; CHECK-XOP-LABEL: @test_16bit( 43 ; CHECK-XOP-NEXT: [[MASK:%.*]] = shufflevector <8 x i16> [[TMP:%.*]], <8 x i16> undef, <8 x i32>… 44 ; CHECK-XOP-NEXT: br i1 [[TST:%.*]], label [[IF_TRUE:%.*]], label [[IF_FALSE:%.*]] 45 ; CHECK-XOP: if_true: 46 ; CHECK-XOP-NEXT: ret <8 x i16> [[MASK]] 47 ; CHECK-XOP: if_false: 48 ; CHECK-XOP-NEXT: [[RES:%.*]] = shl <8 x i16> [[LHS:%.*]], [[MASK]] 49 ; CHECK-XOP-NEXT: ret <8 x i16> [[RES]] 113 ; CHECK-XOP-LABEL: @test_32bit( [all …]
|
D | vec-shift.ll | 5 … -codegenprepare -mtriple=x86_64-- -mattr=+avx,+xop -S < %s | FileCheck %s --check-prefixes=ALL,XOP 6 …-codegenprepare -mtriple=x86_64-- -mattr=+avx2,+xop -S < %s | FileCheck %s --check-prefixes=ALL,XOP 33 ; XOP-LABEL: @vector_variable_shift_right_v4i32( 34 ; XOP-NEXT: [[SPLAT1:%.*]] = shufflevector <4 x i32> [[X:%.*]], <4 x i32> undef, <4 x i32> zeroi… 35 ; XOP-NEXT: [[SPLAT2:%.*]] = shufflevector <4 x i32> [[Y:%.*]], <4 x i32> undef, <4 x i32> zeroi… 36 ; XOP-NEXT: [[SEL:%.*]] = select <4 x i1> [[COND:%.*]], <4 x i32> [[SPLAT1]], <4 x i32> [[SPLAT2… 37 ; XOP-NEXT: [[SH:%.*]] = lshr <4 x i32> [[Z:%.*]], [[SEL]] 38 ; XOP-NEXT: ret <4 x i32> [[SH]] 73 ; XOP-LABEL: @vector_variable_shift_right_v16i16( 74 ; XOP-NEXT: [[SPLAT1:%.*]] = shufflevector <16 x i16> [[X:%.*]], <16 x i16> undef, <16 x i32> ze… [all …]
|
/external/llvm/test/Analysis/CostModel/X86/ |
D | ctbits-cost.ll | 5 …ver2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=XOP -check-prefix=XOPAV… 6 …ver4 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=XOP -check-prefix=XOPAV… 24 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 33 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 42 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 51 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 60 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 69 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 78 ; XOP: Found an estimated cost of 2 for instruction: %ctpop 87 ; XOP: Found an estimated cost of 2 for instruction: %ctpop [all …]
|
D | bitreverse.ll | 5 …ver2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=XOP -check-prefix=XOPAVX 6 …ver4 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=XOP -check-prefix=XOPAV… 21 ; XOP: Found an estimated cost of 3 for instruction: %bitreverse 32 ; XOP: Found an estimated cost of 3 for instruction: %bitreverse 43 ; XOP: Found an estimated cost of 3 for instruction: %bitreverse 54 ; XOP: Found an estimated cost of 3 for instruction: %bitreverse 77 ; XOP: Found an estimated cost of 1 for instruction: %bitreverse 88 ; XOP: Found an estimated cost of 4 for instruction: %bitreverse 99 ; XOP: Found an estimated cost of 1 for instruction: %bitreverse 110 ; XOP: Found an estimated cost of 4 for instruction: %bitreverse [all …]
|