1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 5 2; RUN: opt < %s -mtriple=riscv32 -mattr=+v,+f -passes="print<cost-model>" -cost-kind=throughput --type-based-intrinsic-cost=true 2>&1 -disable-output | FileCheck %s --check-prefixes=CHECK,RV32 3; RUN: opt < %s -mtriple=riscv64 -mattr=+v,+f -passes="print<cost-model>" -cost-kind=throughput --type-based-intrinsic-cost=true 2>&1 -disable-output | FileCheck %s --check-prefixes=CHECK,RV64 4 5define void @icmp() { 6; RV32-LABEL: 'icmp' 7; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = icmp slt <2 x i1> undef, undef 8; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = icmp slt <2 x i8> undef, undef 9; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = icmp slt <2 x i16> undef, undef 10; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = icmp slt <2 x i32> undef, undef 11; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = icmp slt <2 x i64> undef, undef 12; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> undef, <2 x i1> undef, metadata !"slt", <2 x i1> undef, i32 undef) 13; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = call <2 x i1> @llvm.vp.icmp.v2i8(<2 x i8> undef, <2 x i8> undef, metadata !"slt", <2 x i1> undef, i32 undef) 14; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = call <2 x i1> @llvm.vp.icmp.v2i16(<2 x i16> undef, <2 x i16> undef, metadata !"slt", <2 x i1> undef, i32 undef) 15; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = call <2 x i1> @llvm.vp.icmp.v2i32(<2 x i32> undef, <2 x i32> undef, metadata !"slt", <2 x i1> undef, i32 undef) 16; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = call <2 x i1> @llvm.vp.icmp.v2i64(<2 x i64> undef, <2 x i64> undef, metadata !"slt", <2 x i1> undef, i32 undef) 17; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = icmp slt <4 x i1> undef, undef 18; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = icmp slt <4 x i8> undef, undef 19; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = icmp slt <4 x i16> undef, undef 20; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = icmp slt <4 x i32> undef, undef 21; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = icmp slt <4 x i64> undef, undef 22; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> undef, <4 x i1> undef, metadata !"slt", <4 x i1> undef, i32 undef) 23; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = call <4 x i1> @llvm.vp.icmp.v4i8(<4 x i8> undef, <4 x i8> undef, metadata !"slt", <4 x i1> undef, i32 undef) 24; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = call <4 x i1> @llvm.vp.icmp.v4i16(<4 x i16> undef, <4 x i16> undef, metadata !"slt", <4 x i1> undef, i32 undef) 25; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = call <4 x i1> @llvm.vp.icmp.v4i32(<4 x i32> undef, <4 x i32> undef, metadata !"slt", <4 x i1> undef, i32 undef) 26; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = call <4 x i1> @llvm.vp.icmp.v4i64(<4 x i64> undef, <4 x i64> undef, metadata !"slt", <4 x i1> undef, i32 undef) 27; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = icmp slt <8 x i1> undef, undef 28; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = icmp slt <8 x i8> undef, undef 29; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = icmp slt <8 x i16> undef, undef 30; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = icmp slt <8 x i32> undef, undef 31; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = icmp slt <8 x i64> undef, undef 32; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> undef, <8 x i1> undef, metadata !"slt", <8 x i1> undef, i32 undef) 33; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = call <8 x i1> @llvm.vp.icmp.v8i8(<8 x i8> undef, <8 x i8> undef, metadata !"slt", <8 x i1> undef, i32 undef) 34; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = call <8 x i1> @llvm.vp.icmp.v8i16(<8 x i16> undef, <8 x i16> undef, metadata !"slt", <8 x i1> undef, i32 undef) 35; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %29 = call <8 x i1> @llvm.vp.icmp.v8i32(<8 x i32> undef, <8 x i32> undef, metadata !"slt", <8 x i1> undef, i32 undef) 36; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %30 = call <8 x i1> @llvm.vp.icmp.v8i64(<8 x i64> undef, <8 x i64> undef, metadata !"slt", <8 x i1> undef, i32 undef) 37; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = icmp slt <16 x i1> undef, undef 38; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = icmp slt <16 x i8> undef, undef 39; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %33 = icmp slt <16 x i16> undef, undef 40; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %34 = icmp slt <16 x i32> undef, undef 41; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %35 = icmp slt <16 x i64> undef, undef 42; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %36 = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> undef, <16 x i1> undef, metadata !"slt", <16 x i1> undef, i32 undef) 43; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %37 = call <16 x i1> @llvm.vp.icmp.v16i8(<16 x i8> undef, <16 x i8> undef, metadata !"slt", <16 x i1> undef, i32 undef) 44; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %38 = call <16 x i1> @llvm.vp.icmp.v16i16(<16 x i16> undef, <16 x i16> undef, metadata !"slt", <16 x i1> undef, i32 undef) 45; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %39 = call <16 x i1> @llvm.vp.icmp.v16i32(<16 x i32> undef, <16 x i32> undef, metadata !"slt", <16 x i1> undef, i32 undef) 46; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %40 = call <16 x i1> @llvm.vp.icmp.v16i64(<16 x i64> undef, <16 x i64> undef, metadata !"slt", <16 x i1> undef, i32 undef) 47; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %41 = icmp slt <32 x i1> undef, undef 48; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %42 = icmp slt <32 x i8> undef, undef 49; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %43 = icmp slt <32 x i16> undef, undef 50; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %44 = icmp slt <32 x i32> undef, undef 51; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %45 = icmp slt <32 x i64> undef, undef 52; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %46 = call <32 x i1> @llvm.vp.icmp.v32i1(<32 x i1> undef, <32 x i1> undef, metadata !"slt", <32 x i1> undef, i32 undef) 53; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %47 = call <32 x i1> @llvm.vp.icmp.v32i8(<32 x i8> undef, <32 x i8> undef, metadata !"slt", <32 x i1> undef, i32 undef) 54; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %48 = call <32 x i1> @llvm.vp.icmp.v32i16(<32 x i16> undef, <32 x i16> undef, metadata !"slt", <32 x i1> undef, i32 undef) 55; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %49 = call <32 x i1> @llvm.vp.icmp.v32i32(<32 x i32> undef, <32 x i32> undef, metadata !"slt", <32 x i1> undef, i32 undef) 56; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %50 = call <32 x i1> @llvm.vp.icmp.v32i64(<32 x i64> undef, <32 x i64> undef, metadata !"slt", <32 x i1> undef, i32 undef) 57; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %51 = icmp slt <64 x i1> undef, undef 58; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %52 = icmp slt <64 x i8> undef, undef 59; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %53 = icmp slt <64 x i16> undef, undef 60; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %54 = icmp slt <64 x i32> undef, undef 61; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %55 = icmp slt <64 x i64> undef, undef 62; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %56 = call <64 x i1> @llvm.vp.icmp.v64i1(<64 x i1> undef, <64 x i1> undef, metadata !"slt", <64 x i1> undef, i32 undef) 63; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %57 = call <64 x i1> @llvm.vp.icmp.v64i8(<64 x i8> undef, <64 x i8> undef, metadata !"slt", <64 x i1> undef, i32 undef) 64; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %58 = call <64 x i1> @llvm.vp.icmp.v64i16(<64 x i16> undef, <64 x i16> undef, metadata !"slt", <64 x i1> undef, i32 undef) 65; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %59 = call <64 x i1> @llvm.vp.icmp.v64i32(<64 x i32> undef, <64 x i32> undef, metadata !"slt", <64 x i1> undef, i32 undef) 66; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %60 = call <64 x i1> @llvm.vp.icmp.v64i64(<64 x i64> undef, <64 x i64> undef, metadata !"slt", <64 x i1> undef, i32 undef) 67; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %61 = icmp slt <128 x i1> undef, undef 68; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %62 = icmp slt <128 x i8> undef, undef 69; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %63 = icmp slt <128 x i16> undef, undef 70; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %64 = icmp slt <128 x i32> undef, undef 71; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %65 = icmp slt <128 x i64> undef, undef 72; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %66 = call <128 x i1> @llvm.vp.icmp.v128i1(<128 x i1> undef, <128 x i1> undef, metadata !"slt", <128 x i1> undef, i32 undef) 73; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %67 = call <128 x i1> @llvm.vp.icmp.v128i8(<128 x i8> undef, <128 x i8> undef, metadata !"slt", <128 x i1> undef, i32 undef) 74; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %68 = call <128 x i1> @llvm.vp.icmp.v128i16(<128 x i16> undef, <128 x i16> undef, metadata !"slt", <128 x i1> undef, i32 undef) 75; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %69 = call <128 x i1> @llvm.vp.icmp.v128i32(<128 x i32> undef, <128 x i32> undef, metadata !"slt", <128 x i1> undef, i32 undef) 76; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %70 = call <128 x i1> @llvm.vp.icmp.v128i64(<128 x i64> undef, <128 x i64> undef, metadata !"slt", <128 x i1> undef, i32 undef) 77; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %71 = icmp slt <256 x i1> undef, undef 78; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %72 = icmp slt <256 x i8> undef, undef 79; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %73 = icmp slt <256 x i16> undef, undef 80; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %74 = icmp slt <256 x i32> undef, undef 81; RV32-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %75 = icmp slt <256 x i64> undef, undef 82; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %76 = call <256 x i1> @llvm.vp.icmp.v256i1(<256 x i1> undef, <256 x i1> undef, metadata !"slt", <256 x i1> undef, i32 undef) 83; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %77 = call <256 x i1> @llvm.vp.icmp.v256i8(<256 x i8> undef, <256 x i8> undef, metadata !"slt", <256 x i1> undef, i32 undef) 84; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %78 = call <256 x i1> @llvm.vp.icmp.v256i16(<256 x i16> undef, <256 x i16> undef, metadata !"slt", <256 x i1> undef, i32 undef) 85; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %79 = call <256 x i1> @llvm.vp.icmp.v256i32(<256 x i32> undef, <256 x i32> undef, metadata !"slt", <256 x i1> undef, i32 undef) 86; RV32-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %80 = call <256 x i1> @llvm.vp.icmp.v256i64(<256 x i64> undef, <256 x i64> undef, metadata !"slt", <256 x i1> undef, i32 undef) 87; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %81 = icmp slt <vscale x 1 x i1> undef, undef 88; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %82 = icmp slt <vscale x 1 x i8> undef, undef 89; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %83 = icmp slt <vscale x 1 x i16> undef, undef 90; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %84 = icmp slt <vscale x 1 x i32> undef, undef 91; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %85 = icmp slt <vscale x 1 x i64> undef, undef 92; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %86 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i1(<vscale x 1 x i1> undef, <vscale x 1 x i1> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 93; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %87 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i8(<vscale x 1 x i8> undef, <vscale x 1 x i8> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 94; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %88 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i16(<vscale x 1 x i16> undef, <vscale x 1 x i16> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 95; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %89 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i32(<vscale x 1 x i32> undef, <vscale x 1 x i32> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 96; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %90 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i64(<vscale x 1 x i64> undef, <vscale x 1 x i64> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 97; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %91 = icmp slt <vscale x 2 x i1> undef, undef 98; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %92 = icmp slt <vscale x 2 x i8> undef, undef 99; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %93 = icmp slt <vscale x 2 x i16> undef, undef 100; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %94 = icmp slt <vscale x 2 x i32> undef, undef 101; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %95 = icmp slt <vscale x 2 x i64> undef, undef 102; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %96 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i1(<vscale x 2 x i1> undef, <vscale x 2 x i1> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 103; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %97 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i8(<vscale x 2 x i8> undef, <vscale x 2 x i8> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 104; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %98 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i16(<vscale x 2 x i16> undef, <vscale x 2 x i16> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 105; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %99 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i32(<vscale x 2 x i32> undef, <vscale x 2 x i32> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 106; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %100 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i64(<vscale x 2 x i64> undef, <vscale x 2 x i64> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 107; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %101 = icmp slt <vscale x 4 x i1> undef, undef 108; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %102 = icmp slt <vscale x 4 x i8> undef, undef 109; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %103 = icmp slt <vscale x 4 x i16> undef, undef 110; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %104 = icmp slt <vscale x 4 x i32> undef, undef 111; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %105 = icmp slt <vscale x 4 x i64> undef, undef 112; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %106 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i1(<vscale x 4 x i1> undef, <vscale x 4 x i1> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 113; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %107 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i8(<vscale x 4 x i8> undef, <vscale x 4 x i8> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 114; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %108 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i16(<vscale x 4 x i16> undef, <vscale x 4 x i16> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 115; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %109 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i32(<vscale x 4 x i32> undef, <vscale x 4 x i32> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 116; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %110 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i64(<vscale x 4 x i64> undef, <vscale x 4 x i64> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 117; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %111 = icmp slt <vscale x 8 x i1> undef, undef 118; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %112 = icmp slt <vscale x 8 x i8> undef, undef 119; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %113 = icmp slt <vscale x 8 x i16> undef, undef 120; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %114 = icmp slt <vscale x 8 x i32> undef, undef 121; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %115 = icmp slt <vscale x 8 x i64> undef, undef 122; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %116 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i1(<vscale x 8 x i1> undef, <vscale x 8 x i1> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 123; RV32-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %117 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i8(<vscale x 8 x i8> undef, <vscale x 8 x i8> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 124; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %118 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i16(<vscale x 8 x i16> undef, <vscale x 8 x i16> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 125; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %119 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i32(<vscale x 8 x i32> undef, <vscale x 8 x i32> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 126; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %120 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i64(<vscale x 8 x i64> undef, <vscale x 8 x i64> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 127; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %121 = icmp slt <vscale x 16 x i1> undef, undef 128; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %122 = icmp slt <vscale x 16 x i8> undef, undef 129; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %123 = icmp slt <vscale x 16 x i16> undef, undef 130; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %124 = icmp slt <vscale x 16 x i32> undef, undef 131; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %125 = icmp slt <vscale x 16 x i64> undef, undef 132; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %126 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i1(<vscale x 16 x i1> undef, <vscale x 16 x i1> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 133; RV32-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %127 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i8(<vscale x 16 x i8> undef, <vscale x 16 x i8> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 134; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %128 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i16(<vscale x 16 x i16> undef, <vscale x 16 x i16> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 135; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %129 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i32(<vscale x 16 x i32> undef, <vscale x 16 x i32> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 136; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %130 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i64(<vscale x 16 x i64> undef, <vscale x 16 x i64> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 137; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %131 = icmp slt <vscale x 32 x i1> undef, undef 138; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %132 = icmp slt <vscale x 32 x i8> undef, undef 139; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %133 = icmp slt <vscale x 32 x i16> undef, undef 140; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %134 = icmp slt <vscale x 32 x i32> undef, undef 141; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %135 = icmp slt <vscale x 32 x i64> undef, undef 142; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %136 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i1(<vscale x 32 x i1> undef, <vscale x 32 x i1> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 143; RV32-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %137 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i8(<vscale x 32 x i8> undef, <vscale x 32 x i8> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 144; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %138 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i16(<vscale x 32 x i16> undef, <vscale x 32 x i16> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 145; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %139 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i32(<vscale x 32 x i32> undef, <vscale x 32 x i32> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 146; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %140 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i64(<vscale x 32 x i64> undef, <vscale x 32 x i64> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 147; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %141 = icmp slt <vscale x 64 x i1> undef, undef 148; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %142 = icmp slt <vscale x 64 x i8> undef, undef 149; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %143 = icmp slt <vscale x 64 x i16> undef, undef 150; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %144 = icmp slt <vscale x 64 x i32> undef, undef 151; RV32-NEXT: Cost Model: Invalid cost for instruction: %145 = icmp slt <vscale x 64 x i64> undef, undef 152; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %146 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i1(<vscale x 64 x i1> undef, <vscale x 64 x i1> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 153; RV32-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %147 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i8(<vscale x 64 x i8> undef, <vscale x 64 x i8> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 154; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %148 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i16(<vscale x 64 x i16> undef, <vscale x 64 x i16> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 155; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %149 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i32(<vscale x 64 x i32> undef, <vscale x 64 x i32> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 156; RV32-NEXT: Cost Model: Invalid cost for instruction: %150 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i64(<vscale x 64 x i64> undef, <vscale x 64 x i64> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 157; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %151 = icmp slt <vscale x 128 x i1> undef, undef 158; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %152 = icmp slt <vscale x 128 x i8> undef, undef 159; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %153 = icmp slt <vscale x 128 x i16> undef, undef 160; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %154 = icmp slt <vscale x 128 x i32> undef, undef 161; RV32-NEXT: Cost Model: Invalid cost for instruction: %155 = icmp slt <vscale x 128 x i64> undef, undef 162; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %156 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i1(<vscale x 128 x i1> undef, <vscale x 128 x i1> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 163; RV32-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %157 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i8(<vscale x 128 x i8> undef, <vscale x 128 x i8> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 164; RV32-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %158 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i16(<vscale x 128 x i16> undef, <vscale x 128 x i16> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 165; RV32-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %159 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i32(<vscale x 128 x i32> undef, <vscale x 128 x i32> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 166; RV32-NEXT: Cost Model: Invalid cost for instruction: %160 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i64(<vscale x 128 x i64> undef, <vscale x 128 x i64> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 167; RV32-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 168; 169; RV64-LABEL: 'icmp' 170; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = icmp slt <2 x i1> undef, undef 171; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = icmp slt <2 x i8> undef, undef 172; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = icmp slt <2 x i16> undef, undef 173; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = icmp slt <2 x i32> undef, undef 174; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = icmp slt <2 x i64> undef, undef 175; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> undef, <2 x i1> undef, metadata !"slt", <2 x i1> undef, i32 undef) 176; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = call <2 x i1> @llvm.vp.icmp.v2i8(<2 x i8> undef, <2 x i8> undef, metadata !"slt", <2 x i1> undef, i32 undef) 177; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = call <2 x i1> @llvm.vp.icmp.v2i16(<2 x i16> undef, <2 x i16> undef, metadata !"slt", <2 x i1> undef, i32 undef) 178; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = call <2 x i1> @llvm.vp.icmp.v2i32(<2 x i32> undef, <2 x i32> undef, metadata !"slt", <2 x i1> undef, i32 undef) 179; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = call <2 x i1> @llvm.vp.icmp.v2i64(<2 x i64> undef, <2 x i64> undef, metadata !"slt", <2 x i1> undef, i32 undef) 180; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = icmp slt <4 x i1> undef, undef 181; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = icmp slt <4 x i8> undef, undef 182; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = icmp slt <4 x i16> undef, undef 183; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = icmp slt <4 x i32> undef, undef 184; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = icmp slt <4 x i64> undef, undef 185; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %16 = call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> undef, <4 x i1> undef, metadata !"slt", <4 x i1> undef, i32 undef) 186; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = call <4 x i1> @llvm.vp.icmp.v4i8(<4 x i8> undef, <4 x i8> undef, metadata !"slt", <4 x i1> undef, i32 undef) 187; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = call <4 x i1> @llvm.vp.icmp.v4i16(<4 x i16> undef, <4 x i16> undef, metadata !"slt", <4 x i1> undef, i32 undef) 188; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = call <4 x i1> @llvm.vp.icmp.v4i32(<4 x i32> undef, <4 x i32> undef, metadata !"slt", <4 x i1> undef, i32 undef) 189; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = call <4 x i1> @llvm.vp.icmp.v4i64(<4 x i64> undef, <4 x i64> undef, metadata !"slt", <4 x i1> undef, i32 undef) 190; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %21 = icmp slt <8 x i1> undef, undef 191; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = icmp slt <8 x i8> undef, undef 192; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = icmp slt <8 x i16> undef, undef 193; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = icmp slt <8 x i32> undef, undef 194; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = icmp slt <8 x i64> undef, undef 195; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> undef, <8 x i1> undef, metadata !"slt", <8 x i1> undef, i32 undef) 196; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = call <8 x i1> @llvm.vp.icmp.v8i8(<8 x i8> undef, <8 x i8> undef, metadata !"slt", <8 x i1> undef, i32 undef) 197; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = call <8 x i1> @llvm.vp.icmp.v8i16(<8 x i16> undef, <8 x i16> undef, metadata !"slt", <8 x i1> undef, i32 undef) 198; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %29 = call <8 x i1> @llvm.vp.icmp.v8i32(<8 x i32> undef, <8 x i32> undef, metadata !"slt", <8 x i1> undef, i32 undef) 199; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %30 = call <8 x i1> @llvm.vp.icmp.v8i64(<8 x i64> undef, <8 x i64> undef, metadata !"slt", <8 x i1> undef, i32 undef) 200; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = icmp slt <16 x i1> undef, undef 201; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = icmp slt <16 x i8> undef, undef 202; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %33 = icmp slt <16 x i16> undef, undef 203; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %34 = icmp slt <16 x i32> undef, undef 204; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %35 = icmp slt <16 x i64> undef, undef 205; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %36 = call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> undef, <16 x i1> undef, metadata !"slt", <16 x i1> undef, i32 undef) 206; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %37 = call <16 x i1> @llvm.vp.icmp.v16i8(<16 x i8> undef, <16 x i8> undef, metadata !"slt", <16 x i1> undef, i32 undef) 207; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %38 = call <16 x i1> @llvm.vp.icmp.v16i16(<16 x i16> undef, <16 x i16> undef, metadata !"slt", <16 x i1> undef, i32 undef) 208; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %39 = call <16 x i1> @llvm.vp.icmp.v16i32(<16 x i32> undef, <16 x i32> undef, metadata !"slt", <16 x i1> undef, i32 undef) 209; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %40 = call <16 x i1> @llvm.vp.icmp.v16i64(<16 x i64> undef, <16 x i64> undef, metadata !"slt", <16 x i1> undef, i32 undef) 210; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %41 = icmp slt <32 x i1> undef, undef 211; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %42 = icmp slt <32 x i8> undef, undef 212; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %43 = icmp slt <32 x i16> undef, undef 213; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %44 = icmp slt <32 x i32> undef, undef 214; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %45 = icmp slt <32 x i64> undef, undef 215; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %46 = call <32 x i1> @llvm.vp.icmp.v32i1(<32 x i1> undef, <32 x i1> undef, metadata !"slt", <32 x i1> undef, i32 undef) 216; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %47 = call <32 x i1> @llvm.vp.icmp.v32i8(<32 x i8> undef, <32 x i8> undef, metadata !"slt", <32 x i1> undef, i32 undef) 217; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %48 = call <32 x i1> @llvm.vp.icmp.v32i16(<32 x i16> undef, <32 x i16> undef, metadata !"slt", <32 x i1> undef, i32 undef) 218; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %49 = call <32 x i1> @llvm.vp.icmp.v32i32(<32 x i32> undef, <32 x i32> undef, metadata !"slt", <32 x i1> undef, i32 undef) 219; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %50 = call <32 x i1> @llvm.vp.icmp.v32i64(<32 x i64> undef, <32 x i64> undef, metadata !"slt", <32 x i1> undef, i32 undef) 220; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %51 = icmp slt <64 x i1> undef, undef 221; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %52 = icmp slt <64 x i8> undef, undef 222; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %53 = icmp slt <64 x i16> undef, undef 223; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %54 = icmp slt <64 x i32> undef, undef 224; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %55 = icmp slt <64 x i64> undef, undef 225; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %56 = call <64 x i1> @llvm.vp.icmp.v64i1(<64 x i1> undef, <64 x i1> undef, metadata !"slt", <64 x i1> undef, i32 undef) 226; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %57 = call <64 x i1> @llvm.vp.icmp.v64i8(<64 x i8> undef, <64 x i8> undef, metadata !"slt", <64 x i1> undef, i32 undef) 227; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %58 = call <64 x i1> @llvm.vp.icmp.v64i16(<64 x i16> undef, <64 x i16> undef, metadata !"slt", <64 x i1> undef, i32 undef) 228; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %59 = call <64 x i1> @llvm.vp.icmp.v64i32(<64 x i32> undef, <64 x i32> undef, metadata !"slt", <64 x i1> undef, i32 undef) 229; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %60 = call <64 x i1> @llvm.vp.icmp.v64i64(<64 x i64> undef, <64 x i64> undef, metadata !"slt", <64 x i1> undef, i32 undef) 230; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %61 = icmp slt <128 x i1> undef, undef 231; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %62 = icmp slt <128 x i8> undef, undef 232; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %63 = icmp slt <128 x i16> undef, undef 233; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %64 = icmp slt <128 x i32> undef, undef 234; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %65 = icmp slt <128 x i64> undef, undef 235; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %66 = call <128 x i1> @llvm.vp.icmp.v128i1(<128 x i1> undef, <128 x i1> undef, metadata !"slt", <128 x i1> undef, i32 undef) 236; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %67 = call <128 x i1> @llvm.vp.icmp.v128i8(<128 x i8> undef, <128 x i8> undef, metadata !"slt", <128 x i1> undef, i32 undef) 237; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %68 = call <128 x i1> @llvm.vp.icmp.v128i16(<128 x i16> undef, <128 x i16> undef, metadata !"slt", <128 x i1> undef, i32 undef) 238; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %69 = call <128 x i1> @llvm.vp.icmp.v128i32(<128 x i32> undef, <128 x i32> undef, metadata !"slt", <128 x i1> undef, i32 undef) 239; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %70 = call <128 x i1> @llvm.vp.icmp.v128i64(<128 x i64> undef, <128 x i64> undef, metadata !"slt", <128 x i1> undef, i32 undef) 240; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %71 = icmp slt <256 x i1> undef, undef 241; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %72 = icmp slt <256 x i8> undef, undef 242; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %73 = icmp slt <256 x i16> undef, undef 243; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %74 = icmp slt <256 x i32> undef, undef 244; RV64-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %75 = icmp slt <256 x i64> undef, undef 245; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %76 = call <256 x i1> @llvm.vp.icmp.v256i1(<256 x i1> undef, <256 x i1> undef, metadata !"slt", <256 x i1> undef, i32 undef) 246; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %77 = call <256 x i1> @llvm.vp.icmp.v256i8(<256 x i8> undef, <256 x i8> undef, metadata !"slt", <256 x i1> undef, i32 undef) 247; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %78 = call <256 x i1> @llvm.vp.icmp.v256i16(<256 x i16> undef, <256 x i16> undef, metadata !"slt", <256 x i1> undef, i32 undef) 248; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %79 = call <256 x i1> @llvm.vp.icmp.v256i32(<256 x i32> undef, <256 x i32> undef, metadata !"slt", <256 x i1> undef, i32 undef) 249; RV64-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %80 = call <256 x i1> @llvm.vp.icmp.v256i64(<256 x i64> undef, <256 x i64> undef, metadata !"slt", <256 x i1> undef, i32 undef) 250; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %81 = icmp slt <vscale x 1 x i1> undef, undef 251; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %82 = icmp slt <vscale x 1 x i8> undef, undef 252; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %83 = icmp slt <vscale x 1 x i16> undef, undef 253; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %84 = icmp slt <vscale x 1 x i32> undef, undef 254; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %85 = icmp slt <vscale x 1 x i64> undef, undef 255; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %86 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i1(<vscale x 1 x i1> undef, <vscale x 1 x i1> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 256; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %87 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i8(<vscale x 1 x i8> undef, <vscale x 1 x i8> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 257; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %88 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i16(<vscale x 1 x i16> undef, <vscale x 1 x i16> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 258; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %89 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i32(<vscale x 1 x i32> undef, <vscale x 1 x i32> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 259; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %90 = call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i64(<vscale x 1 x i64> undef, <vscale x 1 x i64> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 260; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %91 = icmp slt <vscale x 2 x i1> undef, undef 261; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %92 = icmp slt <vscale x 2 x i8> undef, undef 262; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %93 = icmp slt <vscale x 2 x i16> undef, undef 263; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %94 = icmp slt <vscale x 2 x i32> undef, undef 264; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %95 = icmp slt <vscale x 2 x i64> undef, undef 265; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %96 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i1(<vscale x 2 x i1> undef, <vscale x 2 x i1> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 266; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %97 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i8(<vscale x 2 x i8> undef, <vscale x 2 x i8> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 267; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %98 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i16(<vscale x 2 x i16> undef, <vscale x 2 x i16> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 268; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %99 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i32(<vscale x 2 x i32> undef, <vscale x 2 x i32> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 269; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %100 = call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i64(<vscale x 2 x i64> undef, <vscale x 2 x i64> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 270; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %101 = icmp slt <vscale x 4 x i1> undef, undef 271; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %102 = icmp slt <vscale x 4 x i8> undef, undef 272; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %103 = icmp slt <vscale x 4 x i16> undef, undef 273; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %104 = icmp slt <vscale x 4 x i32> undef, undef 274; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %105 = icmp slt <vscale x 4 x i64> undef, undef 275; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %106 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i1(<vscale x 4 x i1> undef, <vscale x 4 x i1> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 276; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %107 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i8(<vscale x 4 x i8> undef, <vscale x 4 x i8> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 277; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %108 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i16(<vscale x 4 x i16> undef, <vscale x 4 x i16> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 278; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %109 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i32(<vscale x 4 x i32> undef, <vscale x 4 x i32> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 279; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %110 = call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i64(<vscale x 4 x i64> undef, <vscale x 4 x i64> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 280; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %111 = icmp slt <vscale x 8 x i1> undef, undef 281; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %112 = icmp slt <vscale x 8 x i8> undef, undef 282; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %113 = icmp slt <vscale x 8 x i16> undef, undef 283; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %114 = icmp slt <vscale x 8 x i32> undef, undef 284; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %115 = icmp slt <vscale x 8 x i64> undef, undef 285; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %116 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i1(<vscale x 8 x i1> undef, <vscale x 8 x i1> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 286; RV64-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %117 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i8(<vscale x 8 x i8> undef, <vscale x 8 x i8> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 287; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %118 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i16(<vscale x 8 x i16> undef, <vscale x 8 x i16> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 288; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %119 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i32(<vscale x 8 x i32> undef, <vscale x 8 x i32> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 289; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %120 = call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i64(<vscale x 8 x i64> undef, <vscale x 8 x i64> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 290; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %121 = icmp slt <vscale x 16 x i1> undef, undef 291; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %122 = icmp slt <vscale x 16 x i8> undef, undef 292; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %123 = icmp slt <vscale x 16 x i16> undef, undef 293; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %124 = icmp slt <vscale x 16 x i32> undef, undef 294; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %125 = icmp slt <vscale x 16 x i64> undef, undef 295; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %126 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i1(<vscale x 16 x i1> undef, <vscale x 16 x i1> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 296; RV64-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %127 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i8(<vscale x 16 x i8> undef, <vscale x 16 x i8> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 297; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %128 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i16(<vscale x 16 x i16> undef, <vscale x 16 x i16> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 298; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %129 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i32(<vscale x 16 x i32> undef, <vscale x 16 x i32> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 299; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %130 = call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i64(<vscale x 16 x i64> undef, <vscale x 16 x i64> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 300; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %131 = icmp slt <vscale x 32 x i1> undef, undef 301; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %132 = icmp slt <vscale x 32 x i8> undef, undef 302; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %133 = icmp slt <vscale x 32 x i16> undef, undef 303; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %134 = icmp slt <vscale x 32 x i32> undef, undef 304; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %135 = icmp slt <vscale x 32 x i64> undef, undef 305; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %136 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i1(<vscale x 32 x i1> undef, <vscale x 32 x i1> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 306; RV64-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %137 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i8(<vscale x 32 x i8> undef, <vscale x 32 x i8> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 307; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %138 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i16(<vscale x 32 x i16> undef, <vscale x 32 x i16> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 308; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %139 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i32(<vscale x 32 x i32> undef, <vscale x 32 x i32> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 309; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %140 = call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i64(<vscale x 32 x i64> undef, <vscale x 32 x i64> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 310; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %141 = icmp slt <vscale x 64 x i1> undef, undef 311; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %142 = icmp slt <vscale x 64 x i8> undef, undef 312; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %143 = icmp slt <vscale x 64 x i16> undef, undef 313; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %144 = icmp slt <vscale x 64 x i32> undef, undef 314; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %145 = icmp slt <vscale x 64 x i64> undef, undef 315; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %146 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i1(<vscale x 64 x i1> undef, <vscale x 64 x i1> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 316; RV64-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %147 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i8(<vscale x 64 x i8> undef, <vscale x 64 x i8> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 317; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %148 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i16(<vscale x 64 x i16> undef, <vscale x 64 x i16> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 318; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %149 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i32(<vscale x 64 x i32> undef, <vscale x 64 x i32> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 319; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %150 = call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i64(<vscale x 64 x i64> undef, <vscale x 64 x i64> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 320; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %151 = icmp slt <vscale x 128 x i1> undef, undef 321; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %152 = icmp slt <vscale x 128 x i8> undef, undef 322; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %153 = icmp slt <vscale x 128 x i16> undef, undef 323; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %154 = icmp slt <vscale x 128 x i32> undef, undef 324; RV64-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %155 = icmp slt <vscale x 128 x i64> undef, undef 325; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %156 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i1(<vscale x 128 x i1> undef, <vscale x 128 x i1> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 326; RV64-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %157 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i8(<vscale x 128 x i8> undef, <vscale x 128 x i8> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 327; RV64-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %158 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i16(<vscale x 128 x i16> undef, <vscale x 128 x i16> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 328; RV64-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %159 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i32(<vscale x 128 x i32> undef, <vscale x 128 x i32> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 329; RV64-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %160 = call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i64(<vscale x 128 x i64> undef, <vscale x 128 x i64> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 330; RV64-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 331; 332 icmp slt <2 x i1> undef, undef 333 icmp slt <2 x i8> undef, undef 334 icmp slt <2 x i16> undef, undef 335 icmp slt <2 x i32> undef, undef 336 icmp slt <2 x i64> undef, undef 337 call <2 x i1> @llvm.vp.icmp.v2i1(<2 x i1> undef, <2 x i1> undef, metadata !"slt", <2 x i1> undef, i32 undef) 338 call <2 x i1> @llvm.vp.icmp.v2i8(<2 x i8> undef, <2 x i8> undef, metadata !"slt", <2 x i1> undef, i32 undef) 339 call <2 x i1> @llvm.vp.icmp.v2i16(<2 x i16> undef, <2 x i16> undef, metadata !"slt", <2 x i1> undef, i32 undef) 340 call <2 x i1> @llvm.vp.icmp.v2i32(<2 x i32> undef, <2 x i32> undef, metadata !"slt", <2 x i1> undef, i32 undef) 341 call <2 x i1> @llvm.vp.icmp.v2i64(<2 x i64> undef, <2 x i64> undef, metadata !"slt", <2 x i1> undef, i32 undef) 342 343 icmp slt <4 x i1> undef, undef 344 icmp slt <4 x i8> undef, undef 345 icmp slt <4 x i16> undef, undef 346 icmp slt <4 x i32> undef, undef 347 icmp slt <4 x i64> undef, undef 348 call <4 x i1> @llvm.vp.icmp.v4i1(<4 x i1> undef, <4 x i1> undef, metadata !"slt", <4 x i1> undef, i32 undef) 349 call <4 x i1> @llvm.vp.icmp.v4i8(<4 x i8> undef, <4 x i8> undef, metadata !"slt", <4 x i1> undef, i32 undef) 350 call <4 x i1> @llvm.vp.icmp.v4i16(<4 x i16> undef, <4 x i16> undef, metadata !"slt", <4 x i1> undef, i32 undef) 351 call <4 x i1> @llvm.vp.icmp.v4i32(<4 x i32> undef, <4 x i32> undef, metadata !"slt", <4 x i1> undef, i32 undef) 352 call <4 x i1> @llvm.vp.icmp.v4i64(<4 x i64> undef, <4 x i64> undef, metadata !"slt", <4 x i1> undef, i32 undef) 353 354 icmp slt <8 x i1> undef, undef 355 icmp slt <8 x i8> undef, undef 356 icmp slt <8 x i16> undef, undef 357 icmp slt <8 x i32> undef, undef 358 icmp slt <8 x i64> undef, undef 359 call <8 x i1> @llvm.vp.icmp.v8i1(<8 x i1> undef, <8 x i1> undef, metadata !"slt", <8 x i1> undef, i32 undef) 360 call <8 x i1> @llvm.vp.icmp.v8i8(<8 x i8> undef, <8 x i8> undef, metadata !"slt", <8 x i1> undef, i32 undef) 361 call <8 x i1> @llvm.vp.icmp.v8i16(<8 x i16> undef, <8 x i16> undef, metadata !"slt", <8 x i1> undef, i32 undef) 362 call <8 x i1> @llvm.vp.icmp.v8i32(<8 x i32> undef, <8 x i32> undef, metadata !"slt", <8 x i1> undef, i32 undef) 363 call <8 x i1> @llvm.vp.icmp.v8i64(<8 x i64> undef, <8 x i64> undef, metadata !"slt", <8 x i1> undef, i32 undef) 364 365 icmp slt <16 x i1> undef, undef 366 icmp slt <16 x i8> undef, undef 367 icmp slt <16 x i16> undef, undef 368 icmp slt <16 x i32> undef, undef 369 icmp slt <16 x i64> undef, undef 370 call <16 x i1> @llvm.vp.icmp.v16i1(<16 x i1> undef, <16 x i1> undef, metadata !"slt", <16 x i1> undef, i32 undef) 371 call <16 x i1> @llvm.vp.icmp.v16i8(<16 x i8> undef, <16 x i8> undef, metadata !"slt", <16 x i1> undef, i32 undef) 372 call <16 x i1> @llvm.vp.icmp.v16i16(<16 x i16> undef, <16 x i16> undef, metadata !"slt", <16 x i1> undef, i32 undef) 373 call <16 x i1> @llvm.vp.icmp.v16i32(<16 x i32> undef, <16 x i32> undef, metadata !"slt", <16 x i1> undef, i32 undef) 374 call <16 x i1> @llvm.vp.icmp.v16i64(<16 x i64> undef, <16 x i64> undef, metadata !"slt", <16 x i1> undef, i32 undef) 375 376 icmp slt <32 x i1> undef, undef 377 icmp slt <32 x i8> undef, undef 378 icmp slt <32 x i16> undef, undef 379 icmp slt <32 x i32> undef, undef 380 icmp slt <32 x i64> undef, undef 381 call <32 x i1> @llvm.vp.icmp.v32i1(<32 x i1> undef, <32 x i1> undef, metadata !"slt", <32 x i1> undef, i32 undef) 382 call <32 x i1> @llvm.vp.icmp.v32i8(<32 x i8> undef, <32 x i8> undef, metadata !"slt", <32 x i1> undef, i32 undef) 383 call <32 x i1> @llvm.vp.icmp.v32i16(<32 x i16> undef, <32 x i16> undef, metadata !"slt", <32 x i1> undef, i32 undef) 384 call <32 x i1> @llvm.vp.icmp.v32i32(<32 x i32> undef, <32 x i32> undef, metadata !"slt", <32 x i1> undef, i32 undef) 385 call <32 x i1> @llvm.vp.icmp.v32i64(<32 x i64> undef, <32 x i64> undef, metadata !"slt", <32 x i1> undef, i32 undef) 386 387 icmp slt <64 x i1> undef, undef 388 icmp slt <64 x i8> undef, undef 389 icmp slt <64 x i16> undef, undef 390 icmp slt <64 x i32> undef, undef 391 icmp slt <64 x i64> undef, undef 392 call <64 x i1> @llvm.vp.icmp.v64i1(<64 x i1> undef, <64 x i1> undef, metadata !"slt", <64 x i1> undef, i32 undef) 393 call <64 x i1> @llvm.vp.icmp.v64i8(<64 x i8> undef, <64 x i8> undef, metadata !"slt", <64 x i1> undef, i32 undef) 394 call <64 x i1> @llvm.vp.icmp.v64i16(<64 x i16> undef, <64 x i16> undef, metadata !"slt", <64 x i1> undef, i32 undef) 395 call <64 x i1> @llvm.vp.icmp.v64i32(<64 x i32> undef, <64 x i32> undef, metadata !"slt", <64 x i1> undef, i32 undef) 396 call <64 x i1> @llvm.vp.icmp.v64i64(<64 x i64> undef, <64 x i64> undef, metadata !"slt", <64 x i1> undef, i32 undef) 397 398 icmp slt <128 x i1> undef, undef 399 icmp slt <128 x i8> undef, undef 400 icmp slt <128 x i16> undef, undef 401 icmp slt <128 x i32> undef, undef 402 icmp slt <128 x i64> undef, undef 403 call <128 x i1> @llvm.vp.icmp.v128i1(<128 x i1> undef, <128 x i1> undef, metadata !"slt", <128 x i1> undef, i32 undef) 404 call <128 x i1> @llvm.vp.icmp.v128i8(<128 x i8> undef, <128 x i8> undef, metadata !"slt", <128 x i1> undef, i32 undef) 405 call <128 x i1> @llvm.vp.icmp.v128i16(<128 x i16> undef, <128 x i16> undef, metadata !"slt", <128 x i1> undef, i32 undef) 406 call <128 x i1> @llvm.vp.icmp.v128i32(<128 x i32> undef, <128 x i32> undef, metadata !"slt", <128 x i1> undef, i32 undef) 407 call <128 x i1> @llvm.vp.icmp.v128i64(<128 x i64> undef, <128 x i64> undef, metadata !"slt", <128 x i1> undef, i32 undef) 408 409 icmp slt <256 x i1> undef, undef 410 icmp slt <256 x i8> undef, undef 411 icmp slt <256 x i16> undef, undef 412 icmp slt <256 x i32> undef, undef 413 icmp slt <256 x i64> undef, undef 414 call <256 x i1> @llvm.vp.icmp.v256i1(<256 x i1> undef, <256 x i1> undef, metadata !"slt", <256 x i1> undef, i32 undef) 415 call <256 x i1> @llvm.vp.icmp.v256i8(<256 x i8> undef, <256 x i8> undef, metadata !"slt", <256 x i1> undef, i32 undef) 416 call <256 x i1> @llvm.vp.icmp.v256i16(<256 x i16> undef, <256 x i16> undef, metadata !"slt", <256 x i1> undef, i32 undef) 417 call <256 x i1> @llvm.vp.icmp.v256i32(<256 x i32> undef, <256 x i32> undef, metadata !"slt", <256 x i1> undef, i32 undef) 418 call <256 x i1> @llvm.vp.icmp.v256i64(<256 x i64> undef, <256 x i64> undef, metadata !"slt", <256 x i1> undef, i32 undef) 419 420 icmp slt <vscale x 1 x i1> undef, undef 421 icmp slt <vscale x 1 x i8> undef, undef 422 icmp slt <vscale x 1 x i16> undef, undef 423 icmp slt <vscale x 1 x i32> undef, undef 424 icmp slt <vscale x 1 x i64> undef, undef 425 call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i1(<vscale x 1 x i1> undef, <vscale x 1 x i1> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 426 call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i8(<vscale x 1 x i8> undef, <vscale x 1 x i8> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 427 call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i16(<vscale x 1 x i16> undef, <vscale x 1 x i16> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 428 call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i32(<vscale x 1 x i32> undef, <vscale x 1 x i32> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 429 call <vscale x 1 x i1> @llvm.vp.icmp.nxv1i64(<vscale x 1 x i64> undef, <vscale x 1 x i64> undef, metadata !"slt", <vscale x 1 x i1> undef, i32 undef) 430 431 icmp slt <vscale x 2 x i1> undef, undef 432 icmp slt <vscale x 2 x i8> undef, undef 433 icmp slt <vscale x 2 x i16> undef, undef 434 icmp slt <vscale x 2 x i32> undef, undef 435 icmp slt <vscale x 2 x i64> undef, undef 436 call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i1(<vscale x 2 x i1> undef, <vscale x 2 x i1> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 437 call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i8(<vscale x 2 x i8> undef, <vscale x 2 x i8> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 438 call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i16(<vscale x 2 x i16> undef, <vscale x 2 x i16> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 439 call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i32(<vscale x 2 x i32> undef, <vscale x 2 x i32> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 440 call <vscale x 2 x i1> @llvm.vp.icmp.nxv2i64(<vscale x 2 x i64> undef, <vscale x 2 x i64> undef, metadata !"slt", <vscale x 2 x i1> undef, i32 undef) 441 442 icmp slt <vscale x 4 x i1> undef, undef 443 icmp slt <vscale x 4 x i8> undef, undef 444 icmp slt <vscale x 4 x i16> undef, undef 445 icmp slt <vscale x 4 x i32> undef, undef 446 icmp slt <vscale x 4 x i64> undef, undef 447 call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i1(<vscale x 4 x i1> undef, <vscale x 4 x i1> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 448 call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i8(<vscale x 4 x i8> undef, <vscale x 4 x i8> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 449 call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i16(<vscale x 4 x i16> undef, <vscale x 4 x i16> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 450 call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i32(<vscale x 4 x i32> undef, <vscale x 4 x i32> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 451 call <vscale x 4 x i1> @llvm.vp.icmp.nxv4i64(<vscale x 4 x i64> undef, <vscale x 4 x i64> undef, metadata !"slt", <vscale x 4 x i1> undef, i32 undef) 452 453 icmp slt <vscale x 8 x i1> undef, undef 454 icmp slt <vscale x 8 x i8> undef, undef 455 icmp slt <vscale x 8 x i16> undef, undef 456 icmp slt <vscale x 8 x i32> undef, undef 457 icmp slt <vscale x 8 x i64> undef, undef 458 call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i1(<vscale x 8 x i1> undef, <vscale x 8 x i1> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 459 call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i8(<vscale x 8 x i8> undef, <vscale x 8 x i8> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 460 call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i16(<vscale x 8 x i16> undef, <vscale x 8 x i16> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 461 call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i32(<vscale x 8 x i32> undef, <vscale x 8 x i32> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 462 call <vscale x 8 x i1> @llvm.vp.icmp.nxv8i64(<vscale x 8 x i64> undef, <vscale x 8 x i64> undef, metadata !"slt", <vscale x 8 x i1> undef, i32 undef) 463 464 icmp slt <vscale x 16 x i1> undef, undef 465 icmp slt <vscale x 16 x i8> undef, undef 466 icmp slt <vscale x 16 x i16> undef, undef 467 icmp slt <vscale x 16 x i32> undef, undef 468 icmp slt <vscale x 16 x i64> undef, undef 469 call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i1(<vscale x 16 x i1> undef, <vscale x 16 x i1> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 470 call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i8(<vscale x 16 x i8> undef, <vscale x 16 x i8> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 471 call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i16(<vscale x 16 x i16> undef, <vscale x 16 x i16> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 472 call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i32(<vscale x 16 x i32> undef, <vscale x 16 x i32> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 473 call <vscale x 16 x i1> @llvm.vp.icmp.nxv16i64(<vscale x 16 x i64> undef, <vscale x 16 x i64> undef, metadata !"slt", <vscale x 16 x i1> undef, i32 undef) 474 475 icmp slt <vscale x 32 x i1> undef, undef 476 icmp slt <vscale x 32 x i8> undef, undef 477 icmp slt <vscale x 32 x i16> undef, undef 478 icmp slt <vscale x 32 x i32> undef, undef 479 icmp slt <vscale x 32 x i64> undef, undef 480 call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i1(<vscale x 32 x i1> undef, <vscale x 32 x i1> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 481 call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i8(<vscale x 32 x i8> undef, <vscale x 32 x i8> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 482 call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i16(<vscale x 32 x i16> undef, <vscale x 32 x i16> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 483 call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i32(<vscale x 32 x i32> undef, <vscale x 32 x i32> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 484 call <vscale x 32 x i1> @llvm.vp.icmp.nxv32i64(<vscale x 32 x i64> undef, <vscale x 32 x i64> undef, metadata !"slt", <vscale x 32 x i1> undef, i32 undef) 485 486 icmp slt <vscale x 64 x i1> undef, undef 487 icmp slt <vscale x 64 x i8> undef, undef 488 icmp slt <vscale x 64 x i16> undef, undef 489 icmp slt <vscale x 64 x i32> undef, undef 490 icmp slt <vscale x 64 x i64> undef, undef 491 call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i1(<vscale x 64 x i1> undef, <vscale x 64 x i1> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 492 call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i8(<vscale x 64 x i8> undef, <vscale x 64 x i8> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 493 call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i16(<vscale x 64 x i16> undef, <vscale x 64 x i16> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 494 call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i32(<vscale x 64 x i32> undef, <vscale x 64 x i32> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 495 call <vscale x 64 x i1> @llvm.vp.icmp.nxv64i64(<vscale x 64 x i64> undef, <vscale x 64 x i64> undef, metadata !"slt", <vscale x 64 x i1> undef, i32 undef) 496 497 icmp slt <vscale x 128 x i1> undef, undef 498 icmp slt <vscale x 128 x i8> undef, undef 499 icmp slt <vscale x 128 x i16> undef, undef 500 icmp slt <vscale x 128 x i32> undef, undef 501 icmp slt <vscale x 128 x i64> undef, undef 502 call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i1(<vscale x 128 x i1> undef, <vscale x 128 x i1> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 503 call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i8(<vscale x 128 x i8> undef, <vscale x 128 x i8> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 504 call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i16(<vscale x 128 x i16> undef, <vscale x 128 x i16> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 505 call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i32(<vscale x 128 x i32> undef, <vscale x 128 x i32> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 506 call <vscale x 128 x i1> @llvm.vp.icmp.nxv128i64(<vscale x 128 x i64> undef, <vscale x 128 x i64> undef, metadata !"slt", <vscale x 128 x i1> undef, i32 undef) 507 508 ret void 509} 510 511define void @fcmp() { 512; CHECK-LABEL: 'fcmp' 513; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = fcmp olt <2 x float> undef, undef 514; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = fcmp olt <2 x double> undef, undef 515; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = call <2 x i1> @llvm.vp.fcmp.v2f32(<2 x float> undef, <2 x float> undef, metadata !"olt", <2 x i1> undef, i32 undef) 516; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = call <2 x i1> @llvm.vp.fcmp.v2f64(<2 x double> undef, <2 x double> undef, metadata !"olt", <2 x i1> undef, i32 undef) 517; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = fcmp olt <4 x float> undef, undef 518; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %6 = fcmp olt <4 x double> undef, undef 519; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = call <4 x i1> @llvm.vp.fcmp.v4f32(<4 x float> undef, <4 x float> undef, metadata !"olt", <4 x i1> undef, i32 undef) 520; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %8 = call <4 x i1> @llvm.vp.fcmp.v4f64(<4 x double> undef, <4 x double> undef, metadata !"olt", <4 x i1> undef, i32 undef) 521; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %9 = fcmp olt <8 x float> undef, undef 522; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %10 = fcmp olt <8 x double> undef, undef 523; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %11 = call <8 x i1> @llvm.vp.fcmp.v8f32(<8 x float> undef, <8 x float> undef, metadata !"olt", <8 x i1> undef, i32 undef) 524; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %12 = call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> undef, <8 x double> undef, metadata !"olt", <8 x i1> undef, i32 undef) 525; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %13 = fcmp olt <16 x float> undef, undef 526; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %14 = fcmp olt <16 x double> undef, undef 527; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %15 = call <16 x i1> @llvm.vp.fcmp.v16f32(<16 x float> undef, <16 x float> undef, metadata !"olt", <16 x i1> undef, i32 undef) 528; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %16 = call <16 x i1> @llvm.vp.fcmp.v16f64(<16 x double> undef, <16 x double> undef, metadata !"olt", <16 x i1> undef, i32 undef) 529; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %17 = fcmp olt <32 x float> undef, undef 530; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %18 = fcmp olt <32 x double> undef, undef 531; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %19 = call <32 x i1> @llvm.vp.fcmp.v32f32(<32 x float> undef, <32 x float> undef, metadata !"olt", <32 x i1> undef, i32 undef) 532; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %20 = call <32 x i1> @llvm.vp.fcmp.v32f64(<32 x double> undef, <32 x double> undef, metadata !"olt", <32 x i1> undef, i32 undef) 533; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %21 = fcmp olt <64 x float> undef, undef 534; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %22 = fcmp olt <64 x double> undef, undef 535; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %23 = call <64 x i1> @llvm.vp.fcmp.v64f32(<64 x float> undef, <64 x float> undef, metadata !"olt", <64 x i1> undef, i32 undef) 536; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %24 = call <64 x i1> @llvm.vp.fcmp.v64f64(<64 x double> undef, <64 x double> undef, metadata !"olt", <64 x i1> undef, i32 undef) 537; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %25 = fcmp olt <128 x float> undef, undef 538; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %26 = fcmp olt <128 x double> undef, undef 539; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %27 = call <128 x i1> @llvm.vp.fcmp.v128f32(<128 x float> undef, <128 x float> undef, metadata !"olt", <128 x i1> undef, i32 undef) 540; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %28 = call <128 x i1> @llvm.vp.fcmp.v128f64(<128 x double> undef, <128 x double> undef, metadata !"olt", <128 x i1> undef, i32 undef) 541; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %29 = fcmp olt <256 x float> undef, undef 542; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %30 = fcmp olt <256 x double> undef, undef 543; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %31 = call <256 x i1> @llvm.vp.fcmp.v256f32(<256 x float> undef, <256 x float> undef, metadata !"olt", <256 x i1> undef, i32 undef) 544; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %32 = call <256 x i1> @llvm.vp.fcmp.v256f64(<256 x double> undef, <256 x double> undef, metadata !"olt", <256 x i1> undef, i32 undef) 545; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = fcmp olt <vscale x 1 x float> undef, undef 546; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = fcmp olt <vscale x 1 x double> undef, undef 547; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %35 = call <vscale x 1 x i1> @llvm.vp.fcmp.nxv1f32(<vscale x 1 x float> undef, <vscale x 1 x float> undef, metadata !"olt", <vscale x 1 x i1> undef, i32 undef) 548; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %36 = call <vscale x 1 x i1> @llvm.vp.fcmp.nxv1f64(<vscale x 1 x double> undef, <vscale x 1 x double> undef, metadata !"olt", <vscale x 1 x i1> undef, i32 undef) 549; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %37 = fcmp olt <vscale x 2 x float> undef, undef 550; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %38 = fcmp olt <vscale x 2 x double> undef, undef 551; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = call <vscale x 2 x i1> @llvm.vp.fcmp.nxv2f32(<vscale x 2 x float> undef, <vscale x 2 x float> undef, metadata !"olt", <vscale x 2 x i1> undef, i32 undef) 552; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = call <vscale x 2 x i1> @llvm.vp.fcmp.nxv2f64(<vscale x 2 x double> undef, <vscale x 2 x double> undef, metadata !"olt", <vscale x 2 x i1> undef, i32 undef) 553; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %41 = fcmp olt <vscale x 4 x float> undef, undef 554; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %42 = fcmp olt <vscale x 4 x double> undef, undef 555; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = call <vscale x 4 x i1> @llvm.vp.fcmp.nxv4f32(<vscale x 4 x float> undef, <vscale x 4 x float> undef, metadata !"olt", <vscale x 4 x i1> undef, i32 undef) 556; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = call <vscale x 4 x i1> @llvm.vp.fcmp.nxv4f64(<vscale x 4 x double> undef, <vscale x 4 x double> undef, metadata !"olt", <vscale x 4 x i1> undef, i32 undef) 557; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = fcmp olt <vscale x 8 x float> undef, undef 558; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = fcmp olt <vscale x 8 x double> undef, undef 559; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %47 = call <vscale x 8 x i1> @llvm.vp.fcmp.nxv8f32(<vscale x 8 x float> undef, <vscale x 8 x float> undef, metadata !"olt", <vscale x 8 x i1> undef, i32 undef) 560; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %48 = call <vscale x 8 x i1> @llvm.vp.fcmp.nxv8f64(<vscale x 8 x double> undef, <vscale x 8 x double> undef, metadata !"olt", <vscale x 8 x i1> undef, i32 undef) 561; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %49 = fcmp olt <vscale x 16 x float> undef, undef 562; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %50 = fcmp olt <vscale x 16 x double> undef, undef 563; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %51 = call <vscale x 16 x i1> @llvm.vp.fcmp.nxv16f32(<vscale x 16 x float> undef, <vscale x 16 x float> undef, metadata !"olt", <vscale x 16 x i1> undef, i32 undef) 564; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %52 = call <vscale x 16 x i1> @llvm.vp.fcmp.nxv16f64(<vscale x 16 x double> undef, <vscale x 16 x double> undef, metadata !"olt", <vscale x 16 x i1> undef, i32 undef) 565; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %53 = fcmp olt <vscale x 32 x float> undef, undef 566; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %54 = fcmp olt <vscale x 32 x double> undef, undef 567; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %55 = call <vscale x 32 x i1> @llvm.vp.fcmp.nxv32f32(<vscale x 32 x float> undef, <vscale x 32 x float> undef, metadata !"olt", <vscale x 32 x i1> undef, i32 undef) 568; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %56 = call <vscale x 32 x i1> @llvm.vp.fcmp.nxv32f64(<vscale x 32 x double> undef, <vscale x 32 x double> undef, metadata !"olt", <vscale x 32 x i1> undef, i32 undef) 569; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %57 = fcmp olt <vscale x 64 x float> undef, undef 570; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %58 = fcmp olt <vscale x 64 x double> undef, undef 571; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %59 = call <vscale x 64 x i1> @llvm.vp.fcmp.nxv64f32(<vscale x 64 x float> undef, <vscale x 64 x float> undef, metadata !"olt", <vscale x 64 x i1> undef, i32 undef) 572; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %60 = call <vscale x 64 x i1> @llvm.vp.fcmp.nxv64f64(<vscale x 64 x double> undef, <vscale x 64 x double> undef, metadata !"olt", <vscale x 64 x i1> undef, i32 undef) 573; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %61 = fcmp olt <vscale x 128 x float> undef, undef 574; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %62 = fcmp olt <vscale x 128 x double> undef, undef 575; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %63 = call <vscale x 128 x i1> @llvm.vp.fcmp.nxv128f32(<vscale x 128 x float> undef, <vscale x 128 x float> undef, metadata !"olt", <vscale x 128 x i1> undef, i32 undef) 576; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %64 = call <vscale x 128 x i1> @llvm.vp.fcmp.nxv128f64(<vscale x 128 x double> undef, <vscale x 128 x double> undef, metadata !"olt", <vscale x 128 x i1> undef, i32 undef) 577; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 578; 579 fcmp olt <2 x float> undef, undef 580 fcmp olt <2 x double> undef, undef 581 call <2 x i1> @llvm.vp.fcmp.v2f32(<2 x float> undef, <2 x float> undef, metadata !"olt", <2 x i1> undef, i32 undef) 582 call <2 x i1> @llvm.vp.fcmp.v2f64(<2 x double> undef, <2 x double> undef, metadata !"olt", <2 x i1> undef, i32 undef) 583 584 fcmp olt <4 x float> undef, undef 585 fcmp olt <4 x double> undef, undef 586 call <4 x i1> @llvm.vp.fcmp.v4f32(<4 x float> undef, <4 x float> undef, metadata !"olt", <4 x i1> undef, i32 undef) 587 call <4 x i1> @llvm.vp.fcmp.v4f64(<4 x double> undef, <4 x double> undef, metadata !"olt", <4 x i1> undef, i32 undef) 588 589 fcmp olt <8 x float> undef, undef 590 fcmp olt <8 x double> undef, undef 591 call <8 x i1> @llvm.vp.fcmp.v8f32(<8 x float> undef, <8 x float> undef, metadata !"olt", <8 x i1> undef, i32 undef) 592 call <8 x i1> @llvm.vp.fcmp.v8f64(<8 x double> undef, <8 x double> undef, metadata !"olt", <8 x i1> undef, i32 undef) 593 594 fcmp olt <16 x float> undef, undef 595 fcmp olt <16 x double> undef, undef 596 call <16 x i1> @llvm.vp.fcmp.v16f32(<16 x float> undef, <16 x float> undef, metadata !"olt", <16 x i1> undef, i32 undef) 597 call <16 x i1> @llvm.vp.fcmp.v16f64(<16 x double> undef, <16 x double> undef, metadata !"olt", <16 x i1> undef, i32 undef) 598 599 fcmp olt <32 x float> undef, undef 600 fcmp olt <32 x double> undef, undef 601 call <32 x i1> @llvm.vp.fcmp.v32f32(<32 x float> undef, <32 x float> undef, metadata !"olt", <32 x i1> undef, i32 undef) 602 call <32 x i1> @llvm.vp.fcmp.v32f64(<32 x double> undef, <32 x double> undef, metadata !"olt", <32 x i1> undef, i32 undef) 603 604 fcmp olt <64 x float> undef, undef 605 fcmp olt <64 x double> undef, undef 606 call <64 x i1> @llvm.vp.fcmp.v64f32(<64 x float> undef, <64 x float> undef, metadata !"olt", <64 x i1> undef, i32 undef) 607 call <64 x i1> @llvm.vp.fcmp.v64f64(<64 x double> undef, <64 x double> undef, metadata !"olt", <64 x i1> undef, i32 undef) 608 609 fcmp olt <128 x float> undef, undef 610 fcmp olt <128 x double> undef, undef 611 call <128 x i1> @llvm.vp.fcmp.v128f32(<128 x float> undef, <128 x float> undef, metadata !"olt", <128 x i1> undef, i32 undef) 612 call <128 x i1> @llvm.vp.fcmp.v128f64(<128 x double> undef, <128 x double> undef, metadata !"olt", <128 x i1> undef, i32 undef) 613 614 fcmp olt <256 x float> undef, undef 615 fcmp olt <256 x double> undef, undef 616 call <256 x i1> @llvm.vp.fcmp.v256f32(<256 x float> undef, <256 x float> undef, metadata !"olt", <256 x i1> undef, i32 undef) 617 call <256 x i1> @llvm.vp.fcmp.v256f64(<256 x double> undef, <256 x double> undef, metadata !"olt", <256 x i1> undef, i32 undef) 618 619 fcmp olt <vscale x 1 x float> undef, undef 620 fcmp olt <vscale x 1 x double> undef, undef 621 call <vscale x 1 x i1> @llvm.vp.fcmp.nxv1f32(<vscale x 1 x float> undef, <vscale x 1 x float> undef, metadata !"olt", <vscale x 1 x i1> undef, i32 undef) 622 call <vscale x 1 x i1> @llvm.vp.fcmp.nxv1f64(<vscale x 1 x double> undef, <vscale x 1 x double> undef, metadata !"olt", <vscale x 1 x i1> undef, i32 undef) 623 624 fcmp olt <vscale x 2 x float> undef, undef 625 fcmp olt <vscale x 2 x double> undef, undef 626 call <vscale x 2 x i1> @llvm.vp.fcmp.nxv2f32(<vscale x 2 x float> undef, <vscale x 2 x float> undef, metadata !"olt", <vscale x 2 x i1> undef, i32 undef) 627 call <vscale x 2 x i1> @llvm.vp.fcmp.nxv2f64(<vscale x 2 x double> undef, <vscale x 2 x double> undef, metadata !"olt", <vscale x 2 x i1> undef, i32 undef) 628 629 fcmp olt <vscale x 4 x float> undef, undef 630 fcmp olt <vscale x 4 x double> undef, undef 631 call <vscale x 4 x i1> @llvm.vp.fcmp.nxv4f32(<vscale x 4 x float> undef, <vscale x 4 x float> undef, metadata !"olt", <vscale x 4 x i1> undef, i32 undef) 632 call <vscale x 4 x i1> @llvm.vp.fcmp.nxv4f64(<vscale x 4 x double> undef, <vscale x 4 x double> undef, metadata !"olt", <vscale x 4 x i1> undef, i32 undef) 633 634 fcmp olt <vscale x 8 x float> undef, undef 635 fcmp olt <vscale x 8 x double> undef, undef 636 call <vscale x 8 x i1> @llvm.vp.fcmp.nxv8f32(<vscale x 8 x float> undef, <vscale x 8 x float> undef, metadata !"olt", <vscale x 8 x i1> undef, i32 undef) 637 call <vscale x 8 x i1> @llvm.vp.fcmp.nxv8f64(<vscale x 8 x double> undef, <vscale x 8 x double> undef, metadata !"olt", <vscale x 8 x i1> undef, i32 undef) 638 639 fcmp olt <vscale x 16 x float> undef, undef 640 fcmp olt <vscale x 16 x double> undef, undef 641 call <vscale x 16 x i1> @llvm.vp.fcmp.nxv16f32(<vscale x 16 x float> undef, <vscale x 16 x float> undef, metadata !"olt", <vscale x 16 x i1> undef, i32 undef) 642 call <vscale x 16 x i1> @llvm.vp.fcmp.nxv16f64(<vscale x 16 x double> undef, <vscale x 16 x double> undef, metadata !"olt", <vscale x 16 x i1> undef, i32 undef) 643 644 fcmp olt <vscale x 32 x float> undef, undef 645 fcmp olt <vscale x 32 x double> undef, undef 646 call <vscale x 32 x i1> @llvm.vp.fcmp.nxv32f32(<vscale x 32 x float> undef, <vscale x 32 x float> undef, metadata !"olt", <vscale x 32 x i1> undef, i32 undef) 647 call <vscale x 32 x i1> @llvm.vp.fcmp.nxv32f64(<vscale x 32 x double> undef, <vscale x 32 x double> undef, metadata !"olt", <vscale x 32 x i1> undef, i32 undef) 648 649 fcmp olt <vscale x 64 x float> undef, undef 650 fcmp olt <vscale x 64 x double> undef, undef 651 call <vscale x 64 x i1> @llvm.vp.fcmp.nxv64f32(<vscale x 64 x float> undef, <vscale x 64 x float> undef, metadata !"olt", <vscale x 64 x i1> undef, i32 undef) 652 call <vscale x 64 x i1> @llvm.vp.fcmp.nxv64f64(<vscale x 64 x double> undef, <vscale x 64 x double> undef, metadata !"olt", <vscale x 64 x i1> undef, i32 undef) 653 654 fcmp olt <vscale x 128 x float> undef, undef 655 fcmp olt <vscale x 128 x double> undef, undef 656 call <vscale x 128 x i1> @llvm.vp.fcmp.nxv128f32(<vscale x 128 x float> undef, <vscale x 128 x float> undef, metadata !"olt", <vscale x 128 x i1> undef, i32 undef) 657 call <vscale x 128 x i1> @llvm.vp.fcmp.nxv128f64(<vscale x 128 x double> undef, <vscale x 128 x double> undef, metadata !"olt", <vscale x 128 x i1> undef, i32 undef) 658 659 ret void 660} 661