Searched refs:AVX2 (Results 1 – 25 of 41) sorted by relevance
12
3 ; RUN: llc < %s -mcpu=core-avx2 | FileCheck %s -check-prefix=CHECK-AVX24 …re-avx2 -x86-experimental-vector-widening-legalization | FileCheck %s -check-prefix=CHECK-WIDE-AVX232 ; CHECK-AVX2-LABEL: @test133 ; CHECK-AVX2: vpshufb34 ; CHECK-AVX2-NEXT: retq36 ; CHECK-WIDE-AVX2-LABEL: @test137 ; CHECK-WIDE-AVX2: vpshufb38 ; CHECK-WIDE-AVX2-NEXT: retq57 ; CHECK-AVX2-LABEL: @test258 ; CHECK-AVX2: vpshufb[all …]
3 ; RUN: llc < %s -march=x86-64 -mcpu=core-avx2 | FileCheck %s -check-prefix=AVX218 ; AVX2-LABEL: test1:19 ; AVX2: vpabsd20 ; AVX2-NEXT: ret43 ; AVX2-LABEL: test2:44 ; AVX2: vpabsd45 ; AVX2-NEXT: ret68 ; AVX2-LABEL: test3:69 ; AVX2: vpabsw70 ; AVX2-NEXT: ret[all …]
3 ; RUN: llc -march=x86-64 -mcpu=core-avx2 < %s | FileCheck %s -check-prefix=AVX214 ; AVX2-LABEL: split16:15 ; AVX2: vpminuw16 ; AVX2: ret35 ; AVX2-LABEL: split32:36 ; AVX2: vpminuw37 ; AVX2: vpminuw38 ; AVX2: ret62 ; AVX2-LABEL: split128:63 ; AVX2: addq[all …]
3 ; RUN: llc < %s -march=x86-64 -mcpu=core-avx2 | FileCheck -check-prefix=AVX2 %s21 ; AVX2-LABEL: test1:22 ; AVX2: vpmovsxbq32 ; AVX2-LABEL: test2:33 ; AVX2: vpmovsxbq49 ; AVX2-LABEL: test3:50 ; AVX2: vpmovsxbd60 ; AVX2-LABEL: test4:61 ; AVX2: vpmovsxbd77 ; AVX2-LABEL: test5:[all …]
3 …le=x86_64-unknown-linux-gnu -mcpu=core-avx2 | FileCheck %s --check-prefix=CHECK --check-prefix=AVX222 ; AVX2: vpsrlw23 ; AVX2-NEXT: vpsrlw24 ; AVX2-NEXT: vmovss39 ; AVX2: vpsrlw40 ; AVX2-NEXT: vpsrlw41 ; AVX2-NEXT: vmovsd56 ; AVX2: vpsrlvd71 ; AVX2: vpsrlvd91 ; AVX2: vpsraw[all …]
2 …inux-gnu -mcpu=core-avx2 | FileCheck %s -check-prefix=CHECK -check-prefix=AVX2 -check-prefix=AVX2O…3 …nown-linux-gnu -mcpu=knl | FileCheck %s -check-prefix=CHECK -check-prefix=AVX2 -check-prefix=AVX51239 ; AVX2: vpsllvd50 ; AVX2: vpsllvd54 ; If we have AVX/SSE2 but not AVX2, verify that the following shift is split55 ; into two pmullw instructions. With AVX2, the test case below would produce65 ; AVX2: vpmullw66 ; AVX2-NOT: vpmullw70 ; If we have AVX/SSE4.1 but not AVX2, verify that the following shift is split71 ; into two pmulld instructions. With AVX2, the test case below would produce[all …]
8 ; RUN: llc < %s -mtriple=i386-pc-mingw32 -mcpu=core-avx2 | FileCheck %s -check-prefix=AVX236 ; AVX2-LABEL: test1:37 ; AVX2: andl $-3238 ; AVX2: movl %esp, %esi39 ; AVX2: vmovaps %ymm69 ; AVX2-LABEL: test2:70 ; AVX2: andl $-1671 ; AVX2: movl %esp, %esi72 ; AVX2: vmovaps %xmm
3 ; RUN: llc -mcpu=core-avx2 < %s | FileCheck %s -check-prefix=AVX234 ; AVX2: @test135 ; AVX2: vpsubusw LCPI0_0(%rip), %xmm0, %xmm064 ; AVX2: @test265 ; AVX2: vpsubusw LCPI1_0(%rip), %xmm0, %xmm096 ; AVX2: @test397 ; AVX2: vpsubusw %xmm0, %xmm1, %xmm1126 ; AVX2: @test4127 ; AVX2: vpsubusb LCPI3_0(%rip), %xmm0, %xmm0156 ; AVX2: @test5[all …]
4 ; RUN: llc -march=x86-64 -mcpu=core-avx2 -mattr=+avx2 < %s | FileCheck %s -check-prefix=AVX234 ; AVX2-LABEL: test1:35 ; AVX2: vpminsb66 ; AVX2-LABEL: test2:67 ; AVX2: vpminsb98 ; AVX2-LABEL: test3:99 ; AVX2: vpmaxsb130 ; AVX2-LABEL: test4:131 ; AVX2: vpmaxsb162 ; AVX2-LABEL: test5:[all …]
3 ; RUN: llc < %s -march=x86-64 -mcpu=core-avx2 | FileCheck %s -check-prefix=CHECK -check-prefix=AVX225 ; AVX2: vhaddps47 ; AVX2: vhaddps69 ; AVX2: vhaddps111 ; AVX2: vhaddps129 ; AVX2: vhaddps178 ; AVX2: vhaddps196 ; AVX2: vhaddps213 ; AVX2: vhaddps240 ; AVX2: vhaddps[all …]
4 ; RUN: llc < %s -march=x86-64 -mcpu=core-avx2 | FileCheck %s -check-prefix=CHECK -check-prefix=AVX2127 ; AVX2 vphaddd154 ; AVX2 vphaddd181 ; AVX2 vphsubd208 ; AVX2 vphsubd302 ; AVX2: vhaddpd303 ; AVX2: vhaddpd333 ; AVX2: vhsubpd334 ; AVX2: vhsubpd379 ; AVX2: vphaddd[all …]
3 ; AVX2 Logical Shift Left105 ; AVX2 Arithmetic Shift
2 …ple=x86_64-apple-macosx10.8.0 -mcpu=core-avx2 | FileCheck -check-prefix=CHECK -check-prefix=AVX2 %s10 ;AVX2: cost of 1 {{.*}} fcmp13 ;AVX2: cost of 1 {{.*}} fcmp16 ;AVX2: cost of 1 {{.*}} fcmp19 ;AVX2: cost of 1 {{.*}} fcmp22 ;AVX2: cost of 1 {{.*}} fcmp28 ;AVX2: cost of 1 {{.*}} icmp31 ;AVX2: cost of 1 {{.*}} icmp34 ;AVX2: cost of 1 {{.*}} icmp37 ;AVX2: cost of 1 {{.*}} icmp[all …]
3 …odel -analyze -mtriple=x86_64-apple-macosx10.8.0 -mcpu=core-avx2 | FileCheck %s --check-prefix=AVX259 ; AVX2: avx2mull61 ; AVX2: cost of 9 {{.*}} mul64 ; AVX2: fmul77 ; AVX2: shift80 ; AVX2: cost of 1 {{.*}} shl83 ; AVX2: cost of 1 {{.*}} shl87 ; AVX2: cost of 1 {{.*}} lshr90 ; AVX2: cost of 1 {{.*}} lshr94 ; AVX2: cost of 1 {{.*}} ashr[all …]
1 …64-apple-macosx10.8.0 -mcpu=core-avx2 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-AVX237 ; CHECK-AVX2-LABEL: for function 'zext_sext'39 ;CHECK-AVX2: cost of 3 {{.*}} zext42 ;CHECK-AVX2: cost of 3 {{.*}} sext46 ;CHECK-AVX2: cost of 1 {{.*}} zext49 ;CHECK-AVX2: cost of 1 {{.*}} sext52 ;CHECK-AVX2: cost of 1 {{.*}} sext55 ;CHECK-AVX2: cost of 1 {{.*}} zext58 ;CHECK-AVX2: cost of 1 {{.*}} sext62 ;CHECK-AVX2: cost of 3 {{.*}} zext[all …]
2 …le=x86_64-apple-darwin -mcpu=core-avx2 -cost-model -analyze < %s | FileCheck --check-prefix=AVX2 %s20 ; AVX2: div_avx21 ; AVX2: cost of 640 {{.*}} sdiv23 ; AVX2: cost of 320 {{.*}} sdiv25 ; AVX2: cost of 160 {{.*}} sdiv27 ; AVX2: cost of 80 {{.*}} sdiv
2 …inux-gnu -mcpu=core-avx2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX210 ; AVX2: Found an estimated cost of 15 for instruction: %div19 ; AVX2: Found an estimated cost of 15 for instruction: %div28 ; AVX2: Found an estimated cost of 6 for instruction: %div37 ; AVX2: Found an estimated cost of 6 for instruction: %div46 ; AVX2: Found an estimated cost of 6 for instruction: %div55 ; AVX2: Found an estimated cost of 6 for instruction: %div64 ; AVX2: Found an estimated cost of 320 for instruction: %div73 ; AVX2: Found an estimated cost of 15 for instruction: %div82 ; AVX2: Found an estimated cost of 15 for instruction: %div[all …]
5 …inux-gnu -mcpu=core-avx2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX223 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector34 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector45 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector56 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector70 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector81 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector93 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector105 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector118 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector[all …]
4 …inux-gnu -mcpu=core-avx2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX241 ; AVX2: Found an estimated cost of 1 for instruction: %shl52 ; AVX2: Found an estimated cost of 1 for instruction: %shl55 ; On AVX2 we are able to lower the following shift into a single68 ; AVX2: Found an estimated cost of 1 for instruction: %shl72 ; vector multiply instructions. With AVX (but not AVX2), the vector multiply75 ; With AVX2, instruction vpmullw works with 256bit quantities and92 ; AVX2: Found an estimated cost of 1 for instruction: %shl107 ; AVX2: Found an estimated cost of 1 for instruction: %shl110 ; On AVX2 we are able to lower the following shift into a single[all …]
4 …inux-gnu -mcpu=core-avx2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX217 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <2 x i1>27 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <2 x i1>37 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <4 x i1>47 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <4 x i1>57 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <16 x i1>69 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <4 x i1>79 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <4 x i1>89 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <8 x i1>99 ; AVX2: Cost Model: {{.*}} 1 for instruction: %sel = select <8 x i1>[all …]
4 …xcost=true -analyze -mcpu=core-avx2 -mtriple=x86_64-apple-darwin | FileCheck %s --check-prefix=AVX2106 ; AVX2: cost of 2 {{.*}} extractelement120 ; AVX2: cost of 3 {{.*}} extractelement133 ; AVX2: cost of 3 {{.*}} extractelement148 ; AVX2: cost of 4 {{.*}} extractelement160 ; AVX2: cost of 1 {{.*}} extractelement174 ; AVX2: cost of 3 {{.*}} extractelement187 ; AVX2: cost of 3 {{.*}} extractelement203 ; AVX2: cost of 4 {{.*}} extractelement218 ; AVX2: cost of 5 {{.*}} extractelement[all …]
1 …-S -codegenprepare -mcpu=core-avx2 %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-AVX265 ; CHECK-AVX2-LABEL: @test_32bit66 ; CHECK-AVX2: if_false:67 ; CHECK-AVX2-NOT: shufflevector68 ; CHECK-AVX2: ashr <4 x i32> %lhs, %mask86 ; CHECK-AVX2-LABEL: @test_64bit87 ; CHECK-AVX2: if_false:88 ; CHECK-AVX2-NOT: shufflevector89 ; CHECK-AVX2: lshr <2 x i64> %lhs, %mask
13 %error AVX2 is supported only by yasm 1.2.0 or later.44 %if cpuflag(AVX2)65 INIT_YMM AVX288 %if cpuflag(AVX2)106 INIT_YMM AVX2123 %if cpuflag(AVX2)144 INIT_YMM AVX2
51 NoMMXSSE, MMX, SSE1, SSE2, SSE3, SSSE3, SSE41, SSE42, AVX, AVX2, AVX512F enumerator312 bool hasAVX2() const { return X86SSELevel >= AVX2; } in hasAVX2()
273 AVX2, Trans32x32Test,