brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · a529682 Raw
185 lines · c
1// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-unknown-unknown -target-feature +avx10.2 -emit-llvm -o - | FileCheck %s2 3#include <immintrin.h>4#include <stddef.h>5 6long long test_mm_cvtts_sd_si64(__m128d __A) {7  // CHECK-LABEL: @test_mm_cvtts_sd_si64(8  // CHECK: @llvm.x86.avx10.vcvttsd2sis64(<2 x double>9  return _mm_cvtts_roundsd_si64(__A, _MM_FROUND_NO_EXC);10}11 12long long test_mm_cvtts_sd_i64(__m128d __A) {13  // CHECK-LABEL: @test_mm_cvtts_sd_i64(14  // CHECK: @llvm.x86.avx10.vcvttsd2sis64(<2 x double>15  return _mm_cvtts_roundsd_i64(__A, _MM_FROUND_NO_EXC);16}17 18unsigned long long test_mm_cvtts_sd_u64(__m128d __A) {19  // CHECK-LABEL: @test_mm_cvtts_sd_u64(20  // CHECK: @llvm.x86.avx10.vcvttsd2usis64(<2 x double>21  return _mm_cvtts_roundsd_u64(__A, _MM_FROUND_NO_EXC);22}23 24float test_mm_cvtts_ss_i64(__m128 __A) {25  // CHECK-LABEL: @test_mm_cvtts_ss_i64(26  // CHECK: @llvm.x86.avx10.vcvttss2sis64(<4 x float>27  return _mm_cvtts_roundss_i64(__A, _MM_FROUND_NO_EXC);28}29 30long long test_mm_cvtts_ss_si64(__m128 __A) {31  // CHECK-LABEL: @test_mm_cvtts_ss_si64(32  // CHECK: @llvm.x86.avx10.vcvttss2sis64(<4 x float>33  return _mm_cvtts_roundss_si64(__A, _MM_FROUND_NO_EXC);34}35 36unsigned long long test_mm_cvtts_ss_u64(__m128 __A) {37  // CHECK-LABEL: @test_mm_cvtts_ss_u64(38  // CHECK: @llvm.x86.avx10.vcvttss2usis64(<4 x float>39  return _mm_cvtts_roundss_u64(__A, _MM_FROUND_NO_EXC);40}41 42__m512i test_mm512_cvtts_pd_epi64(__m512d A) {43  // CHECK-LABEL: test_mm512_cvtts_pd_epi6444  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>45  return _mm512_cvtts_pd_epi64(A);46}47 48__m512i test_mm512_mask_cvtts_pd_epi64(__m512i W, __mmask8 U, __m512d A) {49  // CHECK-LABEL: test_mm512_mask_cvtts_pd_epi6450  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>51  return _mm512_mask_cvtts_pd_epi64(W, U, A);52}53 54__m512i test_mm512_maskz_cvtts_pd_epi64(__mmask8 U, __m512d A) {55  // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epi6456  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>57  return _mm512_maskz_cvtts_pd_epi64(U, A);58}59 60__m512i test_mm512_cvtts_roundpd_epi64(__m512d A) {61  // CHECK-LABEL: test_mm512_cvtts_roundpd_epi6462  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>63  return _mm512_cvtts_roundpd_epi64(A, _MM_FROUND_NO_EXC);64}65 66__m512i test_mm512_mask_cvtts_roundpd_epi64(__m512i W, __mmask8 U, __m512d A) {67  // CHECK-LABEL: test_mm512_mask_cvtts_roundpd_epi6468  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>69  return _mm512_mask_cvtts_roundpd_epi64(W, U, A, _MM_FROUND_NO_EXC);70}71 72__m512i test_mm512_maskz_cvtts_roundpd_epi64(__mmask8 U, __m512d A) {73  // CHECK-LABEL: test_mm512_maskz_cvtts_roundpd_epi6474  // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.round.512(<8 x double>75  return _mm512_maskz_cvtts_roundpd_epi64(U, A, _MM_FROUND_NO_EXC);76}77 78__m512i test_mm512_cvtts_pd_epu64(__m512d A) {79  // CHECK-LABEL: test_mm512_cvtts_pd_epu6480  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>81  return _mm512_cvtts_pd_epu64(A);82}83 84__m512i test_mm512_mask_cvtts_pd_epu64(__m512i W, __mmask8 U, __m512d A) {85  // CHECK-LABEL: test_mm512_mask_cvtts_pd_epu6486  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>87  return _mm512_mask_cvtts_pd_epu64(W, U, A);88}89 90__m512i test_mm512_maskz_cvtts_pd_epu64(__mmask8 U, __m512d A) {91  // CHECK-LABEL: test_mm512_maskz_cvtts_pd_epu6492  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>93  return _mm512_maskz_cvtts_pd_epu64(U, A);94}95 96__m512i test_mm512_cvtts_roundpd_epu64(__m512d A) {97  // CHECK-LABEL: test_mm512_cvtts_roundpd_epu6498  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>99  return _mm512_cvtts_roundpd_epu64(A, _MM_FROUND_NO_EXC);100}101 102__m512i test_mm512_mask_cvtts_roundpd_epu64(__m512i W, __mmask8 U, __m512d A) {103  // CHECK-LABEL: test_mm512_mask_cvtts_roundpd_epu64104  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>105  return _mm512_mask_cvtts_roundpd_epu64(W, U, A, _MM_FROUND_NO_EXC);106}107 108__m512i test_mm512_maskz_cvtts_roundpd_epu64(__mmask8 U, __m512d A) {109  // CHECK-LABEL: test_mm512_maskz_cvtts_roundpd_epu64110  // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.round.512(<8 x double>111  return _mm512_maskz_cvtts_roundpd_epu64(U, A, _MM_FROUND_NO_EXC);112}113 114__m512i test_mm512_cvtts_ps_epi64(__m256 A) {115  // CHECK-LABEL: test_mm512_cvtts_ps_epi64116  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>117  return _mm512_cvtts_ps_epi64(A);118}119 120__m512i test_mm512_mask_cvtts_ps_epi64(__m512i W, __mmask8 U, __m256 A) {121  // CHECK-LABEL: test_mm512_mask_cvtts_ps_epi64122  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>123  return _mm512_mask_cvtts_ps_epi64(W, U, A);124}125 126__m512i test_mm512_maskz_cvtts_ps_epi64(__mmask8 U, __m256 A) {127  // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epi64128  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>129  return _mm512_maskz_cvtts_ps_epi64(U, A);130}131 132__m512i test_mm512_cvtts_roundps_epi64(__m256 A) {133  // CHECK-LABEL: test_mm512_cvtts_roundps_epi64134  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>135  return _mm512_cvtts_roundps_epi64(A, _MM_FROUND_NO_EXC);136}137 138__m512i test_mm512_mask_cvtts_roundps_epi64(__m512i W, __mmask8 U, __m256 A) {139  // CHECK-LABEL: test_mm512_mask_cvtts_roundps_epi64140  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>141  return _mm512_mask_cvtts_roundps_epi64(W, U, A, _MM_FROUND_NO_EXC);142}143 144__m512i test_mm512_maskz_cvtts_roundps_epi64(__mmask8 U, __m256 A) {145  // CHECK-LABEL: test_mm512_maskz_cvtts_roundps_epi64146  // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.round.512(<8 x float>147  return _mm512_maskz_cvtts_roundps_epi64(U, A, _MM_FROUND_NO_EXC);148}149 150__m512i test_mm512_cvtts_ps_epu64(__m256 A) {151  // CHECK-LABEL: test_mm512_cvtts_ps_epu64152  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>153  return _mm512_cvtts_ps_epu64(A);154}155 156__m512i test_mm512_mask_cvtts_ps_epu64(__m512i W, __mmask8 U, __m256 A) {157  // CHECK-LABEL: test_mm512_mask_cvtts_ps_epu64158  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>159  return _mm512_mask_cvtts_ps_epu64(W, U, A);160}161 162__m512i test_mm512_maskz_cvtts_ps_epu64(__mmask8 U, __m256 A) {163  // CHECK-LABEL: test_mm512_maskz_cvtts_ps_epu64164  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>165  return _mm512_maskz_cvtts_ps_epu64(U, A);166}167 168__m512i test_mm512_cvtts_roundps_epu64(__m256 A) {169  // CHECK-LABEL: test_mm512_cvtts_roundps_epu64170  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>171  return _mm512_cvtts_roundps_epu64(A, _MM_FROUND_NO_EXC);172}173 174__m512i test_mm512_mask_cvtts_roundps_epu64(__m512i W, __mmask8 U, __m256 A) {175  // CHECK-LABEL: test_mm512_mask_cvtts_roundps_epu64176  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>177  return _mm512_mask_cvtts_roundps_epu64(W, U, A, _MM_FROUND_NO_EXC);178}179 180__m512i test_mm512_maskz_cvtts_roundps_epu64(__mmask8 U, __m256 A) {181  // CHECK-LABEL: test_mm512_maskz_cvtts_roundps_epu64182  // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.round.512(<8 x float>183  return _mm512_maskz_cvtts_roundps_epu64(U, A, _MM_FROUND_NO_EXC);184}185