brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.4 KiB · bcfe43b Raw
191 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 6// scalar7 8int test_mm_cvtts_sd_i32(__m128d __A) {9  // CHECK-LABEL: @test_mm_cvtts_sd_i3210  // CHECK: @llvm.x86.avx10.vcvttsd2sis11  return _mm_cvtts_roundsd_i32(__A, _MM_FROUND_NO_EXC);12}13 14int test_mm_cvtts_sd_si32(__m128d __A) {15  // CHECK-LABEL: @test_mm_cvtts_sd_si32(16  // CHECK: @llvm.x86.avx10.vcvttsd2sis(<2 x double>17  return _mm_cvtts_roundsd_si32(__A, _MM_FROUND_NO_EXC);18}19 20unsigned test_mm_cvtts_sd_u32(__m128d __A) {21  // CHECK-LABEL: @test_mm_cvtts_sd_u32(22  // CHECK: @llvm.x86.avx10.vcvttsd2usis(<2 x double>23  return _mm_cvtts_roundsd_u32(__A, _MM_FROUND_NO_EXC);24}25 26int test_mm_cvtts_ss_i32(__m128 __A) {27  // CHECK-LABEL: @test_mm_cvtts_ss_i32(28  // CHECK: @llvm.x86.avx10.vcvttss2sis(<4 x float>29  return _mm_cvtts_roundss_i32(__A, _MM_FROUND_NO_EXC);30}31 32int test_mm_cvtts_ss_si32(__m128 __A) {33  // CHECK-LABEL: @test_mm_cvtts_ss_si32(34  // CHECK: @llvm.x86.avx10.vcvttss2sis(<4 x float>35  return _mm_cvtts_roundss_si32(__A, _MM_FROUND_NO_EXC);36}37 38unsigned test_mm_cvtts_ss_u32(__m128 __A) {39  // CHECK-LABEL: @test_mm_cvtts_ss_u32(40  // CHECK: @llvm.x86.avx10.vcvttss2usis(<4 x float>41  return _mm_cvtts_roundss_u32(__A, _MM_FROUND_NO_EXC);42}43 44// vector45// 128 bit46__m128i test_mm_cvtts_pd_epi64(__m128d A){47    // CHECK-LABEL: @test_mm_cvtts_pd_epi6448    // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double>49    return _mm_cvtts_pd_epi64(A);50}51 52__m128i test_mm_mask_cvtts_pd_epi64(__m128i W, __mmask8 U, __m128d A){53    // CHECK-LABEL: @test_mm_mask_cvtts_pd_epi6454    // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double>55    return _mm_mask_cvtts_pd_epi64(W, U,  A);56}57 58__m128i test_mm_maskz_cvtts_pd_epi64(__mmask8 U,__m128d A){59    // CHECK-LABEL: @test_mm_maskz_cvtts_pd_epi6460    // CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.128(<2 x double>61    return _mm_maskz_cvtts_pd_epi64(U, A);62}63 64__m128i test_mm_cvtts_pd_epu64(__m128d A){65    // CHECK-LABEL: @test_mm_cvtts_pd_epu6466    // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double>67    return _mm_cvtts_pd_epu64(A);68}69 70__m128i test_mm_mask_cvtts_pd_epu64(__m128i W, __mmask8 U, __m128d A){71    // CHECK-LABEL: @test_mm_mask_cvtts_pd_epu6472    // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double>73    return _mm_mask_cvtts_pd_epu64(W, U,  A);74}75 76__m128i test_mm_maskz_cvtts_pd_epu64(__mmask8 U,__m128d A){77    // CHECK-LABEL: @test_mm_maskz_cvtts_pd_epu6478    // CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.128(<2 x double>79    return _mm_maskz_cvtts_pd_epu64(U, A);80}81 82// 256 bit83__m256i test_mm256_cvtts_pd_epi64(__m256d A){84// CHECK-LABEL: @test_mm256_cvtts_pd_epi6485// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>86    return _mm256_cvtts_pd_epi64(A);87}88 89__m256i test_mm256_mask_cvtts_pd_epi64(__m256i W,__mmask8 U, __m256d A){90// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epi6491// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>92    return _mm256_mask_cvtts_pd_epi64(W,U, A);93}94 95__m256i test_mm256_maskz_cvtts_pd_epi64(__mmask8 U, __m256d A){96// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epi6497// CHECK: @llvm.x86.avx10.mask.vcvttpd2qqs.256(<4 x double>98    return _mm256_maskz_cvtts_pd_epi64(U, A);99}100 101__m256i test_mm256_cvtts_pd_epu64(__m256d A){102// CHECK-LABEL: @test_mm256_cvtts_pd_epu64103// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>104    return _mm256_cvtts_pd_epu64(A);105}106 107__m256i test_mm256_mask_cvtts_pd_epu64(__m256i W,__mmask8 U, __m256d A){108// CHECK-LABEL: @test_mm256_mask_cvtts_pd_epu64109// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>110    return _mm256_mask_cvtts_pd_epu64(W,U, A);111}112 113__m256i test_mm256_maskz_cvtts_pd_epu64(__mmask8 U, __m256d A){114// CHECK-LABEL: @test_mm256_maskz_cvtts_pd_epu64115// CHECK: @llvm.x86.avx10.mask.vcvttpd2uqqs.256(<4 x double>116    return _mm256_maskz_cvtts_pd_epu64(U, A);117}118 119// 128 bit120__m128i test_mm_cvtts_ps_epi64(__m128 A){121    // CHECK-LABEL: @test_mm_cvtts_ps_epi64122    // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float>123    return _mm_cvtts_ps_epi64(A);124}125 126__m128i test_mm_mask_cvtts_ps_epi64(__m128i W, __mmask8 U, __m128 A){127    // CHECK-LABEL: @test_mm_mask_cvtts_ps_epi64128    // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float>129    return _mm_mask_cvtts_ps_epi64(W, U,  A);130}131 132__m128i test_mm_maskz_cvtts_ps_epi64(__mmask8 U,__m128 A){133    // CHECK-LABEL: @test_mm_maskz_cvtts_ps_epi64134    // CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.128(<4 x float>135    return _mm_maskz_cvtts_ps_epi64(U, A);136}137 138__m128i test_mm_cvtts_ps_epu64(__m128 A){139    // CHECK-LABEL: @test_mm_cvtts_ps_epu64140    // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float>141    return _mm_cvtts_ps_epu64(A);142}143 144__m128i test_mm_mask_cvtts_ps_epu64(__m128i W, __mmask8 U, __m128 A){145    // CHECK-LABEL: @test_mm_mask_cvtts_ps_epu64146    // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float>147    return _mm_mask_cvtts_ps_epu64(W, U,  A);148}149 150__m128i test_mm_maskz_cvtts_ps_epu64(__mmask8 U,__m128 A){151    // CHECK-LABEL: @test_mm_maskz_cvtts_ps_epu64152    // CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.128(<4 x float>153    return _mm_maskz_cvtts_ps_epu64(U, A);154}155 156__m256i test_mm256_cvtts_ps_epi64(__m128 A){157// CHECK-LABEL: @test_mm256_cvtts_ps_epi64158// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>159  return _mm256_cvtts_ps_epi64(A);160}161 162__m256i test_mm256_mask_cvtts_ps_epi64(__m256i W,__mmask8 U, __m128 A){163// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epi64164// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>165    return _mm256_mask_cvtts_ps_epi64(W,U, A);166}167 168__m256i test_mm256_maskz_cvtts_ps_epi64(__mmask8 U, __m128 A){169// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epi64170// CHECK: @llvm.x86.avx10.mask.vcvttps2qqs.256(<4 x float>171    return _mm256_maskz_cvtts_ps_epi64(U, A);172}173 174__m256i test_mm256_cvtts_ps_epu64(__m128 A){175// CHECK-LABEL: @test_mm256_cvtts_ps_epu64176// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>177  return _mm256_cvtts_ps_epu64(A);178}179 180__m256i test_mm256_mask_cvtts_ps_epu64(__m256i W,__mmask8 U, __m128 A){181// CHECK-LABEL: @test_mm256_mask_cvtts_ps_epu64182// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>183    return _mm256_mask_cvtts_ps_epu64(W,U, A);184}185 186__m256i test_mm256_maskz_cvtts_ps_epu64(__mmask8 U, __m128 A){187// CHECK-LABEL: @test_mm256_maskz_cvtts_ps_epu64188// CHECK: @llvm.x86.avx10.mask.vcvttps2uqqs.256(<4 x float>189    return _mm256_maskz_cvtts_ps_epu64(U, A);190}191