101 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=hexagon < %s | FileCheck %s3 4define <64 x i16> @f0(<64 x half> %a0) #0 {5; CHECK-LABEL: f0:6; CHECK: // %bb.0: // %b07; CHECK-NEXT: {8; CHECK-NEXT: v0.h = vcvt(v0.hf)9; CHECK-NEXT: jumpr r3110; CHECK-NEXT: }11b0:12 %v0 = fptosi <64 x half> %a0 to <64 x i16>13 ret <64 x i16> %v014}15 16define <64 x i16> @f1(<64 x half> %a0) #0 {17; CHECK-LABEL: f1:18; CHECK: // %bb.0: // %b019; CHECK-NEXT: {20; CHECK-NEXT: v0.uh = vcvt(v0.hf)21; CHECK-NEXT: jumpr r3122; CHECK-NEXT: }23b0:24 %v0 = fptoui <64 x half> %a0 to <64 x i16>25 ret <64 x i16> %v026}27 28define <128 x i8> @f2(<128 x half> %a0) #0 {29; CHECK-LABEL: f2:30; CHECK: // %bb.0: // %b031; CHECK-NEXT: {32; CHECK-NEXT: v0.b = vcvt(v1.hf,v0.hf)33; CHECK-NEXT: jumpr r3134; CHECK-NEXT: }35b0:36 %v0 = fptosi <128 x half> %a0 to <128 x i8>37 ret <128 x i8> %v038}39 40define <128 x i8> @f3(<128 x half> %a0) #0 {41; CHECK-LABEL: f3:42; CHECK: // %bb.0: // %b043; CHECK-NEXT: {44; CHECK-NEXT: v0.ub = vcvt(v1.hf,v0.hf)45; CHECK-NEXT: jumpr r3146; CHECK-NEXT: }47b0:48 %v0 = fptoui <128 x half> %a0 to <128 x i8>49 ret <128 x i8> %v050}51 52define <64 x half> @f4(<64 x i16> %a0) #0 {53; CHECK-LABEL: f4:54; CHECK: // %bb.0: // %b055; CHECK-NEXT: {56; CHECK-NEXT: v0.hf = vcvt(v0.h)57; CHECK-NEXT: jumpr r3158; CHECK-NEXT: }59b0:60 %v0 = sitofp <64 x i16> %a0 to <64 x half>61 ret <64 x half> %v062}63 64define <64 x half> @f5(<64 x i16> %a0) #0 {65; CHECK-LABEL: f5:66; CHECK: // %bb.0: // %b067; CHECK-NEXT: {68; CHECK-NEXT: v0.hf = vcvt(v0.uh)69; CHECK-NEXT: jumpr r3170; CHECK-NEXT: }71b0:72 %v0 = uitofp <64 x i16> %a0 to <64 x half>73 ret <64 x half> %v074}75 76define <128 x half> @f6(<128 x i8> %a0) #0 {77; CHECK-LABEL: f6:78; CHECK: // %bb.0: // %b079; CHECK-NEXT: {80; CHECK-NEXT: v1:0.hf = vcvt(v0.b)81; CHECK-NEXT: jumpr r3182; CHECK-NEXT: }83b0:84 %v0 = sitofp <128 x i8> %a0 to <128 x half>85 ret <128 x half> %v086}87 88define <128 x half> @f7(<128 x i8> %a0) #0 {89; CHECK-LABEL: f7:90; CHECK: // %bb.0: // %b091; CHECK-NEXT: {92; CHECK-NEXT: v1:0.hf = vcvt(v0.ub)93; CHECK-NEXT: jumpr r3194; CHECK-NEXT: }95b0:96 %v0 = uitofp <128 x i8> %a0 to <128 x half>97 ret <128 x half> %v098}99 100attributes #0 = { nounwind "target-features"="+hvxv69,+hvx-length128b,+hvx-ieee-fp,-hvx-qfloat" }101