152 lines · c
1// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386 -target-feature +avx10.2 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,X862// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64 -target-feature +avx10.2 -emit-llvm -o - | FileCheck %s --check-prefixes=CHECK,X643 4#include <immintrin.h>5#include <stddef.h>6 7__m256i test_mm512_cvtts_pd_epi32(__m512d A) {8 // CHECK-LABEL: test_mm512_cvtts_pd_epi329 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>10 return _mm512_cvtts_pd_epi32(A);11}12 13__m256i test_mm512_mask_cvtts_pd_epi32(__m256i W, __mmask8 U, __m512d A) {14 // CHECK-LABEL: test_mm512_mask_cvtts_pd_epi3215 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>16 return _mm512_mask_cvtts_pd_epi32(W, U, A);17}18 19__m256i test_mm512_maskz_cvtts_pd_epi32(__mmask8 U, __m512d A) {20 // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epi3221 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>22 return _mm512_maskz_cvtts_pd_epi32(U, A);23}24 25__m256i test_mm512_cvtts_roundpd_epi32(__m512d A) {26 // CHECK-LABEL: test_mm512_cvtts_roundpd_epi3227 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>28 return _mm512_cvtts_roundpd_epi32(A, _MM_FROUND_NO_EXC);29}30 31__m256i test_mm512_mask_cvtts_roundpd_epi32(__m256i W, __mmask8 U, __m512d A) {32 // CHECK-LABEL: test_mm512_mask_cvtts_roundpd_epi3233 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>34 return _mm512_mask_cvtts_roundpd_epi32(W, U, A, _MM_FROUND_NO_EXC);35}36 37__m256i test_mm512_maskz_cvtts_roundpd_epi32(__mmask8 U, __m512d A) {38 // CHECK-LABEL: test_mm512_maskz_cvtts_roundpd_epi3239 // CHECK: @llvm.x86.avx10.mask.vcvttpd2dqs.round.512(<8 x double>40 return _mm512_maskz_cvtts_roundpd_epi32(U, A, _MM_FROUND_NO_EXC);41}42 43__m256i test_mm512_cvtts_pd_epu32(__m512d A) {44 // CHECK-LABEL: test_mm512_cvtts_pd_epu3245 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>46 return _mm512_cvtts_pd_epu32(A);47}48 49__m256i test_mm512_mask_cvtts_pd_epu32(__m256i W, __mmask8 U, __m512d A) {50 // CHECK-LABEL: test_mm512_mask_cvtts_pd_epu3251 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>52 return _mm512_mask_cvtts_pd_epu32(W, U, A);53}54 55__m256i test_mm512_maskz_cvtts_pd_epu32(__mmask8 U, __m512d A) {56 // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epu3257 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>58 return _mm512_maskz_cvtts_pd_epu32(U, A);59}60 61__m256i test_mm512_cvtts_roundpd_epu32(__m512d A) {62 // CHECK-LABEL: test_mm512_cvtts_roundpd_epu3263 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>64 return _mm512_cvtts_roundpd_epu32(A, _MM_FROUND_NO_EXC);65}66 67__m256i test_mm512_mask_cvtts_roundpd_epu32(__m256i W, __mmask8 U, __m512d A) {68 // CHECK-LABEL: test_mm512_mask_cvtts_roundpd_epu3269 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>70 return _mm512_mask_cvtts_roundpd_epu32(W, U, A, _MM_FROUND_NO_EXC);71}72 73__m256i test_mm512_maskz_cvtts_roundpd_epu32(__mmask8 U, __m512d A) {74 // CHECK-LABEL: test_mm512_maskz_cvtts_roundpd_epu3275 // CHECK: @llvm.x86.avx10.mask.vcvttpd2udqs.round.512(<8 x double>76 return _mm512_maskz_cvtts_roundpd_epu32(U, A, _MM_FROUND_NO_EXC);77}78 79__m512i test_mm512_cvtts_ps_epi32(__m512 A) {80 // CHECK-LABEL: test_mm512_cvtts_ps_epi3281 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>82 return _mm512_cvtts_ps_epi32(A);83}84 85__m512i test_mm512_mask_cvtts_ps_epi32(__m512i W, __mmask8 U, __m512 A) {86 // CHECK-LABEL: test_mm512_mask_cvtts_ps_epi3287 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>88 return _mm512_mask_cvtts_ps_epi32(W, U, A);89}90 91__m512i test_mm512_maskz_cvtts_ps_epi32(__mmask8 U, __m512 A) {92 // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epi3293 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>94 return _mm512_maskz_cvtts_ps_epi32(U, A);95}96 97__m512i test_mm512_cvtts_roundps_epi32(__m512 A) {98 // CHECK-LABEL: test_mm512_cvtts_roundps_epi3299 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>100 return _mm512_cvtts_roundps_epi32(A, _MM_FROUND_NO_EXC);101}102 103__m512i test_mm512_mask_cvtts_roundps_epi32(__m512i W, __mmask8 U, __m512 A) {104 // CHECK-LABEL: test_mm512_mask_cvtts_roundps_epi32105 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>106 return _mm512_mask_cvtts_roundps_epi32(W, U, A, _MM_FROUND_NO_EXC);107}108 109__m512i test_mm512_maskz_cvtts_roundps_epi32(__mmask8 U, __m512 A) {110 // CHECK-LABEL: test_mm512_maskz_cvtts_roundps_epi32111 // CHECK: @llvm.x86.avx10.mask.vcvttps2dqs.round.512(<16 x float>112 return _mm512_maskz_cvtts_roundps_epi32(U, A, _MM_FROUND_NO_EXC);113}114 115__m512i test_mm512_cvtts_ps_epu32(__m512 A) {116 // CHECK-LABEL: test_mm512_cvtts_ps_epu32117 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>118 return _mm512_cvtts_ps_epu32(A);119}120 121__m512i test_mm512_mask_cvtts_ps_epu32(__m512i W, __mmask8 U, __m512 A) {122 // CHECK-LABEL: test_mm512_mask_cvtts_ps_epu32123 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>124 return _mm512_mask_cvtts_ps_epu32(W, U, A);125}126 127__m512i test_mm512_maskz_cvtts_ps_epu32(__mmask8 U, __m512 A) {128 // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epu32129 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>130 return _mm512_maskz_cvtts_ps_epu32(U, A);131}132 133__m512i test_mm512_cvtts_roundps_epu32(__m512 A) {134 // CHECK-LABEL: test_mm512_cvtts_roundps_epu32135 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>136 return _mm512_cvtts_roundps_epu32(A, _MM_FROUND_NO_EXC);137}138 139__m512i test_mm512_mask_cvtts_roundps_epu32(__m512i W, __mmask8 U, __m512 A) {140 // CHECK-LABEL: test_mm512_mask_cvtts_roundps_epu32141 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>142 return _mm512_mask_cvtts_roundps_epu32(W, U, A, _MM_FROUND_NO_EXC);143}144__m512i test_mm512_maskz_cvtts_roundps_epu32(__mmask8 U, __m512 A) {145 // CHECK-LABEL: test_mm512_maskz_cvtts_roundps_epu32146 // CHECK: @llvm.x86.avx10.mask.vcvttps2udqs.round.512(<16 x float>147 return _mm512_maskz_cvtts_roundps_epu32(U, A, _MM_FROUND_NO_EXC);148}149 150// X64: {{.*}}151// X86: {{.*}}152