[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / CodeGen / RISCV / rvv / vp-select.ll
blob652baf6692341f0a357fb309d73cd1164554a5ce
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2 ; RUN: llc < %s -mtriple=riscv64 -mattr=+v -verify-machineinstrs | FileCheck %s
4 define <vscale x 1 x i64> @all_ones(<vscale x 1 x i64> %true, <vscale x 1 x i64> %false, i32 %evl) {
5 ; CHECK-LABEL: all_ones:
6 ; CHECK:       # %bb.0:
7 ; CHECK-NEXT:    ret
8   %v = call <vscale x 1 x i64> @llvm.vp.select.nxv1i64(<vscale x 1 x i1> splat (i1 true), <vscale x 1 x i64> %true, <vscale x 1 x i64> %false, i32 %evl)
9   ret <vscale x 1 x i64> %v
12 define <vscale x 1 x i64> @all_zeroes(<vscale x 1 x i64> %true, <vscale x 1 x i64> %false, i32 %evl) {
13 ; CHECK-LABEL: all_zeroes:
14 ; CHECK:       # %bb.0:
15 ; CHECK-NEXT:    vsetivli zero, 1, e8, m1, ta, ma
16 ; CHECK-NEXT:    vmv1r.v v8, v9
17 ; CHECK-NEXT:    ret
18   %v = call <vscale x 1 x i64> @llvm.vp.select.nxv1i64(<vscale x 1 x i1> splat (i1 false), <vscale x 1 x i64> %true, <vscale x 1 x i64> %false, i32 %evl)
19   ret <vscale x 1 x i64> %v