1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py 2; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh < %s | FileCheck %s 3; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mcpu=sifive-x280 < %s | FileCheck %s --check-prefix=SIFIVE-X280 4; Check that we don't crash querying costs when vectors are not enabled. 5; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 6 7define i32 @add() { 8; CHECK-LABEL: 'add' 9; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef 10; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef 11; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef 12; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef 13; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef 14; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef 15; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef 16; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = add <16 x i16> undef, undef 17; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = add <32 x i16> undef, undef 18; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef 19; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef 20; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef 21; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef 22; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef 23; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef 24; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef 25; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef 26; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef 27; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = add <8 x i32> undef, undef 28; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = add <16 x i32> undef, undef 29; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef 30; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef 31; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef 32; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef 33; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef 34; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef 35; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef 36; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = add <4 x i64> undef, undef 37; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = add <8 x i64> undef, undef 38; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef 39; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef 40; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef 41; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef 42; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 43; 44; SIFIVE-X280-LABEL: 'add' 45; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef 46; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef 47; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef 48; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef 49; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef 50; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef 51; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef 52; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = add <16 x i16> undef, undef 53; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = add <32 x i16> undef, undef 54; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef 55; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef 56; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef 57; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef 58; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef 59; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef 60; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef 61; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef 62; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef 63; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = add <8 x i32> undef, undef 64; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = add <16 x i32> undef, undef 65; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef 66; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef 67; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef 68; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef 69; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef 70; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef 71; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef 72; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = add <4 x i64> undef, undef 73; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = add <8 x i64> undef, undef 74; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef 75; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef 76; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef 77; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef 78; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 79; 80 %I16 = add i16 undef, undef 81 %I32 = add i32 undef, undef 82 %I64 = add i64 undef, undef 83 84 %V1I16 = add <1 x i16> undef, undef 85 %V2I16 = add <2 x i16> undef, undef 86 %V4I16 = add <4 x i16> undef, undef 87 %V8I16 = add <8 x i16> undef, undef 88 %V16I16 = add <16 x i16> undef, undef 89 %V32I16 = add <32 x i16> undef, undef 90 91 %NXV1I16 = add <vscale x 1 x i16> undef, undef 92 %NXV2I16 = add <vscale x 2 x i16> undef, undef 93 %NXV4I16 = add <vscale x 4 x i16> undef, undef 94 %NXV8I16 = add <vscale x 8 x i16> undef, undef 95 %NXV16I16 = add <vscale x 16 x i16> undef, undef 96 %NXV32I16 = add <vscale x 32 x i16> undef, undef 97 98 %V1I32 = add <1 x i32> undef, undef 99 %V2I32 = add <2 x i32> undef, undef 100 %V4I32 = add <4 x i32> undef, undef 101 %V8I32 = add <8 x i32> undef, undef 102 %V16I32 = add <16 x i32> undef, undef 103 104 %NXV1I32 = add <vscale x 1 x i32> undef, undef 105 %NXV2I32 = add <vscale x 2 x i32> undef, undef 106 %NXV4I32 = add <vscale x 4 x i32> undef, undef 107 %NXV8I32 = add <vscale x 8 x i32> undef, undef 108 %NXV16I32 = add <vscale x 16 x i32> undef, undef 109 110 %V1I64 = add <1 x i64> undef, undef 111 %V2I64 = add <2 x i64> undef, undef 112 %V4I64 = add <4 x i64> undef, undef 113 %V8I64 = add <8 x i64> undef, undef 114 115 %NXV1I64 = add <vscale x 1 x i64> undef, undef 116 %NXV2I64 = add <vscale x 2 x i64> undef, undef 117 %NXV4I64 = add <vscale x 4 x i64> undef, undef 118 %NXV8I64 = add <vscale x 8 x i64> undef, undef 119 120 ret i32 undef 121} 122 123define i32 @sub() { 124; CHECK-LABEL: 'sub' 125; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sub i16 undef, undef 126; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef 127; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef 128; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef 129; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef 130; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef 131; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef 132; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sub <16 x i16> undef, undef 133; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sub <32 x i16> undef, undef 134; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef 135; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef 136; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef 137; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef 138; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef 139; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef 140; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef 141; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef 142; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef 143; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sub <8 x i32> undef, undef 144; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sub <16 x i32> undef, undef 145; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef 146; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef 147; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef 148; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef 149; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef 150; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef 151; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef 152; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sub <4 x i64> undef, undef 153; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sub <8 x i64> undef, undef 154; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef 155; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef 156; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef 157; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef 158; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 159; 160; SIFIVE-X280-LABEL: 'sub' 161; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sub i16 undef, undef 162; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef 163; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef 164; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef 165; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef 166; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef 167; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef 168; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sub <16 x i16> undef, undef 169; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sub <32 x i16> undef, undef 170; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef 171; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef 172; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef 173; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef 174; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef 175; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef 176; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef 177; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef 178; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef 179; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sub <8 x i32> undef, undef 180; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sub <16 x i32> undef, undef 181; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef 182; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef 183; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef 184; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef 185; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef 186; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef 187; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef 188; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sub <4 x i64> undef, undef 189; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sub <8 x i64> undef, undef 190; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef 191; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef 192; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef 193; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef 194; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 195; 196 %I16 = sub i16 undef, undef 197 %I32 = sub i32 undef, undef 198 %I64 = sub i64 undef, undef 199 200 %V1I16 = sub <1 x i16> undef, undef 201 %V2I16 = sub <2 x i16> undef, undef 202 %V4I16 = sub <4 x i16> undef, undef 203 %V8I16 = sub <8 x i16> undef, undef 204 %V16I16 = sub <16 x i16> undef, undef 205 %V32I16 = sub <32 x i16> undef, undef 206 207 %NXV1I16 = sub <vscale x 1 x i16> undef, undef 208 %NXV2I16 = sub <vscale x 2 x i16> undef, undef 209 %NXV4I16 = sub <vscale x 4 x i16> undef, undef 210 %NXV8I16 = sub <vscale x 8 x i16> undef, undef 211 %NXV16I16 = sub <vscale x 16 x i16> undef, undef 212 %NXV32I16 = sub <vscale x 32 x i16> undef, undef 213 214 %V1I32 = sub <1 x i32> undef, undef 215 %V2I32 = sub <2 x i32> undef, undef 216 %V4I32 = sub <4 x i32> undef, undef 217 %V8I32 = sub <8 x i32> undef, undef 218 %V16I32 = sub <16 x i32> undef, undef 219 220 %NXV1I32 = sub <vscale x 1 x i32> undef, undef 221 %NXV2I32 = sub <vscale x 2 x i32> undef, undef 222 %NXV4I32 = sub <vscale x 4 x i32> undef, undef 223 %NXV8I32 = sub <vscale x 8 x i32> undef, undef 224 %NXV16I32 = sub <vscale x 16 x i32> undef, undef 225 226 %V1I64 = sub <1 x i64> undef, undef 227 %V2I64 = sub <2 x i64> undef, undef 228 %V4I64 = sub <4 x i64> undef, undef 229 %V8I64 = sub <8 x i64> undef, undef 230 231 %NXV1I64 = sub <vscale x 1 x i64> undef, undef 232 %NXV2I64 = sub <vscale x 2 x i64> undef, undef 233 %NXV4I64 = sub <vscale x 4 x i64> undef, undef 234 %NXV8I64 = sub <vscale x 8 x i64> undef, undef 235 236 ret i32 undef 237} 238 239define i32 @mul() { 240; CHECK-LABEL: 'mul' 241; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = mul i16 undef, undef 242; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef 243; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef 244; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef 245; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef 246; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef 247; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef 248; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = mul <16 x i16> undef, undef 249; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = mul <32 x i16> undef, undef 250; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef 251; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef 252; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef 253; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef 254; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef 255; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef 256; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef 257; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef 258; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef 259; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = mul <8 x i32> undef, undef 260; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = mul <16 x i32> undef, undef 261; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef 262; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef 263; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef 264; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef 265; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef 266; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef 267; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef 268; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = mul <4 x i64> undef, undef 269; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = mul <8 x i64> undef, undef 270; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef 271; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef 272; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef 273; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef 274; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 275; 276; SIFIVE-X280-LABEL: 'mul' 277; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = mul i16 undef, undef 278; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef 279; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef 280; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef 281; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef 282; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef 283; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef 284; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = mul <16 x i16> undef, undef 285; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = mul <32 x i16> undef, undef 286; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef 287; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef 288; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef 289; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef 290; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef 291; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef 292; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef 293; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef 294; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef 295; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = mul <8 x i32> undef, undef 296; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = mul <16 x i32> undef, undef 297; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef 298; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef 299; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef 300; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef 301; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef 302; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef 303; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef 304; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = mul <4 x i64> undef, undef 305; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = mul <8 x i64> undef, undef 306; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef 307; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef 308; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef 309; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef 310; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 311; 312 %I16 = mul i16 undef, undef 313 %I32 = mul i32 undef, undef 314 %I64 = mul i64 undef, undef 315 316 %V1I16 = mul <1 x i16> undef, undef 317 %V2I16 = mul <2 x i16> undef, undef 318 %V4I16 = mul <4 x i16> undef, undef 319 %V8I16 = mul <8 x i16> undef, undef 320 %V16I16 = mul <16 x i16> undef, undef 321 %V32I16 = mul <32 x i16> undef, undef 322 323 %NXV1I16 = mul <vscale x 1 x i16> undef, undef 324 %NXV2I16 = mul <vscale x 2 x i16> undef, undef 325 %NXV4I16 = mul <vscale x 4 x i16> undef, undef 326 %NXV8I16 = mul <vscale x 8 x i16> undef, undef 327 %NXV16I16 = mul <vscale x 16 x i16> undef, undef 328 %NXV32I16 = mul <vscale x 32 x i16> undef, undef 329 330 %V1I32 = mul <1 x i32> undef, undef 331 %V2I32 = mul <2 x i32> undef, undef 332 %V4I32 = mul <4 x i32> undef, undef 333 %V8I32 = mul <8 x i32> undef, undef 334 %V16I32 = mul <16 x i32> undef, undef 335 336 %NXV1I32 = mul <vscale x 1 x i32> undef, undef 337 %NXV2I32 = mul <vscale x 2 x i32> undef, undef 338 %NXV4I32 = mul <vscale x 4 x i32> undef, undef 339 %NXV8I32 = mul <vscale x 8 x i32> undef, undef 340 %NXV16I32 = mul <vscale x 16 x i32> undef, undef 341 342 %V1I64 = mul <1 x i64> undef, undef 343 %V2I64 = mul <2 x i64> undef, undef 344 %V4I64 = mul <4 x i64> undef, undef 345 %V8I64 = mul <8 x i64> undef, undef 346 347 %NXV1I64 = mul <vscale x 1 x i64> undef, undef 348 %NXV2I64 = mul <vscale x 2 x i64> undef, undef 349 %NXV4I64 = mul <vscale x 4 x i64> undef, undef 350 %NXV8I64 = mul <vscale x 8 x i64> undef, undef 351 352 ret i32 undef 353} 354 355define i32 @shl() { 356; CHECK-LABEL: 'shl' 357; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = shl i16 undef, undef 358; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef 359; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef 360; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef 361; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef 362; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef 363; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef 364; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = shl <16 x i16> undef, undef 365; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = shl <32 x i16> undef, undef 366; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef 367; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef 368; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef 369; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef 370; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef 371; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef 372; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef 373; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef 374; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef 375; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = shl <8 x i32> undef, undef 376; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = shl <16 x i32> undef, undef 377; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef 378; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef 379; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef 380; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef 381; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef 382; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef 383; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef 384; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = shl <4 x i64> undef, undef 385; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = shl <8 x i64> undef, undef 386; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef 387; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef 388; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef 389; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef 390; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 391; 392; SIFIVE-X280-LABEL: 'shl' 393; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = shl i16 undef, undef 394; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef 395; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef 396; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef 397; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef 398; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef 399; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef 400; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = shl <16 x i16> undef, undef 401; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = shl <32 x i16> undef, undef 402; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef 403; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef 404; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef 405; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef 406; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef 407; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef 408; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef 409; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef 410; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef 411; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = shl <8 x i32> undef, undef 412; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = shl <16 x i32> undef, undef 413; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef 414; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef 415; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef 416; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef 417; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef 418; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef 419; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef 420; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = shl <4 x i64> undef, undef 421; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = shl <8 x i64> undef, undef 422; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef 423; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef 424; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef 425; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef 426; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 427; 428 %I16 = shl i16 undef, undef 429 %I32 = shl i32 undef, undef 430 %I64 = shl i64 undef, undef 431 432 %V1I16 = shl <1 x i16> undef, undef 433 %V2I16 = shl <2 x i16> undef, undef 434 %V4I16 = shl <4 x i16> undef, undef 435 %V8I16 = shl <8 x i16> undef, undef 436 %V16I16 = shl <16 x i16> undef, undef 437 %V32I16 = shl <32 x i16> undef, undef 438 439 %NXV1I16 = shl <vscale x 1 x i16> undef, undef 440 %NXV2I16 = shl <vscale x 2 x i16> undef, undef 441 %NXV4I16 = shl <vscale x 4 x i16> undef, undef 442 %NXV8I16 = shl <vscale x 8 x i16> undef, undef 443 %NXV16I16 = shl <vscale x 16 x i16> undef, undef 444 %NXV32I16 = shl <vscale x 32 x i16> undef, undef 445 446 %V1I32 = shl <1 x i32> undef, undef 447 %V2I32 = shl <2 x i32> undef, undef 448 %V4I32 = shl <4 x i32> undef, undef 449 %V8I32 = shl <8 x i32> undef, undef 450 %V16I32 = shl <16 x i32> undef, undef 451 452 %NXV1I32 = shl <vscale x 1 x i32> undef, undef 453 %NXV2I32 = shl <vscale x 2 x i32> undef, undef 454 %NXV4I32 = shl <vscale x 4 x i32> undef, undef 455 %NXV8I32 = shl <vscale x 8 x i32> undef, undef 456 %NXV16I32 = shl <vscale x 16 x i32> undef, undef 457 458 %V1I64 = shl <1 x i64> undef, undef 459 %V2I64 = shl <2 x i64> undef, undef 460 %V4I64 = shl <4 x i64> undef, undef 461 %V8I64 = shl <8 x i64> undef, undef 462 463 %NXV1I64 = shl <vscale x 1 x i64> undef, undef 464 %NXV2I64 = shl <vscale x 2 x i64> undef, undef 465 %NXV4I64 = shl <vscale x 4 x i64> undef, undef 466 %NXV8I64 = shl <vscale x 8 x i64> undef, undef 467 468 ret i32 undef 469} 470 471define i32 @lshr() { 472; CHECK-LABEL: 'lshr' 473; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = lshr i16 undef, undef 474; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef 475; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef 476; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef 477; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef 478; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef 479; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef 480; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = lshr <16 x i16> undef, undef 481; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = lshr <32 x i16> undef, undef 482; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef 483; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef 484; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef 485; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef 486; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef 487; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef 488; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef 489; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef 490; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef 491; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = lshr <8 x i32> undef, undef 492; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = lshr <16 x i32> undef, undef 493; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef 494; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef 495; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef 496; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef 497; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef 498; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef 499; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef 500; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = lshr <4 x i64> undef, undef 501; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = lshr <8 x i64> undef, undef 502; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef 503; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef 504; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef 505; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef 506; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 507; 508; SIFIVE-X280-LABEL: 'lshr' 509; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = lshr i16 undef, undef 510; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef 511; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef 512; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef 513; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef 514; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef 515; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef 516; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = lshr <16 x i16> undef, undef 517; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = lshr <32 x i16> undef, undef 518; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef 519; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef 520; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef 521; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef 522; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef 523; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef 524; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef 525; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef 526; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef 527; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = lshr <8 x i32> undef, undef 528; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = lshr <16 x i32> undef, undef 529; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef 530; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef 531; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef 532; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef 533; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef 534; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef 535; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef 536; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = lshr <4 x i64> undef, undef 537; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = lshr <8 x i64> undef, undef 538; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef 539; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef 540; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef 541; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef 542; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 543; 544 %I16 = lshr i16 undef, undef 545 %I32 = lshr i32 undef, undef 546 %I64 = lshr i64 undef, undef 547 548 %V1I16 = lshr <1 x i16> undef, undef 549 %V2I16 = lshr <2 x i16> undef, undef 550 %V4I16 = lshr <4 x i16> undef, undef 551 %V8I16 = lshr <8 x i16> undef, undef 552 %V16I16 = lshr <16 x i16> undef, undef 553 %V32I16 = lshr <32 x i16> undef, undef 554 555 %NXV1I16 = lshr <vscale x 1 x i16> undef, undef 556 %NXV2I16 = lshr <vscale x 2 x i16> undef, undef 557 %NXV4I16 = lshr <vscale x 4 x i16> undef, undef 558 %NXV8I16 = lshr <vscale x 8 x i16> undef, undef 559 %NXV16I16 = lshr <vscale x 16 x i16> undef, undef 560 %NXV32I16 = lshr <vscale x 32 x i16> undef, undef 561 562 %V1I32 = lshr <1 x i32> undef, undef 563 %V2I32 = lshr <2 x i32> undef, undef 564 %V4I32 = lshr <4 x i32> undef, undef 565 %V8I32 = lshr <8 x i32> undef, undef 566 %V16I32 = lshr <16 x i32> undef, undef 567 568 %NXV1I32 = lshr <vscale x 1 x i32> undef, undef 569 %NXV2I32 = lshr <vscale x 2 x i32> undef, undef 570 %NXV4I32 = lshr <vscale x 4 x i32> undef, undef 571 %NXV8I32 = lshr <vscale x 8 x i32> undef, undef 572 %NXV16I32 = lshr <vscale x 16 x i32> undef, undef 573 574 %V1I64 = lshr <1 x i64> undef, undef 575 %V2I64 = lshr <2 x i64> undef, undef 576 %V4I64 = lshr <4 x i64> undef, undef 577 %V8I64 = lshr <8 x i64> undef, undef 578 579 %NXV1I64 = lshr <vscale x 1 x i64> undef, undef 580 %NXV2I64 = lshr <vscale x 2 x i64> undef, undef 581 %NXV4I64 = lshr <vscale x 4 x i64> undef, undef 582 %NXV8I64 = lshr <vscale x 8 x i64> undef, undef 583 584 ret i32 undef 585} 586 587define i32 @ashr() { 588; CHECK-LABEL: 'ashr' 589; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = ashr i16 undef, undef 590; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef 591; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef 592; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef 593; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef 594; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef 595; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef 596; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = ashr <16 x i16> undef, undef 597; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = ashr <32 x i16> undef, undef 598; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef 599; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef 600; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef 601; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef 602; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef 603; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef 604; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef 605; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef 606; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef 607; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = ashr <8 x i32> undef, undef 608; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = ashr <16 x i32> undef, undef 609; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef 610; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef 611; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef 612; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef 613; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef 614; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef 615; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef 616; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = ashr <4 x i64> undef, undef 617; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = ashr <8 x i64> undef, undef 618; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef 619; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef 620; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef 621; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef 622; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 623; 624; SIFIVE-X280-LABEL: 'ashr' 625; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = ashr i16 undef, undef 626; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef 627; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef 628; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef 629; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef 630; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef 631; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef 632; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = ashr <16 x i16> undef, undef 633; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = ashr <32 x i16> undef, undef 634; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef 635; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef 636; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef 637; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef 638; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef 639; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef 640; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef 641; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef 642; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef 643; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = ashr <8 x i32> undef, undef 644; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = ashr <16 x i32> undef, undef 645; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef 646; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef 647; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef 648; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef 649; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef 650; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef 651; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef 652; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = ashr <4 x i64> undef, undef 653; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = ashr <8 x i64> undef, undef 654; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef 655; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef 656; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef 657; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef 658; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 659; 660 %I16 = ashr i16 undef, undef 661 %I32 = ashr i32 undef, undef 662 %I64 = ashr i64 undef, undef 663 664 %V1I16 = ashr <1 x i16> undef, undef 665 %V2I16 = ashr <2 x i16> undef, undef 666 %V4I16 = ashr <4 x i16> undef, undef 667 %V8I16 = ashr <8 x i16> undef, undef 668 %V16I16 = ashr <16 x i16> undef, undef 669 %V32I16 = ashr <32 x i16> undef, undef 670 671 %NXV1I16 = ashr <vscale x 1 x i16> undef, undef 672 %NXV2I16 = ashr <vscale x 2 x i16> undef, undef 673 %NXV4I16 = ashr <vscale x 4 x i16> undef, undef 674 %NXV8I16 = ashr <vscale x 8 x i16> undef, undef 675 %NXV16I16 = ashr <vscale x 16 x i16> undef, undef 676 %NXV32I16 = ashr <vscale x 32 x i16> undef, undef 677 678 %V1I32 = ashr <1 x i32> undef, undef 679 %V2I32 = ashr <2 x i32> undef, undef 680 %V4I32 = ashr <4 x i32> undef, undef 681 %V8I32 = ashr <8 x i32> undef, undef 682 %V16I32 = ashr <16 x i32> undef, undef 683 684 %NXV1I32 = ashr <vscale x 1 x i32> undef, undef 685 %NXV2I32 = ashr <vscale x 2 x i32> undef, undef 686 %NXV4I32 = ashr <vscale x 4 x i32> undef, undef 687 %NXV8I32 = ashr <vscale x 8 x i32> undef, undef 688 %NXV16I32 = ashr <vscale x 16 x i32> undef, undef 689 690 %V1I64 = ashr <1 x i64> undef, undef 691 %V2I64 = ashr <2 x i64> undef, undef 692 %V4I64 = ashr <4 x i64> undef, undef 693 %V8I64 = ashr <8 x i64> undef, undef 694 695 %NXV1I64 = ashr <vscale x 1 x i64> undef, undef 696 %NXV2I64 = ashr <vscale x 2 x i64> undef, undef 697 %NXV4I64 = ashr <vscale x 4 x i64> undef, undef 698 %NXV8I64 = ashr <vscale x 8 x i64> undef, undef 699 700 ret i32 undef 701} 702 703define i32 @udiv() { 704; CHECK-LABEL: 'udiv' 705; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = udiv i16 undef, undef 706; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef 707; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef 708; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef 709; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef 710; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef 711; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef 712; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = udiv <16 x i16> undef, undef 713; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = udiv <32 x i16> undef, undef 714; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef 715; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef 716; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef 717; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef 718; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef 719; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef 720; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef 721; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef 722; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef 723; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = udiv <8 x i32> undef, undef 724; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = udiv <16 x i32> undef, undef 725; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef 726; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef 727; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef 728; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef 729; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef 730; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef 731; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef 732; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = udiv <4 x i64> undef, undef 733; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = udiv <8 x i64> undef, undef 734; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef 735; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef 736; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef 737; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef 738; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 739; 740; SIFIVE-X280-LABEL: 'udiv' 741; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = udiv i16 undef, undef 742; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef 743; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef 744; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef 745; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef 746; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef 747; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef 748; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = udiv <16 x i16> undef, undef 749; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = udiv <32 x i16> undef, undef 750; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef 751; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef 752; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef 753; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef 754; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef 755; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef 756; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef 757; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef 758; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef 759; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = udiv <8 x i32> undef, undef 760; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = udiv <16 x i32> undef, undef 761; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef 762; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef 763; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef 764; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef 765; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef 766; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef 767; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef 768; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = udiv <4 x i64> undef, undef 769; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = udiv <8 x i64> undef, undef 770; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef 771; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef 772; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef 773; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef 774; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 775; 776 %I16 = udiv i16 undef, undef 777 %I32 = udiv i32 undef, undef 778 %I64 = udiv i64 undef, undef 779 780 %V1I16 = udiv <1 x i16> undef, undef 781 %V2I16 = udiv <2 x i16> undef, undef 782 %V4I16 = udiv <4 x i16> undef, undef 783 %V8I16 = udiv <8 x i16> undef, undef 784 %V16I16 = udiv <16 x i16> undef, undef 785 %V32I16 = udiv <32 x i16> undef, undef 786 787 %NXV1I16 = udiv <vscale x 1 x i16> undef, undef 788 %NXV2I16 = udiv <vscale x 2 x i16> undef, undef 789 %NXV4I16 = udiv <vscale x 4 x i16> undef, undef 790 %NXV8I16 = udiv <vscale x 8 x i16> undef, undef 791 %NXV16I16 = udiv <vscale x 16 x i16> undef, undef 792 %NXV32I16 = udiv <vscale x 32 x i16> undef, undef 793 794 %V1I32 = udiv <1 x i32> undef, undef 795 %V2I32 = udiv <2 x i32> undef, undef 796 %V4I32 = udiv <4 x i32> undef, undef 797 %V8I32 = udiv <8 x i32> undef, undef 798 %V16I32 = udiv <16 x i32> undef, undef 799 800 %NXV1I32 = udiv <vscale x 1 x i32> undef, undef 801 %NXV2I32 = udiv <vscale x 2 x i32> undef, undef 802 %NXV4I32 = udiv <vscale x 4 x i32> undef, undef 803 %NXV8I32 = udiv <vscale x 8 x i32> undef, undef 804 %NXV16I32 = udiv <vscale x 16 x i32> undef, undef 805 806 %V1I64 = udiv <1 x i64> undef, undef 807 %V2I64 = udiv <2 x i64> undef, undef 808 %V4I64 = udiv <4 x i64> undef, undef 809 %V8I64 = udiv <8 x i64> undef, undef 810 811 %NXV1I64 = udiv <vscale x 1 x i64> undef, undef 812 %NXV2I64 = udiv <vscale x 2 x i64> undef, undef 813 %NXV4I64 = udiv <vscale x 4 x i64> undef, undef 814 %NXV8I64 = udiv <vscale x 8 x i64> undef, undef 815 816 ret i32 undef 817} 818 819define i32 @urem() { 820; CHECK-LABEL: 'urem' 821; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 undef, undef 822; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef 823; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef 824; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef 825; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef 826; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef 827; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef 828; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = urem <16 x i16> undef, undef 829; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = urem <32 x i16> undef, undef 830; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef 831; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef 832; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef 833; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef 834; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef 835; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef 836; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef 837; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef 838; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef 839; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = urem <8 x i32> undef, undef 840; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = urem <16 x i32> undef, undef 841; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef 842; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef 843; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef 844; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef 845; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef 846; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef 847; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef 848; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = urem <4 x i64> undef, undef 849; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = urem <8 x i64> undef, undef 850; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef 851; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef 852; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef 853; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef 854; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 855; 856; SIFIVE-X280-LABEL: 'urem' 857; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 undef, undef 858; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef 859; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef 860; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef 861; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef 862; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef 863; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef 864; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = urem <16 x i16> undef, undef 865; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = urem <32 x i16> undef, undef 866; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef 867; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef 868; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef 869; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef 870; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef 871; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef 872; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef 873; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef 874; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef 875; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = urem <8 x i32> undef, undef 876; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = urem <16 x i32> undef, undef 877; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef 878; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef 879; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef 880; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef 881; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef 882; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef 883; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef 884; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = urem <4 x i64> undef, undef 885; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = urem <8 x i64> undef, undef 886; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef 887; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef 888; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef 889; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef 890; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 891; 892 %I16 = urem i16 undef, undef 893 %I32 = urem i32 undef, undef 894 %I64 = urem i64 undef, undef 895 896 %V1I16 = urem <1 x i16> undef, undef 897 %V2I16 = urem <2 x i16> undef, undef 898 %V4I16 = urem <4 x i16> undef, undef 899 %V8I16 = urem <8 x i16> undef, undef 900 %V16I16 = urem <16 x i16> undef, undef 901 %V32I16 = urem <32 x i16> undef, undef 902 903 %NXV1I16 = urem <vscale x 1 x i16> undef, undef 904 %NXV2I16 = urem <vscale x 2 x i16> undef, undef 905 %NXV4I16 = urem <vscale x 4 x i16> undef, undef 906 %NXV8I16 = urem <vscale x 8 x i16> undef, undef 907 %NXV16I16 = urem <vscale x 16 x i16> undef, undef 908 %NXV32I16 = urem <vscale x 32 x i16> undef, undef 909 910 %V1I32 = urem <1 x i32> undef, undef 911 %V2I32 = urem <2 x i32> undef, undef 912 %V4I32 = urem <4 x i32> undef, undef 913 %V8I32 = urem <8 x i32> undef, undef 914 %V16I32 = urem <16 x i32> undef, undef 915 916 %NXV1I32 = urem <vscale x 1 x i32> undef, undef 917 %NXV2I32 = urem <vscale x 2 x i32> undef, undef 918 %NXV4I32 = urem <vscale x 4 x i32> undef, undef 919 %NXV8I32 = urem <vscale x 8 x i32> undef, undef 920 %NXV16I32 = urem <vscale x 16 x i32> undef, undef 921 922 %V1I64 = urem <1 x i64> undef, undef 923 %V2I64 = urem <2 x i64> undef, undef 924 %V4I64 = urem <4 x i64> undef, undef 925 %V8I64 = urem <8 x i64> undef, undef 926 927 %NXV1I64 = urem <vscale x 1 x i64> undef, undef 928 %NXV2I64 = urem <vscale x 2 x i64> undef, undef 929 %NXV4I64 = urem <vscale x 4 x i64> undef, undef 930 %NXV8I64 = urem <vscale x 8 x i64> undef, undef 931 932 ret i32 undef 933} 934 935define i32 @sdiv() { 936; CHECK-LABEL: 'sdiv' 937; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sdiv i16 undef, undef 938; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef 939; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef 940; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef 941; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef 942; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef 943; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef 944; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sdiv <16 x i16> undef, undef 945; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sdiv <32 x i16> undef, undef 946; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef 947; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef 948; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef 949; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef 950; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef 951; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef 952; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef 953; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef 954; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef 955; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sdiv <8 x i32> undef, undef 956; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sdiv <16 x i32> undef, undef 957; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef 958; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef 959; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef 960; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef 961; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef 962; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef 963; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef 964; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sdiv <4 x i64> undef, undef 965; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sdiv <8 x i64> undef, undef 966; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef 967; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef 968; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef 969; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef 970; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 971; 972; SIFIVE-X280-LABEL: 'sdiv' 973; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sdiv i16 undef, undef 974; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef 975; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef 976; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef 977; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef 978; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef 979; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef 980; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sdiv <16 x i16> undef, undef 981; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sdiv <32 x i16> undef, undef 982; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef 983; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef 984; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef 985; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef 986; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef 987; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef 988; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef 989; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef 990; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef 991; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sdiv <8 x i32> undef, undef 992; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sdiv <16 x i32> undef, undef 993; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef 994; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef 995; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef 996; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef 997; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef 998; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef 999; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef 1000; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sdiv <4 x i64> undef, undef 1001; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sdiv <8 x i64> undef, undef 1002; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef 1003; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef 1004; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef 1005; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef 1006; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1007; 1008 %I16 = sdiv i16 undef, undef 1009 %I32 = sdiv i32 undef, undef 1010 %I64 = sdiv i64 undef, undef 1011 1012 %V1I16 = sdiv <1 x i16> undef, undef 1013 %V2I16 = sdiv <2 x i16> undef, undef 1014 %V4I16 = sdiv <4 x i16> undef, undef 1015 %V8I16 = sdiv <8 x i16> undef, undef 1016 %V16I16 = sdiv <16 x i16> undef, undef 1017 %V32I16 = sdiv <32 x i16> undef, undef 1018 1019 %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef 1020 %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef 1021 %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef 1022 %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef 1023 %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef 1024 %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef 1025 1026 %V1I32 = sdiv <1 x i32> undef, undef 1027 %V2I32 = sdiv <2 x i32> undef, undef 1028 %V4I32 = sdiv <4 x i32> undef, undef 1029 %V8I32 = sdiv <8 x i32> undef, undef 1030 %V16I32 = sdiv <16 x i32> undef, undef 1031 1032 %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef 1033 %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef 1034 %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef 1035 %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef 1036 %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef 1037 1038 %V1I64 = sdiv <1 x i64> undef, undef 1039 %V2I64 = sdiv <2 x i64> undef, undef 1040 %V4I64 = sdiv <4 x i64> undef, undef 1041 %V8I64 = sdiv <8 x i64> undef, undef 1042 1043 %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef 1044 %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef 1045 %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef 1046 %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef 1047 1048 ret i32 undef 1049} 1050 1051define i32 @srem() { 1052; CHECK-LABEL: 'srem' 1053; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 undef, undef 1054; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef 1055; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef 1056; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef 1057; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef 1058; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef 1059; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef 1060; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = srem <16 x i16> undef, undef 1061; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = srem <32 x i16> undef, undef 1062; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef 1063; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef 1064; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef 1065; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef 1066; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef 1067; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef 1068; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef 1069; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef 1070; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef 1071; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = srem <8 x i32> undef, undef 1072; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = srem <16 x i32> undef, undef 1073; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef 1074; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef 1075; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef 1076; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef 1077; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef 1078; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef 1079; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef 1080; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = srem <4 x i64> undef, undef 1081; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = srem <8 x i64> undef, undef 1082; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef 1083; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef 1084; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef 1085; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef 1086; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1087; 1088; SIFIVE-X280-LABEL: 'srem' 1089; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 undef, undef 1090; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef 1091; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef 1092; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef 1093; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef 1094; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef 1095; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef 1096; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = srem <16 x i16> undef, undef 1097; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = srem <32 x i16> undef, undef 1098; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef 1099; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef 1100; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef 1101; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef 1102; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef 1103; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef 1104; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef 1105; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef 1106; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef 1107; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = srem <8 x i32> undef, undef 1108; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = srem <16 x i32> undef, undef 1109; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef 1110; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef 1111; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef 1112; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef 1113; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef 1114; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef 1115; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef 1116; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = srem <4 x i64> undef, undef 1117; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = srem <8 x i64> undef, undef 1118; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef 1119; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef 1120; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef 1121; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef 1122; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1123; 1124 %I16 = srem i16 undef, undef 1125 %I32 = srem i32 undef, undef 1126 %I64 = srem i64 undef, undef 1127 1128 %V1I16 = srem <1 x i16> undef, undef 1129 %V2I16 = srem <2 x i16> undef, undef 1130 %V4I16 = srem <4 x i16> undef, undef 1131 %V8I16 = srem <8 x i16> undef, undef 1132 %V16I16 = srem <16 x i16> undef, undef 1133 %V32I16 = srem <32 x i16> undef, undef 1134 1135 %NXV1I16 = srem <vscale x 1 x i16> undef, undef 1136 %NXV2I16 = srem <vscale x 2 x i16> undef, undef 1137 %NXV4I16 = srem <vscale x 4 x i16> undef, undef 1138 %NXV8I16 = srem <vscale x 8 x i16> undef, undef 1139 %NXV16I16 = srem <vscale x 16 x i16> undef, undef 1140 %NXV32I16 = srem <vscale x 32 x i16> undef, undef 1141 1142 %V1I32 = srem <1 x i32> undef, undef 1143 %V2I32 = srem <2 x i32> undef, undef 1144 %V4I32 = srem <4 x i32> undef, undef 1145 %V8I32 = srem <8 x i32> undef, undef 1146 %V16I32 = srem <16 x i32> undef, undef 1147 1148 %NXV1I32 = srem <vscale x 1 x i32> undef, undef 1149 %NXV2I32 = srem <vscale x 2 x i32> undef, undef 1150 %NXV4I32 = srem <vscale x 4 x i32> undef, undef 1151 %NXV8I32 = srem <vscale x 8 x i32> undef, undef 1152 %NXV16I32 = srem <vscale x 16 x i32> undef, undef 1153 1154 %V1I64 = srem <1 x i64> undef, undef 1155 %V2I64 = srem <2 x i64> undef, undef 1156 %V4I64 = srem <4 x i64> undef, undef 1157 %V8I64 = srem <8 x i64> undef, undef 1158 1159 %NXV1I64 = srem <vscale x 1 x i64> undef, undef 1160 %NXV2I64 = srem <vscale x 2 x i64> undef, undef 1161 %NXV4I64 = srem <vscale x 4 x i64> undef, undef 1162 %NXV8I64 = srem <vscale x 8 x i64> undef, undef 1163 1164 ret i32 undef 1165} 1166 1167 1168; For constants, have to account for cost of materializing the constant itself 1169; This test exercises a few interesting constant patterns at VLEN=128 1170define void @add_of_constant() { 1171; CHECK-LABEL: 'add_of_constant' 1172; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = add <4 x i32> poison, undef 1173; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef 1174; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef 1175; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef 1176; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef 1177; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef 1178; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef 1179; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %8 = add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef 1180; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %9 = add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef 1181; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %10 = add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef 1182; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %11 = add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef 1183; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %12 = add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef 1184; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %13 = add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef 1185; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %14 = add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef 1186; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %15 = add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef 1187; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 1188; 1189; SIFIVE-X280-LABEL: 'add_of_constant' 1190; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = add <4 x i32> poison, undef 1191; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef 1192; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef 1193; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef 1194; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef 1195; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef 1196; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef 1197; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %8 = add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef 1198; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %9 = add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef 1199; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %10 = add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef 1200; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %11 = add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef 1201; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %12 = add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef 1202; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %13 = add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef 1203; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %14 = add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef 1204; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %15 = add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef 1205; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void 1206; 1207 1208 ; poison and undef 1209 add <4 x i32> poison, undef 1210 add <4 x i32> undef, undef 1211 1212 ; Various splats 1213 add <4 x i32> zeroinitializer, undef 1214 add <2 x i64> zeroinitializer, undef 1215 add <4 x i32> <i32 1, i32 1, i32 1, i32 1>, undef 1216 add <2 x i64> <i64 1, i64 1>, undef 1217 add <4 x i32> <i32 4096, i32 4096, i32 4096, i32 4096>, undef 1218 1219 ; Nearly splats 1220 add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef 1221 add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef 1222 1223 ; Step vector functions 1224 add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef 1225 add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef 1226 add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef 1227 add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef 1228 1229 ; General case 128 bit constants 1230 add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef 1231 add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef 1232 1233 ret void 1234} 1235 1236define i32 @and() { 1237; CHECK-LABEL: 'and' 1238; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = and i1 undef, undef 1239; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef 1240; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef 1241; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef 1242; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef 1243; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef 1244; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef 1245; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef 1246; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef 1247; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef 1248; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef 1249; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef 1250; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef 1251; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef 1252; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = and <16 x i16> undef, undef 1253; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = and <32 x i16> undef, undef 1254; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef 1255; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef 1256; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef 1257; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = and <8 x i32> undef, undef 1258; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = and <16 x i32> undef, undef 1259; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef 1260; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef 1261; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = and <4 x i64> undef, undef 1262; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = and <8 x i64> undef, undef 1263; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef 1264; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef 1265; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef 1266; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef 1267; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef 1268; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef 1269; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef 1270; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef 1271; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = and <vscale x 4 x i16> undef, undef 1272; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = and <vscale x 8 x i16> undef, undef 1273; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = and <vscale x 16 x i16> undef, undef 1274; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = and <vscale x 32 x i16> undef, undef 1275; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef 1276; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = and <vscale x 2 x i32> undef, undef 1277; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = and <vscale x 4 x i32> undef, undef 1278; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = and <vscale x 8 x i32> undef, undef 1279; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = and <vscale x 16 x i32> undef, undef 1280; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = and <vscale x 1 x i64> undef, undef 1281; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = and <vscale x 2 x i64> undef, undef 1282; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = and <vscale x 4 x i64> undef, undef 1283; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = and <vscale x 8 x i64> undef, undef 1284; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1285; 1286; SIFIVE-X280-LABEL: 'and' 1287; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = and i1 undef, undef 1288; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef 1289; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef 1290; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef 1291; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef 1292; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef 1293; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef 1294; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef 1295; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef 1296; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef 1297; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef 1298; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef 1299; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef 1300; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef 1301; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = and <16 x i16> undef, undef 1302; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = and <32 x i16> undef, undef 1303; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef 1304; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef 1305; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef 1306; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = and <8 x i32> undef, undef 1307; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = and <16 x i32> undef, undef 1308; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef 1309; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef 1310; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = and <4 x i64> undef, undef 1311; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = and <8 x i64> undef, undef 1312; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef 1313; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef 1314; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef 1315; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef 1316; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef 1317; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef 1318; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef 1319; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef 1320; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = and <vscale x 4 x i16> undef, undef 1321; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = and <vscale x 8 x i16> undef, undef 1322; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = and <vscale x 16 x i16> undef, undef 1323; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = and <vscale x 32 x i16> undef, undef 1324; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef 1325; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = and <vscale x 2 x i32> undef, undef 1326; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = and <vscale x 4 x i32> undef, undef 1327; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = and <vscale x 8 x i32> undef, undef 1328; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = and <vscale x 16 x i32> undef, undef 1329; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = and <vscale x 1 x i64> undef, undef 1330; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = and <vscale x 2 x i64> undef, undef 1331; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = and <vscale x 4 x i64> undef, undef 1332; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = and <vscale x 8 x i64> undef, undef 1333; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1334; 1335 and i1 undef, undef 1336 and i16 undef, undef 1337 and i32 undef, undef 1338 and i64 undef, undef 1339 1340 and <1 x i1> undef, undef 1341 and <2 x i1> undef, undef 1342 and <4 x i1> undef, undef 1343 and <8 x i1> undef, undef 1344 and <16 x i1> undef, undef 1345 and <32 x i1> undef, undef 1346 1347 and <1 x i16> undef, undef 1348 and <2 x i16> undef, undef 1349 and <4 x i16> undef, undef 1350 and <8 x i16> undef, undef 1351 and <16 x i16> undef, undef 1352 and <32 x i16> undef, undef 1353 1354 and <1 x i32> undef, undef 1355 and <2 x i32> undef, undef 1356 and <4 x i32> undef, undef 1357 and <8 x i32> undef, undef 1358 and <16 x i32> undef, undef 1359 1360 and <1 x i64> undef, undef 1361 and <2 x i64> undef, undef 1362 and <4 x i64> undef, undef 1363 and <8 x i64> undef, undef 1364 1365 and <vscale x 1 x i1> undef, undef 1366 and <vscale x 2 x i1> undef, undef 1367 and <vscale x 4 x i1> undef, undef 1368 and <vscale x 8 x i1> undef, undef 1369 and <vscale x 16 x i1> undef, undef 1370 and <vscale x 32 x i1> undef, undef 1371 1372 and <vscale x 1 x i16> undef, undef 1373 and <vscale x 2 x i16> undef, undef 1374 and <vscale x 4 x i16> undef, undef 1375 and <vscale x 8 x i16> undef, undef 1376 and <vscale x 16 x i16> undef, undef 1377 and <vscale x 32 x i16> undef, undef 1378 1379 and <vscale x 1 x i32> undef, undef 1380 and <vscale x 2 x i32> undef, undef 1381 and <vscale x 4 x i32> undef, undef 1382 and <vscale x 8 x i32> undef, undef 1383 and <vscale x 16 x i32> undef, undef 1384 1385 and <vscale x 1 x i64> undef, undef 1386 and <vscale x 2 x i64> undef, undef 1387 and <vscale x 4 x i64> undef, undef 1388 and <vscale x 8 x i64> undef, undef 1389 ret i32 undef 1390} 1391 1392define i32 @or() { 1393; CHECK-LABEL: 'or' 1394; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = or i1 undef, undef 1395; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef 1396; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef 1397; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef 1398; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef 1399; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef 1400; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef 1401; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef 1402; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef 1403; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef 1404; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef 1405; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef 1406; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef 1407; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef 1408; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = or <16 x i16> undef, undef 1409; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = or <32 x i16> undef, undef 1410; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef 1411; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef 1412; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef 1413; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = or <8 x i32> undef, undef 1414; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = or <16 x i32> undef, undef 1415; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef 1416; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef 1417; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = or <4 x i64> undef, undef 1418; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = or <8 x i64> undef, undef 1419; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef 1420; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef 1421; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef 1422; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef 1423; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef 1424; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef 1425; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef 1426; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef 1427; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = or <vscale x 4 x i16> undef, undef 1428; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = or <vscale x 8 x i16> undef, undef 1429; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = or <vscale x 16 x i16> undef, undef 1430; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = or <vscale x 32 x i16> undef, undef 1431; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef 1432; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = or <vscale x 2 x i32> undef, undef 1433; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = or <vscale x 4 x i32> undef, undef 1434; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = or <vscale x 8 x i32> undef, undef 1435; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = or <vscale x 16 x i32> undef, undef 1436; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = or <vscale x 1 x i64> undef, undef 1437; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = or <vscale x 2 x i64> undef, undef 1438; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = or <vscale x 4 x i64> undef, undef 1439; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = or <vscale x 8 x i64> undef, undef 1440; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1441; 1442; SIFIVE-X280-LABEL: 'or' 1443; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = or i1 undef, undef 1444; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef 1445; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef 1446; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef 1447; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef 1448; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef 1449; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef 1450; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef 1451; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef 1452; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef 1453; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef 1454; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef 1455; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef 1456; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef 1457; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = or <16 x i16> undef, undef 1458; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = or <32 x i16> undef, undef 1459; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef 1460; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef 1461; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef 1462; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = or <8 x i32> undef, undef 1463; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = or <16 x i32> undef, undef 1464; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef 1465; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef 1466; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = or <4 x i64> undef, undef 1467; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = or <8 x i64> undef, undef 1468; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef 1469; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef 1470; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef 1471; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef 1472; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef 1473; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef 1474; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef 1475; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef 1476; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = or <vscale x 4 x i16> undef, undef 1477; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = or <vscale x 8 x i16> undef, undef 1478; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = or <vscale x 16 x i16> undef, undef 1479; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = or <vscale x 32 x i16> undef, undef 1480; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef 1481; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = or <vscale x 2 x i32> undef, undef 1482; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = or <vscale x 4 x i32> undef, undef 1483; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = or <vscale x 8 x i32> undef, undef 1484; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = or <vscale x 16 x i32> undef, undef 1485; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = or <vscale x 1 x i64> undef, undef 1486; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = or <vscale x 2 x i64> undef, undef 1487; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = or <vscale x 4 x i64> undef, undef 1488; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = or <vscale x 8 x i64> undef, undef 1489; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1490; 1491 or i1 undef, undef 1492 or i16 undef, undef 1493 or i32 undef, undef 1494 or i64 undef, undef 1495 1496 or <1 x i1> undef, undef 1497 or <2 x i1> undef, undef 1498 or <4 x i1> undef, undef 1499 or <8 x i1> undef, undef 1500 or <16 x i1> undef, undef 1501 or <32 x i1> undef, undef 1502 1503 or <1 x i16> undef, undef 1504 or <2 x i16> undef, undef 1505 or <4 x i16> undef, undef 1506 or <8 x i16> undef, undef 1507 or <16 x i16> undef, undef 1508 or <32 x i16> undef, undef 1509 1510 or <1 x i32> undef, undef 1511 or <2 x i32> undef, undef 1512 or <4 x i32> undef, undef 1513 or <8 x i32> undef, undef 1514 or <16 x i32> undef, undef 1515 1516 or <1 x i64> undef, undef 1517 or <2 x i64> undef, undef 1518 or <4 x i64> undef, undef 1519 or <8 x i64> undef, undef 1520 1521 or <vscale x 1 x i1> undef, undef 1522 or <vscale x 2 x i1> undef, undef 1523 or <vscale x 4 x i1> undef, undef 1524 or <vscale x 8 x i1> undef, undef 1525 or <vscale x 16 x i1> undef, undef 1526 or <vscale x 32 x i1> undef, undef 1527 1528 or <vscale x 1 x i16> undef, undef 1529 or <vscale x 2 x i16> undef, undef 1530 or <vscale x 4 x i16> undef, undef 1531 or <vscale x 8 x i16> undef, undef 1532 or <vscale x 16 x i16> undef, undef 1533 or <vscale x 32 x i16> undef, undef 1534 1535 or <vscale x 1 x i32> undef, undef 1536 or <vscale x 2 x i32> undef, undef 1537 or <vscale x 4 x i32> undef, undef 1538 or <vscale x 8 x i32> undef, undef 1539 or <vscale x 16 x i32> undef, undef 1540 1541 or <vscale x 1 x i64> undef, undef 1542 or <vscale x 2 x i64> undef, undef 1543 or <vscale x 4 x i64> undef, undef 1544 or <vscale x 8 x i64> undef, undef 1545 ret i32 undef 1546} 1547 1548define i32 @xor() { 1549; CHECK-LABEL: 'xor' 1550; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = xor i1 undef, undef 1551; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef 1552; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef 1553; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef 1554; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef 1555; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef 1556; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef 1557; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef 1558; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef 1559; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef 1560; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef 1561; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef 1562; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef 1563; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef 1564; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = xor <16 x i16> undef, undef 1565; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = xor <32 x i16> undef, undef 1566; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef 1567; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef 1568; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef 1569; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = xor <8 x i32> undef, undef 1570; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = xor <16 x i32> undef, undef 1571; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef 1572; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef 1573; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = xor <4 x i64> undef, undef 1574; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = xor <8 x i64> undef, undef 1575; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef 1576; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef 1577; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef 1578; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef 1579; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef 1580; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef 1581; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef 1582; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef 1583; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = xor <vscale x 4 x i16> undef, undef 1584; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = xor <vscale x 8 x i16> undef, undef 1585; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = xor <vscale x 16 x i16> undef, undef 1586; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = xor <vscale x 32 x i16> undef, undef 1587; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef 1588; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = xor <vscale x 2 x i32> undef, undef 1589; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = xor <vscale x 4 x i32> undef, undef 1590; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = xor <vscale x 8 x i32> undef, undef 1591; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = xor <vscale x 16 x i32> undef, undef 1592; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = xor <vscale x 1 x i64> undef, undef 1593; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = xor <vscale x 2 x i64> undef, undef 1594; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = xor <vscale x 4 x i64> undef, undef 1595; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = xor <vscale x 8 x i64> undef, undef 1596; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1597; 1598; SIFIVE-X280-LABEL: 'xor' 1599; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = xor i1 undef, undef 1600; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef 1601; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef 1602; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef 1603; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef 1604; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef 1605; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef 1606; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef 1607; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef 1608; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef 1609; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef 1610; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef 1611; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef 1612; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef 1613; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = xor <16 x i16> undef, undef 1614; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = xor <32 x i16> undef, undef 1615; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef 1616; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef 1617; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef 1618; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = xor <8 x i32> undef, undef 1619; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = xor <16 x i32> undef, undef 1620; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef 1621; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef 1622; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = xor <4 x i64> undef, undef 1623; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = xor <8 x i64> undef, undef 1624; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef 1625; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef 1626; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef 1627; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef 1628; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef 1629; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef 1630; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef 1631; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef 1632; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = xor <vscale x 4 x i16> undef, undef 1633; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = xor <vscale x 8 x i16> undef, undef 1634; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = xor <vscale x 16 x i16> undef, undef 1635; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = xor <vscale x 32 x i16> undef, undef 1636; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef 1637; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = xor <vscale x 2 x i32> undef, undef 1638; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = xor <vscale x 4 x i32> undef, undef 1639; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = xor <vscale x 8 x i32> undef, undef 1640; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = xor <vscale x 16 x i32> undef, undef 1641; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = xor <vscale x 1 x i64> undef, undef 1642; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = xor <vscale x 2 x i64> undef, undef 1643; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = xor <vscale x 4 x i64> undef, undef 1644; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = xor <vscale x 8 x i64> undef, undef 1645; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 1646; 1647 xor i1 undef, undef 1648 xor i16 undef, undef 1649 xor i32 undef, undef 1650 xor i64 undef, undef 1651 1652 xor <1 x i1> undef, undef 1653 xor <2 x i1> undef, undef 1654 xor <4 x i1> undef, undef 1655 xor <8 x i1> undef, undef 1656 xor <16 x i1> undef, undef 1657 xor <32 x i1> undef, undef 1658 1659 xor <1 x i16> undef, undef 1660 xor <2 x i16> undef, undef 1661 xor <4 x i16> undef, undef 1662 xor <8 x i16> undef, undef 1663 xor <16 x i16> undef, undef 1664 xor <32 x i16> undef, undef 1665 1666 xor <1 x i32> undef, undef 1667 xor <2 x i32> undef, undef 1668 xor <4 x i32> undef, undef 1669 xor <8 x i32> undef, undef 1670 xor <16 x i32> undef, undef 1671 1672 xor <1 x i64> undef, undef 1673 xor <2 x i64> undef, undef 1674 xor <4 x i64> undef, undef 1675 xor <8 x i64> undef, undef 1676 1677 xor <vscale x 1 x i1> undef, undef 1678 xor <vscale x 2 x i1> undef, undef 1679 xor <vscale x 4 x i1> undef, undef 1680 xor <vscale x 8 x i1> undef, undef 1681 xor <vscale x 16 x i1> undef, undef 1682 xor <vscale x 32 x i1> undef, undef 1683 1684 xor <vscale x 1 x i16> undef, undef 1685 xor <vscale x 2 x i16> undef, undef 1686 xor <vscale x 4 x i16> undef, undef 1687 xor <vscale x 8 x i16> undef, undef 1688 xor <vscale x 16 x i16> undef, undef 1689 xor <vscale x 32 x i16> undef, undef 1690 1691 xor <vscale x 1 x i32> undef, undef 1692 xor <vscale x 2 x i32> undef, undef 1693 xor <vscale x 4 x i32> undef, undef 1694 xor <vscale x 8 x i32> undef, undef 1695 xor <vscale x 16 x i32> undef, undef 1696 1697 xor <vscale x 1 x i64> undef, undef 1698 xor <vscale x 2 x i64> undef, undef 1699 xor <vscale x 4 x i64> undef, undef 1700 xor <vscale x 8 x i64> undef, undef 1701 ret i32 undef 1702} 1703