brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.5 KiB · a250d91 Raw
427 lines · c
1// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64 -target-feature +avx10.2 -emit-llvm -o - | FileCheck %s2// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i686 -target-feature +avx10.2 -emit-llvm -o - | FileCheck %s3 4#include <immintrin.h>5 6// VNNI FP167__m128 test_mm_dpph_ps(__m128 __W, __m128h __A, __m128h __B) {8// CHECK-LABEL: @test_mm_dpph_ps(9// CHECK: call <4 x float> @llvm.x86.avx10.vdpphps.12810  return _mm_dpph_ps(__W, __A, __B);11}12 13__m128 test_mm_mask_dpph_ps(__m128 __W, __mmask8 __U, __m128h __A, __m128h __B) {14// CHECK-LABEL: @test_mm_mask_dpph_ps(15// CHECK: call <4 x float> @llvm.x86.avx10.vdpphps.12816// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}17  return _mm_mask_dpph_ps(__W, __U, __A, __B);18}19 20__m128 test_mm_maskz_dpph_ps(__mmask8 __U, __m128 __W, __m128h __A, __m128h __B) {21// CHECK-LABEL: @test_mm_maskz_dpph_ps(22// CHECK: call <4 x float> @llvm.x86.avx10.vdpphps.12823// CHECK: zeroinitializer24// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}25  return _mm_maskz_dpph_ps(__U, __W, __A, __B);26}27 28__m256 test_mm256_dpph_ps(__m256 __W, __m256h __A, __m256h __B) {29// CHECK-LABEL: @test_mm256_dpph_ps(30// CHECK: call <8 x float> @llvm.x86.avx10.vdpphps.25631  return _mm256_dpph_ps(__W, __A, __B);32}33 34__m256 test_mm256_mask_dpph_ps(__m256 __W, __mmask8 __U, __m256h __A, __m256h __B) {35// CHECK-LABEL: @test_mm256_mask_dpph_ps(36// CHECK: call <8 x float> @llvm.x86.avx10.vdpphps.25637// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}38  return _mm256_mask_dpph_ps(__W, __U,  __A, __B);39}40 41__m256 test_mm256_maskz_dpph_ps(__mmask8 __U, __m256 __W, __m256h __A, __m256h __B) {42// CHECK-LABEL: @test_mm256_maskz_dpph_ps(43// CHECK: call <8 x float> @llvm.x86.avx10.vdpphps.25644// CHECK: zeroinitializer45// CHECK: select <8 x i1> %{{.*}}, <8 x float> %{{.*}}, <8 x float> %{{.*}}46  return _mm256_maskz_dpph_ps(__U, __W, __A, __B);47}48 49// VMPSADBW50__m128i test_mm_mpsadbw_epu8(__m128i __A, __m128i __B) {51// CHECK-LABEL: @test_mm_mpsadbw_epu852// CHECK: @llvm.x86.sse41.mpsadbw53  return _mm_mpsadbw_epu8(__A, __B, 170);54}55 56__m128i test_mm_mask_mpsadbw_epu8(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {57// CHECK-LABEL: @test_mm_mask_mpsadbw_epu858// CHECK: @llvm.x86.sse41.mpsadbw59// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}60  return _mm_mask_mpsadbw_epu8(__W, __U, __A, __B, 170);61}62 63__m128i test_mm_maskz_mpsadbw_epu8(__mmask8 __U, __m128i __A, __m128i __B) {64// CHECK-LABEL: @test_mm_maskz_mpsadbw_epu865// CHECK: @llvm.x86.sse41.mpsadbw66// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}67  return _mm_maskz_mpsadbw_epu8(__U, __A, __B, 170);68}69 70__m256i test_mm256_mpsadbw_epu8(__m256i __A, __m256i __B) {71// CHECK-LABEL: @test_mm256_mpsadbw_epu872// CHECK: @llvm.x86.avx2.mpsadbw73  return _mm256_mpsadbw_epu8(__A, __B, 170);74}75 76__m256i test_mm256_mask_mpsadbw_epu8(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {77// CHECK-LABEL: @test_mm256_mask_mpsadbw_epu878// CHECK: @llvm.x86.avx2.mpsadbw79// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}80  return _mm256_mask_mpsadbw_epu8(__W, __U, __A, __B, 170);81}82 83__m256i test_mm256_maskz_mpsadbw_epu8(__mmask16 __U, __m256i __A, __m256i __B) {84// CHECK-LABEL: @test_mm256_maskz_mpsadbw_epu885// CHECK: @llvm.x86.avx2.mpsadbw86// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}87  return _mm256_maskz_mpsadbw_epu8(__U, __A, __B, 170);88}89 90// VNNI INT891__m128i test_mm_mask_dpbssd_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {92// CHECK-LABEL: @test_mm_mask_dpbssd_epi3293// CHECK: @llvm.x86.avx2.vpdpbssd.12894// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}95  return _mm_mask_dpbssd_epi32(__W, __U, __A, __B);96}97 98__m128i test_mm_maskz_dpbssd_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {99// CHECK-LABEL: @test_mm_maskz_dpbssd_epi32100// CHECK: @llvm.x86.avx2.vpdpbssd.128101// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}102  return _mm_maskz_dpbssd_epi32(__U, __W, __A, __B);103}104 105__m128i test_mm_mask_dpbssds_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {106// CHECK-LABEL: @test_mm_mask_dpbssds_epi32107// CHECK: @llvm.x86.avx2.vpdpbssds.128108// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}109  return _mm_mask_dpbssds_epi32(__W, __U, __A, __B);110}111 112__m128i test_mm_maskz_dpbssds_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {113// CHECK-LABEL: @test_mm_maskz_dpbssds_epi32114// CHECK: @llvm.x86.avx2.vpdpbssds.128115// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}116  return _mm_maskz_dpbssds_epi32(__U, __W, __A, __B);117}118 119__m128i test_mm_mask_dpbsud_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {120// CHECK-LABEL: @test_mm_mask_dpbsud_epi32121// CHECK: @llvm.x86.avx2.vpdpbsud.128122// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}123  return _mm_mask_dpbsud_epi32(__W, __U, __A, __B);124}125 126__m128i test_mm_maskz_dpbsud_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {127// CHECK-LABEL: @test_mm_maskz_dpbsud_epi32128// CHECK: @llvm.x86.avx2.vpdpbsud.128129// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}130  return _mm_maskz_dpbsud_epi32(__U, __W, __A, __B);131}132 133__m128i test_mm_mask_dpbsuds_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {134// CHECK-LABEL: @test_mm_mask_dpbsuds_epi32135// CHECK: @llvm.x86.avx2.vpdpbsuds.128136// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}137  return _mm_mask_dpbsuds_epi32(__W, __U, __A, __B);138}139 140__m128i test_mm_maskz_dpbsuds_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {141// CHECK-LABEL: @test_mm_maskz_dpbsuds_epi32142// CHECK: @llvm.x86.avx2.vpdpbsuds.128143// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}144  return _mm_maskz_dpbsuds_epi32(__U, __W, __A, __B);145}146 147__m128i test_mm_mask_dpbuud_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {148// CHECK-LABEL: @test_mm_mask_dpbuud_epi32149// CHECK: @llvm.x86.avx2.vpdpbuud.128150// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}151  return _mm_mask_dpbuud_epi32(__W, __U, __A, __B);152}153 154__m128i test_mm_maskz_dpbuud_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {155// CHECK-LABEL: @test_mm_maskz_dpbuud_epi32156// CHECK: @llvm.x86.avx2.vpdpbuud.128157// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}158  return _mm_maskz_dpbuud_epi32(__U, __W, __A, __B);159}160 161__m128i test_mm_mask_dpbuuds_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {162// CHECK-LABEL: @test_mm_mask_dpbuuds_epi32163// CHECK: @llvm.x86.avx2.vpdpbuuds.128164// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}165  return _mm_mask_dpbuuds_epi32(__W, __U, __A, __B);166}167 168__m128i test_mm_maskz_dpbuuds_epi32(__mmask8 __U, __m128i __W, __m128i __A, __m128i __B) {169// CHECK-LABEL: @test_mm_maskz_dpbuuds_epi32170// CHECK: @llvm.x86.avx2.vpdpbuuds.128171// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}172  return _mm_maskz_dpbuuds_epi32(__U, __W, __A, __B);173}174 175__m256i test_mm256_mask_dpbssd_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {176// CHECK-LABEL: @test_mm256_mask_dpbssd_epi32177// CHECK: @llvm.x86.avx2.vpdpbssd.256178// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}179  return _mm256_mask_dpbssd_epi32(__W, __U, __A, __B);180}181 182__m256i test_mm256_maskz_dpbssd_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {183// CHECK-LABEL: @test_mm256_maskz_dpbssd_epi32184// CHECK: @llvm.x86.avx2.vpdpbssd.256185// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}186  return _mm256_maskz_dpbssd_epi32(__U, __W, __A, __B);187}188 189__m256i test_mm256_mask_dpbssds_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {190// CHECK-LABEL: @test_mm256_mask_dpbssds_epi32191// CHECK: @llvm.x86.avx2.vpdpbssds.256192// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}193  return _mm256_mask_dpbssds_epi32(__W, __U, __A, __B);194}195 196__m256i test_mm256_maskz_dpbssds_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {197// CHECK-LABEL: @test_mm256_maskz_dpbssds_epi32198// CHECK: @llvm.x86.avx2.vpdpbssds.256199// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}200  return _mm256_maskz_dpbssds_epi32(__U, __W, __A, __B);201}202 203__m256i test_mm256_mask_dpbsud_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {204// CHECK-LABEL: @test_mm256_mask_dpbsud_epi32205// CHECK: @llvm.x86.avx2.vpdpbsud.256206// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}207  return _mm256_mask_dpbsud_epi32(__W, __U, __A, __B);208}209 210__m256i test_mm256_maskz_dpbsud_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {211// CHECK-LABEL: @test_mm256_maskz_dpbsud_epi32212// CHECK: @llvm.x86.avx2.vpdpbsud.256213// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}214  return _mm256_maskz_dpbsud_epi32(__U, __W, __A, __B);215}216 217__m256i test_mm256_mask_dpbsuds_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {218// CHECK-LABEL: @test_mm256_mask_dpbsuds_epi32219// CHECK: @llvm.x86.avx2.vpdpbsuds.256220// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}221  return _mm256_mask_dpbsuds_epi32(__W, __U, __A, __B);222}223 224__m256i test_mm256_maskz_dpbsuds_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {225// CHECK-LABEL: @test_mm256_maskz_dpbsuds_epi32226// CHECK: @llvm.x86.avx2.vpdpbsuds.256227// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}228  return _mm256_maskz_dpbsuds_epi32(__U, __W, __A, __B);229}230 231__m256i test_mm256_mask_dpbuud_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {232// CHECK-LABEL: @test_mm256_mask_dpbuud_epi32233// CHECK: @llvm.x86.avx2.vpdpbuud.256234// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}235  return _mm256_mask_dpbuud_epi32(__W, __U, __A, __B);236}237 238__m256i test_mm256_maskz_dpbuud_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {239// CHECK-LABEL: @test_mm256_maskz_dpbuud_epi32240// CHECK: @llvm.x86.avx2.vpdpbuud.256241// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}242  return _mm256_maskz_dpbuud_epi32(__U, __W, __A, __B);243}244 245__m256i test_mm256_mask_dpbuuds_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {246// CHECK-LABEL: @test_mm256_mask_dpbuuds_epi32247// CHECK: @llvm.x86.avx2.vpdpbuuds.256248// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}249  return _mm256_mask_dpbuuds_epi32(__W, __U, __A, __B);250}251 252__m256i test_mm256_maskz_dpbuuds_epi32(__mmask8 __U, __m256i __W, __m256i __A, __m256i __B) {253// CHECK-LABEL: @test_mm256_maskz_dpbuuds_epi32254// CHECK: @llvm.x86.avx2.vpdpbuuds.256255// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}256  return _mm256_maskz_dpbuuds_epi32(__U, __W, __A, __B);257}258 259// VNNI INT16260__m128i test_mm_mask_dpwsud_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {261// CHECK-LABEL: @test_mm_mask_dpwsud_epi32(262// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})263// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}264  return _mm_mask_dpwsud_epi32(__A, __B, __C, __D);265}266 267__m128i test_mm_maskz_dpwsud_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {268// CHECK-LABEL: @test_mm_maskz_dpwsud_epi32(269// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})270// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}271  return _mm_maskz_dpwsud_epi32(__U, __A, __B, __C);272}273 274__m256i test_mm256_mask_dpwsud_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {275// CHECK-LABEL: @test_mm256_mask_dpwsud_epi32(276// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})277// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}278  return _mm256_mask_dpwsud_epi32(__A, __B, __C, __D);279}280 281__m256i test_mm256_maskz_dpwsud_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {282// CHECK-LABEL: @test_mm256_maskz_dpwsud_epi32(283// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})284// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}285  return _mm256_maskz_dpwsud_epi32(__U, __A, __B, __C);286}287 288__m128i test_mm_mask_dpwsuds_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {289// CHECK-LABEL: @test_mm_mask_dpwsuds_epi32(290// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})291// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}292  return _mm_mask_dpwsuds_epi32(__A, __B, __C, __D);293}294 295__m128i test_mm_maskz_dpwsuds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {296// CHECK-LABEL: @test_mm_maskz_dpwsuds_epi32(297// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})298// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}299  return _mm_maskz_dpwsuds_epi32(__U, __A, __B, __C);300}301 302__m256i test_mm256_mask_dpwsuds_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {303// CHECK-LABEL: @test_mm256_mask_dpwsuds_epi32(304// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})305// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}306  return _mm256_mask_dpwsuds_epi32(__A, __B, __C, __D);307}308 309__m256i test_mm256_maskz_dpwsuds_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {310// CHECK-LABEL: @test_mm256_maskz_dpwsuds_epi32(311// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})312// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}313  return _mm256_maskz_dpwsuds_epi32(__U, __A, __B, __C);314}315 316__m128i test_mm_mask_dpwusd_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {317// CHECK-LABEL: @test_mm_mask_dpwusd_epi32(318// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})319// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}320  return _mm_mask_dpwusd_epi32(__A, __B, __C, __D);321}322 323__m128i test_mm_maskz_dpwusd_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {324// CHECK-LABEL: @test_mm_maskz_dpwusd_epi32(325// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})326// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}327  return _mm_maskz_dpwusd_epi32(__U, __A, __B, __C);328}329 330__m256i test_mm256_mask_dpwusd_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {331// CHECK-LABEL: @test_mm256_mask_dpwusd_epi32(332// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})333// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}334  return _mm256_mask_dpwusd_epi32(__A, __B, __C, __D);335}336 337__m256i test_mm256_maskz_dpwusd_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {338// CHECK-LABEL: @test_mm256_maskz_dpwusd_epi32(339// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})340// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}341  return _mm256_maskz_dpwusd_epi32(__U, __A, __B, __C);342}343 344__m128i test_mm_mask_dpwusds_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {345// CHECK-LABEL: @test_mm_mask_dpwusds_epi32(346// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})347// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}348  return _mm_mask_dpwusds_epi32(__A, __B, __C, __D);349}350 351__m128i test_mm_maskz_dpwusds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {352// CHECK-LABEL: @test_mm_maskz_dpwusds_epi32(353// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})354// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}355  return _mm_maskz_dpwusds_epi32(__U, __A, __B, __C);356}357 358__m256i test_mm256_mask_dpwusds_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {359// CHECK-LABEL: @test_mm256_mask_dpwusds_epi32(360// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})361// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}362  return _mm256_mask_dpwusds_epi32(__A, __B, __C, __D);363}364 365__m256i test_mm256_maskz_dpwusds_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {366// CHECK-LABEL: @test_mm256_maskz_dpwusds_epi32(367// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})368// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}369  return _mm256_maskz_dpwusds_epi32(__U, __A, __B, __C);370}371 372__m128i test_mm_mask_dpwuud_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {373// CHECK-LABEL: @test_mm_mask_dpwuud_epi32(374// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})375// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}376  return _mm_mask_dpwuud_epi32(__A, __B, __C, __D);377}378 379__m128i test_mm_maskz_dpwuud_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {380// CHECK-LABEL: @test_mm_maskz_dpwuud_epi32(381// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})382// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}383  return _mm_maskz_dpwuud_epi32(__U, __A, __B, __C);384}385 386__m256i test_mm256_mask_dpwuud_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {387// CHECK-LABEL: @test_mm256_mask_dpwuud_epi32(388// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})389// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}390  return _mm256_mask_dpwuud_epi32(__A, __B, __C, __D);391}392 393__m256i test_mm256_maskz_dpwuud_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {394// CHECK-LABEL: @test_mm256_maskz_dpwuud_epi32(395// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})396// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}397  return _mm256_maskz_dpwuud_epi32(__U, __A, __B, __C);398}399 400__m128i test_mm_mask_dpwuuds_epi32(__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) {401// CHECK-LABEL: @test_mm_mask_dpwuuds_epi32(402// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})403// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}404  return _mm_mask_dpwuuds_epi32(__A, __B, __C, __D);405}406 407__m128i test_mm_maskz_dpwuuds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {408// CHECK-LABEL: @test_mm_maskz_dpwuuds_epi32(409// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})410// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}411  return _mm_maskz_dpwuuds_epi32(__U, __A, __B, __C);412}413 414__m256i test_mm256_mask_dpwuuds_epi32(__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) {415// CHECK-LABEL: @test_mm256_mask_dpwuuds_epi32(416// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})417// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}418  return _mm256_mask_dpwuuds_epi32(__A, __B, __C, __D);419}420 421__m256i test_mm256_maskz_dpwuuds_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {422// CHECK-LABEL: @test_mm256_maskz_dpwuuds_epi32(423// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})424// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}425  return _mm256_maskz_dpwuuds_epi32(__U, __A, __B, __C);426}427