1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X86
3 ; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx10.2-512 | FileCheck %s --check-prefixes=CHECK,X64
6 define <8 x i32> @test_signed_v8i32_v8f64(<8 x double> %f) nounwind {
7 ; CHECK-LABEL: test_signed_v8i32_v8f64:
9 ; CHECK-NEXT: vcvttpd2dqs %zmm0, %ymm0
10 ; CHECK-NEXT: ret{{[l|q]}}
11 %x = call <8 x i32> @llvm.fptosi.sat.v8i32.v8f64(<8 x double> %f)
16 define <8 x i64> @test_signed_v8i64_v8f64(<8 x double> %f) nounwind {
17 ; CHECK-LABEL: test_signed_v8i64_v8f64:
19 ; CHECK-NEXT: vcvttpd2qqs %zmm0, %zmm0
20 ; CHECK-NEXT: ret{{[l|q]}}
21 %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f64(<8 x double> %f)
26 define <8 x i32> @test_unsigned_v8i32_v8f64(<8 x double> %f) nounwind {
27 ; CHECK-LABEL: test_unsigned_v8i32_v8f64:
29 ; CHECK-NEXT: vcvttpd2udqs %zmm0, %ymm0
30 ; CHECK-NEXT: ret{{[l|q]}}
31 %x = call <8 x i32> @llvm.fptoui.sat.v8i32.v8f64(<8 x double> %f)
36 define <8 x i64> @test_unsigned_v8i64_v8f64(<8 x double> %f) nounwind {
37 ; CHECK-LABEL: test_unsigned_v8i64_v8f64:
39 ; CHECK-NEXT: vcvttpd2uqqs %zmm0, %zmm0
40 ; CHECK-NEXT: ret{{[l|q]}}
41 %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f64(<8 x double> %f)
46 define <16 x i32> @test_signed_v16i32_v16f32(<16 x float> %f) nounwind {
47 ; CHECK-LABEL: test_signed_v16i32_v16f32:
49 ; CHECK-NEXT: vcvttps2dqs %zmm0, %zmm0
50 ; CHECK-NEXT: ret{{[l|q]}}
51 %x = call <16 x i32> @llvm.fptosi.sat.v16i32.v16f32(<16 x float> %f)
56 define <16 x i32> @test_unsigned_v16i32_v16f32(<16 x float> %f) nounwind {
57 ; CHECK-LABEL: test_unsigned_v16i32_v16f32:
59 ; CHECK-NEXT: vcvttps2udqs %zmm0, %zmm0
60 ; CHECK-NEXT: ret{{[l|q]}}
61 %x = call <16 x i32> @llvm.fptoui.sat.v16i32.v16f32(<16 x float> %f)
65 define <8 x i64> @test_signed_v8i64_v8f32(<8 x float> %f) nounwind {
66 ; CHECK-LABEL: test_signed_v8i64_v8f32:
68 ; CHECK-NEXT: vcvttps2qqs %ymm0, %zmm0
69 ; CHECK-NEXT: ret{{[l|q]}}
70 %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f32(<8 x float> %f)
75 define <8 x i64> @test_unsigned_v8i64_v8f32(<8 x float> %f) nounwind {
76 ; CHECK-LABEL: test_unsigned_v8i64_v8f32:
78 ; CHECK-NEXT: vcvttps2uqqs %ymm0, %zmm0
79 ; CHECK-NEXT: ret{{[l|q]}}
80 %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f32(<8 x float> %f)
83 ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line: