brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · c0a352e Raw
89 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=riscv32 -mattr=+v -verify-machineinstrs | FileCheck %s3; RUN: llc < %s -mtriple=riscv64 -mattr=+v -verify-machineinstrs | FileCheck %s4 5define <8 x float> @fpext_v8bf16(<8 x bfloat> %x) {6; CHECK-LABEL: fpext_v8bf16:7; CHECK:       # %bb.0:8; CHECK-NEXT:    fmv.x.w a0, fa09; CHECK-NEXT:    fmv.x.w a1, fa110; CHECK-NEXT:    fmv.x.w a2, fa211; CHECK-NEXT:    fmv.x.w a3, fa312; CHECK-NEXT:    fmv.x.w a4, fa413; CHECK-NEXT:    fmv.x.w a5, fa514; CHECK-NEXT:    fmv.x.w a6, fa615; CHECK-NEXT:    fmv.x.w a7, fa716; CHECK-NEXT:    slli a7, a7, 1617; CHECK-NEXT:    slli a6, a6, 1618; CHECK-NEXT:    slli a5, a5, 1619; CHECK-NEXT:    slli a4, a4, 1620; CHECK-NEXT:    slli a3, a3, 1621; CHECK-NEXT:    slli a2, a2, 1622; CHECK-NEXT:    slli a1, a1, 1623; CHECK-NEXT:    slli a0, a0, 1624; CHECK-NEXT:    vsetivli zero, 2, e32, mf2, ta, ma25; CHECK-NEXT:    vmv.s.x v8, a726; CHECK-NEXT:    vmv.s.x v9, a627; CHECK-NEXT:    vmv.s.x v11, a528; CHECK-NEXT:    vmv.s.x v10, a429; CHECK-NEXT:    vmv.s.x v12, a330; CHECK-NEXT:    vmv.s.x v13, a231; CHECK-NEXT:    vslideup.vi v9, v8, 132; CHECK-NEXT:    vmv.s.x v14, a133; CHECK-NEXT:    vslideup.vi v10, v11, 134; CHECK-NEXT:    vslideup.vi v13, v12, 135; CHECK-NEXT:    vmv.s.x v8, a036; CHECK-NEXT:    vslideup.vi v8, v14, 137; CHECK-NEXT:    vsetivli zero, 4, e32, m1, ta, ma38; CHECK-NEXT:    vslideup.vi v10, v9, 239; CHECK-NEXT:    vslideup.vi v8, v13, 240; CHECK-NEXT:    vsetivli zero, 8, e32, m2, ta, ma41; CHECK-NEXT:    vslideup.vi v8, v10, 442; CHECK-NEXT:    ret43  %y = fpext <8 x bfloat> %x to <8 x float>44  ret <8 x float> %y45}46 47define <8 x float> @fpext_v8f16(<8 x bfloat> %x) {48; CHECK-LABEL: fpext_v8f16:49; CHECK:       # %bb.0:50; CHECK-NEXT:    fmv.x.w a0, fa051; CHECK-NEXT:    fmv.x.w a1, fa152; CHECK-NEXT:    fmv.x.w a2, fa253; CHECK-NEXT:    fmv.x.w a3, fa354; CHECK-NEXT:    fmv.x.w a4, fa455; CHECK-NEXT:    fmv.x.w a5, fa556; CHECK-NEXT:    fmv.x.w a6, fa657; CHECK-NEXT:    fmv.x.w a7, fa758; CHECK-NEXT:    slli a7, a7, 1659; CHECK-NEXT:    slli a6, a6, 1660; CHECK-NEXT:    slli a5, a5, 1661; CHECK-NEXT:    slli a4, a4, 1662; CHECK-NEXT:    slli a3, a3, 1663; CHECK-NEXT:    slli a2, a2, 1664; CHECK-NEXT:    slli a1, a1, 1665; CHECK-NEXT:    slli a0, a0, 1666; CHECK-NEXT:    vsetivli zero, 2, e32, mf2, ta, ma67; CHECK-NEXT:    vmv.s.x v8, a768; CHECK-NEXT:    vmv.s.x v9, a669; CHECK-NEXT:    vmv.s.x v11, a570; CHECK-NEXT:    vmv.s.x v10, a471; CHECK-NEXT:    vmv.s.x v12, a372; CHECK-NEXT:    vmv.s.x v13, a273; CHECK-NEXT:    vslideup.vi v9, v8, 174; CHECK-NEXT:    vmv.s.x v14, a175; CHECK-NEXT:    vslideup.vi v10, v11, 176; CHECK-NEXT:    vslideup.vi v13, v12, 177; CHECK-NEXT:    vmv.s.x v8, a078; CHECK-NEXT:    vslideup.vi v8, v14, 179; CHECK-NEXT:    vsetivli zero, 4, e32, m1, ta, ma80; CHECK-NEXT:    vslideup.vi v10, v9, 281; CHECK-NEXT:    vslideup.vi v8, v13, 282; CHECK-NEXT:    vsetivli zero, 8, e32, m2, ta, ma83; CHECK-NEXT:    vslideup.vi v8, v10, 484; CHECK-NEXT:    ret85  %y = fpext <8 x bfloat> %x to <8 x float>86  ret <8 x float> %y87}88 89