brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 3673f59 Raw
59 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc --mtriple=loongarch32 --mattr=+32s,+lasx < %s | FileCheck %s3; RUN: llc --mtriple=loongarch64 --mattr=+lasx < %s | FileCheck %s4 5define void @sitofp_v8i32_v8f32(ptr %res, ptr %in){6; CHECK-LABEL: sitofp_v8i32_v8f32:7; CHECK:       # %bb.0:8; CHECK-NEXT:    xvld $xr0, $a1, 09; CHECK-NEXT:    xvffint.s.w $xr0, $xr010; CHECK-NEXT:    xvst $xr0, $a0, 011; CHECK-NEXT:    ret12  %v0 = load <8 x i32>, ptr %in13  %v1 = sitofp <8 x i32> %v0 to <8 x float>14  store <8 x float> %v1, ptr %res15  ret void16}17 18define void @sitofp_v4f64_v4f64(ptr %res, ptr %in){19; CHECK-LABEL: sitofp_v4f64_v4f64:20; CHECK:       # %bb.0:21; CHECK-NEXT:    xvld $xr0, $a1, 022; CHECK-NEXT:    xvffint.d.l $xr0, $xr023; CHECK-NEXT:    xvst $xr0, $a0, 024; CHECK-NEXT:    ret25  %v0 = load <4 x i64>, ptr %in26  %v1 = sitofp <4 x i64> %v0 to <4 x double>27  store <4 x double> %v1, ptr %res28  ret void29}30 31define void @sitofp_v4i64_v4f32(ptr %res, ptr %in){32; CHECK-LABEL: sitofp_v4i64_v4f32:33; CHECK:       # %bb.0:34; CHECK-NEXT:    xvld $xr0, $a1, 035; CHECK-NEXT:    xvffint.d.l $xr0, $xr036; CHECK-NEXT:    xvpermi.d $xr1, $xr0, 23837; CHECK-NEXT:    xvfcvt.s.d $xr0, $xr1, $xr038; CHECK-NEXT:    vst $vr0, $a0, 039; CHECK-NEXT:    ret40  %v0 = load <4 x i64>, ptr %in41  %v1 = sitofp <4 x i64> %v0 to <4 x float>42  store <4 x float> %v1, ptr %res43  ret void44}45 46define void @sitofp_v4i32_v4f64(ptr %res, ptr %in){47; CHECK-LABEL: sitofp_v4i32_v4f64:48; CHECK:       # %bb.0:49; CHECK-NEXT:    vld $vr0, $a1, 050; CHECK-NEXT:    vext2xv.d.w $xr0, $xr051; CHECK-NEXT:    xvffint.d.l $xr0, $xr052; CHECK-NEXT:    xvst $xr0, $a0, 053; CHECK-NEXT:    ret54  %v0 = load <4 x i32>, ptr %in55  %v1 = sitofp <4 x i32> %v0 to <4 x double>56  store <4 x double> %v1, ptr %res57  ret void58}59