86 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-linux -mattr=+avx10.2 | FileCheck %s --check-prefixes=CHECK,X863; RUN: llc < %s -mtriple=x86_64-linux -mattr=+avx10.2 | FileCheck %s --check-prefixes=CHECK,X644 5; VCVTTPD2DQS6define <8 x i32> @test_signed_v8i32_v8f64(<8 x double> %f) nounwind {7; CHECK-LABEL: test_signed_v8i32_v8f64:8; CHECK: # %bb.0:9; CHECK-NEXT: vcvttpd2dqs %zmm0, %ymm010; CHECK-NEXT: ret{{[l|q]}}11 %x = call <8 x i32> @llvm.fptosi.sat.v8i32.v8f64(<8 x double> %f)12 ret <8 x i32> %x13}14 15; VCVTTPD2QQS16define <8 x i64> @test_signed_v8i64_v8f64(<8 x double> %f) nounwind {17; CHECK-LABEL: test_signed_v8i64_v8f64:18; CHECK: # %bb.0:19; CHECK-NEXT: vcvttpd2qqs %zmm0, %zmm020; CHECK-NEXT: ret{{[l|q]}}21 %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f64(<8 x double> %f)22 ret <8 x i64> %x23}24 25; VCVTTPD2UDQS26define <8 x i32> @test_unsigned_v8i32_v8f64(<8 x double> %f) nounwind {27; CHECK-LABEL: test_unsigned_v8i32_v8f64:28; CHECK: # %bb.0:29; CHECK-NEXT: vcvttpd2udqs %zmm0, %ymm030; CHECK-NEXT: ret{{[l|q]}}31 %x = call <8 x i32> @llvm.fptoui.sat.v8i32.v8f64(<8 x double> %f)32 ret <8 x i32> %x33}34 35; VCVTTPD2UQQS36define <8 x i64> @test_unsigned_v8i64_v8f64(<8 x double> %f) nounwind {37; CHECK-LABEL: test_unsigned_v8i64_v8f64:38; CHECK: # %bb.0:39; CHECK-NEXT: vcvttpd2uqqs %zmm0, %zmm040; CHECK-NEXT: ret{{[l|q]}}41 %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f64(<8 x double> %f)42 ret <8 x i64> %x43}44 45; VCVTTPS2DQS46define <16 x i32> @test_signed_v16i32_v16f32(<16 x float> %f) nounwind {47; CHECK-LABEL: test_signed_v16i32_v16f32:48; CHECK: # %bb.0:49; CHECK-NEXT: vcvttps2dqs %zmm0, %zmm050; CHECK-NEXT: ret{{[l|q]}}51 %x = call <16 x i32> @llvm.fptosi.sat.v16i32.v16f32(<16 x float> %f)52 ret <16 x i32> %x53}54 55; VCVTTPS2UDQS56define <16 x i32> @test_unsigned_v16i32_v16f32(<16 x float> %f) nounwind {57; CHECK-LABEL: test_unsigned_v16i32_v16f32:58; CHECK: # %bb.0:59; CHECK-NEXT: vcvttps2udqs %zmm0, %zmm060; CHECK-NEXT: ret{{[l|q]}}61 %x = call <16 x i32> @llvm.fptoui.sat.v16i32.v16f32(<16 x float> %f)62 ret <16 x i32> %x63}64; VCVTTPS2QQS65define <8 x i64> @test_signed_v8i64_v8f32(<8 x float> %f) nounwind {66; CHECK-LABEL: test_signed_v8i64_v8f32:67; CHECK: # %bb.0:68; CHECK-NEXT: vcvttps2qqs %ymm0, %zmm069; CHECK-NEXT: ret{{[l|q]}}70 %x = call <8 x i64> @llvm.fptosi.sat.v8i64.v8f32(<8 x float> %f)71 ret <8 x i64> %x72}73 74; VCVTTPS2UQQS75define <8 x i64> @test_unsigned_v8i64_v8f32(<8 x float> %f) nounwind {76; CHECK-LABEL: test_unsigned_v8i64_v8f32:77; CHECK: # %bb.0:78; CHECK-NEXT: vcvttps2uqqs %ymm0, %zmm079; CHECK-NEXT: ret{{[l|q]}}80 %x = call <8 x i64> @llvm.fptoui.sat.v8i64.v8f32(<8 x float> %f)81 ret <8 x i64> %x82}83;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:84; X64: {{.*}}85; X86: {{.*}}86