1703 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh < %s | FileCheck %s3; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mcpu=sifive-x280 < %s | FileCheck %s --check-prefix=SIFIVE-X2804; 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=riscv646 7define i32 @add() {8; CHECK-LABEL: 'add'9; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef10; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef11; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef12; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef13; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef14; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef15; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef16; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = add <16 x i16> undef, undef17; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = add <32 x i16> undef, undef18; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef19; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef20; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef21; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef22; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef23; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef24; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef25; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef26; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef27; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = add <8 x i32> undef, undef28; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = add <16 x i32> undef, undef29; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef30; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef31; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef32; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef33; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef34; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef35; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef36; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = add <4 x i64> undef, undef37; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = add <8 x i64> undef, undef38; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef39; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef40; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef41; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef42; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef43;44; SIFIVE-X280-LABEL: 'add'45; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = add i16 undef, undef46; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = add i32 undef, undef47; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = add i64 undef, undef48; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = add <1 x i16> undef, undef49; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = add <2 x i16> undef, undef50; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = add <4 x i16> undef, undef51; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = add <8 x i16> undef, undef52; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = add <16 x i16> undef, undef53; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = add <32 x i16> undef, undef54; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = add <vscale x 1 x i16> undef, undef55; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = add <vscale x 2 x i16> undef, undef56; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = add <vscale x 4 x i16> undef, undef57; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = add <vscale x 8 x i16> undef, undef58; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = add <vscale x 16 x i16> undef, undef59; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = add <vscale x 32 x i16> undef, undef60; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = add <1 x i32> undef, undef61; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = add <2 x i32> undef, undef62; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = add <4 x i32> undef, undef63; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = add <8 x i32> undef, undef64; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = add <16 x i32> undef, undef65; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = add <vscale x 1 x i32> undef, undef66; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = add <vscale x 2 x i32> undef, undef67; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = add <vscale x 4 x i32> undef, undef68; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = add <vscale x 8 x i32> undef, undef69; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = add <vscale x 16 x i32> undef, undef70; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = add <1 x i64> undef, undef71; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = add <2 x i64> undef, undef72; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = add <4 x i64> undef, undef73; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = add <8 x i64> undef, undef74; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = add <vscale x 1 x i64> undef, undef75; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = add <vscale x 2 x i64> undef, undef76; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = add <vscale x 4 x i64> undef, undef77; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = add <vscale x 8 x i64> undef, undef78; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef79;80 %I16 = add i16 undef, undef81 %I32 = add i32 undef, undef82 %I64 = add i64 undef, undef83 84 %V1I16 = add <1 x i16> undef, undef85 %V2I16 = add <2 x i16> undef, undef86 %V4I16 = add <4 x i16> undef, undef87 %V8I16 = add <8 x i16> undef, undef88 %V16I16 = add <16 x i16> undef, undef89 %V32I16 = add <32 x i16> undef, undef90 91 %NXV1I16 = add <vscale x 1 x i16> undef, undef92 %NXV2I16 = add <vscale x 2 x i16> undef, undef93 %NXV4I16 = add <vscale x 4 x i16> undef, undef94 %NXV8I16 = add <vscale x 8 x i16> undef, undef95 %NXV16I16 = add <vscale x 16 x i16> undef, undef96 %NXV32I16 = add <vscale x 32 x i16> undef, undef97 98 %V1I32 = add <1 x i32> undef, undef99 %V2I32 = add <2 x i32> undef, undef100 %V4I32 = add <4 x i32> undef, undef101 %V8I32 = add <8 x i32> undef, undef102 %V16I32 = add <16 x i32> undef, undef103 104 %NXV1I32 = add <vscale x 1 x i32> undef, undef105 %NXV2I32 = add <vscale x 2 x i32> undef, undef106 %NXV4I32 = add <vscale x 4 x i32> undef, undef107 %NXV8I32 = add <vscale x 8 x i32> undef, undef108 %NXV16I32 = add <vscale x 16 x i32> undef, undef109 110 %V1I64 = add <1 x i64> undef, undef111 %V2I64 = add <2 x i64> undef, undef112 %V4I64 = add <4 x i64> undef, undef113 %V8I64 = add <8 x i64> undef, undef114 115 %NXV1I64 = add <vscale x 1 x i64> undef, undef116 %NXV2I64 = add <vscale x 2 x i64> undef, undef117 %NXV4I64 = add <vscale x 4 x i64> undef, undef118 %NXV8I64 = add <vscale x 8 x i64> undef, undef119 120 ret i32 undef121}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, undef126; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef127; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef128; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef129; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef130; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef131; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef132; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sub <16 x i16> undef, undef133; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sub <32 x i16> undef, undef134; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef135; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef136; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef137; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef138; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef139; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef140; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef141; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef142; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef143; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sub <8 x i32> undef, undef144; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sub <16 x i32> undef, undef145; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef146; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef147; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef148; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef149; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef150; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef151; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef152; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sub <4 x i64> undef, undef153; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sub <8 x i64> undef, undef154; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef155; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef156; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef157; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef158; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef159;160; SIFIVE-X280-LABEL: 'sub'161; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sub i16 undef, undef162; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sub i32 undef, undef163; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sub i64 undef, undef164; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sub <1 x i16> undef, undef165; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sub <2 x i16> undef, undef166; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sub <4 x i16> undef, undef167; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sub <8 x i16> undef, undef168; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sub <16 x i16> undef, undef169; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sub <32 x i16> undef, undef170; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sub <vscale x 1 x i16> undef, undef171; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sub <vscale x 2 x i16> undef, undef172; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sub <vscale x 4 x i16> undef, undef173; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sub <vscale x 8 x i16> undef, undef174; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sub <vscale x 16 x i16> undef, undef175; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sub <vscale x 32 x i16> undef, undef176; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sub <1 x i32> undef, undef177; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sub <2 x i32> undef, undef178; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sub <4 x i32> undef, undef179; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sub <8 x i32> undef, undef180; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sub <16 x i32> undef, undef181; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sub <vscale x 1 x i32> undef, undef182; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sub <vscale x 2 x i32> undef, undef183; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sub <vscale x 4 x i32> undef, undef184; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sub <vscale x 8 x i32> undef, undef185; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sub <vscale x 16 x i32> undef, undef186; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sub <1 x i64> undef, undef187; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sub <2 x i64> undef, undef188; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sub <4 x i64> undef, undef189; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sub <8 x i64> undef, undef190; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sub <vscale x 1 x i64> undef, undef191; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sub <vscale x 2 x i64> undef, undef192; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sub <vscale x 4 x i64> undef, undef193; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sub <vscale x 8 x i64> undef, undef194; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef195;196 %I16 = sub i16 undef, undef197 %I32 = sub i32 undef, undef198 %I64 = sub i64 undef, undef199 200 %V1I16 = sub <1 x i16> undef, undef201 %V2I16 = sub <2 x i16> undef, undef202 %V4I16 = sub <4 x i16> undef, undef203 %V8I16 = sub <8 x i16> undef, undef204 %V16I16 = sub <16 x i16> undef, undef205 %V32I16 = sub <32 x i16> undef, undef206 207 %NXV1I16 = sub <vscale x 1 x i16> undef, undef208 %NXV2I16 = sub <vscale x 2 x i16> undef, undef209 %NXV4I16 = sub <vscale x 4 x i16> undef, undef210 %NXV8I16 = sub <vscale x 8 x i16> undef, undef211 %NXV16I16 = sub <vscale x 16 x i16> undef, undef212 %NXV32I16 = sub <vscale x 32 x i16> undef, undef213 214 %V1I32 = sub <1 x i32> undef, undef215 %V2I32 = sub <2 x i32> undef, undef216 %V4I32 = sub <4 x i32> undef, undef217 %V8I32 = sub <8 x i32> undef, undef218 %V16I32 = sub <16 x i32> undef, undef219 220 %NXV1I32 = sub <vscale x 1 x i32> undef, undef221 %NXV2I32 = sub <vscale x 2 x i32> undef, undef222 %NXV4I32 = sub <vscale x 4 x i32> undef, undef223 %NXV8I32 = sub <vscale x 8 x i32> undef, undef224 %NXV16I32 = sub <vscale x 16 x i32> undef, undef225 226 %V1I64 = sub <1 x i64> undef, undef227 %V2I64 = sub <2 x i64> undef, undef228 %V4I64 = sub <4 x i64> undef, undef229 %V8I64 = sub <8 x i64> undef, undef230 231 %NXV1I64 = sub <vscale x 1 x i64> undef, undef232 %NXV2I64 = sub <vscale x 2 x i64> undef, undef233 %NXV4I64 = sub <vscale x 4 x i64> undef, undef234 %NXV8I64 = sub <vscale x 8 x i64> undef, undef235 236 ret i32 undef237}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, undef242; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef243; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef244; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef245; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef246; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef247; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef248; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = mul <16 x i16> undef, undef249; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = mul <32 x i16> undef, undef250; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef251; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef252; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef253; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef254; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef255; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef256; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef257; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef258; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef259; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = mul <8 x i32> undef, undef260; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = mul <16 x i32> undef, undef261; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef262; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef263; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef264; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef265; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef266; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef267; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef268; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = mul <4 x i64> undef, undef269; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = mul <8 x i64> undef, undef270; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef271; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef272; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef273; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef274; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef275;276; SIFIVE-X280-LABEL: 'mul'277; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = mul i16 undef, undef278; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = mul i32 undef, undef279; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = mul i64 undef, undef280; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = mul <1 x i16> undef, undef281; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = mul <2 x i16> undef, undef282; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = mul <4 x i16> undef, undef283; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = mul <8 x i16> undef, undef284; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = mul <16 x i16> undef, undef285; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = mul <32 x i16> undef, undef286; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = mul <vscale x 1 x i16> undef, undef287; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = mul <vscale x 2 x i16> undef, undef288; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = mul <vscale x 4 x i16> undef, undef289; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = mul <vscale x 8 x i16> undef, undef290; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = mul <vscale x 16 x i16> undef, undef291; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = mul <vscale x 32 x i16> undef, undef292; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = mul <1 x i32> undef, undef293; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = mul <2 x i32> undef, undef294; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = mul <4 x i32> undef, undef295; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = mul <8 x i32> undef, undef296; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = mul <16 x i32> undef, undef297; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = mul <vscale x 1 x i32> undef, undef298; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = mul <vscale x 2 x i32> undef, undef299; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = mul <vscale x 4 x i32> undef, undef300; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = mul <vscale x 8 x i32> undef, undef301; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = mul <vscale x 16 x i32> undef, undef302; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = mul <1 x i64> undef, undef303; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = mul <2 x i64> undef, undef304; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = mul <4 x i64> undef, undef305; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = mul <8 x i64> undef, undef306; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = mul <vscale x 1 x i64> undef, undef307; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = mul <vscale x 2 x i64> undef, undef308; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = mul <vscale x 4 x i64> undef, undef309; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = mul <vscale x 8 x i64> undef, undef310; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef311;312 %I16 = mul i16 undef, undef313 %I32 = mul i32 undef, undef314 %I64 = mul i64 undef, undef315 316 %V1I16 = mul <1 x i16> undef, undef317 %V2I16 = mul <2 x i16> undef, undef318 %V4I16 = mul <4 x i16> undef, undef319 %V8I16 = mul <8 x i16> undef, undef320 %V16I16 = mul <16 x i16> undef, undef321 %V32I16 = mul <32 x i16> undef, undef322 323 %NXV1I16 = mul <vscale x 1 x i16> undef, undef324 %NXV2I16 = mul <vscale x 2 x i16> undef, undef325 %NXV4I16 = mul <vscale x 4 x i16> undef, undef326 %NXV8I16 = mul <vscale x 8 x i16> undef, undef327 %NXV16I16 = mul <vscale x 16 x i16> undef, undef328 %NXV32I16 = mul <vscale x 32 x i16> undef, undef329 330 %V1I32 = mul <1 x i32> undef, undef331 %V2I32 = mul <2 x i32> undef, undef332 %V4I32 = mul <4 x i32> undef, undef333 %V8I32 = mul <8 x i32> undef, undef334 %V16I32 = mul <16 x i32> undef, undef335 336 %NXV1I32 = mul <vscale x 1 x i32> undef, undef337 %NXV2I32 = mul <vscale x 2 x i32> undef, undef338 %NXV4I32 = mul <vscale x 4 x i32> undef, undef339 %NXV8I32 = mul <vscale x 8 x i32> undef, undef340 %NXV16I32 = mul <vscale x 16 x i32> undef, undef341 342 %V1I64 = mul <1 x i64> undef, undef343 %V2I64 = mul <2 x i64> undef, undef344 %V4I64 = mul <4 x i64> undef, undef345 %V8I64 = mul <8 x i64> undef, undef346 347 %NXV1I64 = mul <vscale x 1 x i64> undef, undef348 %NXV2I64 = mul <vscale x 2 x i64> undef, undef349 %NXV4I64 = mul <vscale x 4 x i64> undef, undef350 %NXV8I64 = mul <vscale x 8 x i64> undef, undef351 352 ret i32 undef353}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, undef358; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef359; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef360; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef361; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef362; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef363; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef364; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = shl <16 x i16> undef, undef365; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = shl <32 x i16> undef, undef366; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef367; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef368; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef369; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef370; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef371; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef372; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef373; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef374; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef375; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = shl <8 x i32> undef, undef376; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = shl <16 x i32> undef, undef377; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef378; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef379; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef380; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef381; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef382; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef383; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef384; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = shl <4 x i64> undef, undef385; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = shl <8 x i64> undef, undef386; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef387; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef388; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef389; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef390; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef391;392; SIFIVE-X280-LABEL: 'shl'393; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = shl i16 undef, undef394; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = shl i32 undef, undef395; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = shl i64 undef, undef396; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = shl <1 x i16> undef, undef397; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = shl <2 x i16> undef, undef398; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = shl <4 x i16> undef, undef399; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = shl <8 x i16> undef, undef400; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = shl <16 x i16> undef, undef401; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = shl <32 x i16> undef, undef402; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = shl <vscale x 1 x i16> undef, undef403; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = shl <vscale x 2 x i16> undef, undef404; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = shl <vscale x 4 x i16> undef, undef405; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = shl <vscale x 8 x i16> undef, undef406; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = shl <vscale x 16 x i16> undef, undef407; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = shl <vscale x 32 x i16> undef, undef408; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = shl <1 x i32> undef, undef409; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = shl <2 x i32> undef, undef410; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = shl <4 x i32> undef, undef411; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = shl <8 x i32> undef, undef412; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = shl <16 x i32> undef, undef413; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = shl <vscale x 1 x i32> undef, undef414; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = shl <vscale x 2 x i32> undef, undef415; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = shl <vscale x 4 x i32> undef, undef416; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = shl <vscale x 8 x i32> undef, undef417; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = shl <vscale x 16 x i32> undef, undef418; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = shl <1 x i64> undef, undef419; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = shl <2 x i64> undef, undef420; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = shl <4 x i64> undef, undef421; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = shl <8 x i64> undef, undef422; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = shl <vscale x 1 x i64> undef, undef423; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = shl <vscale x 2 x i64> undef, undef424; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = shl <vscale x 4 x i64> undef, undef425; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = shl <vscale x 8 x i64> undef, undef426; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef427;428 %I16 = shl i16 undef, undef429 %I32 = shl i32 undef, undef430 %I64 = shl i64 undef, undef431 432 %V1I16 = shl <1 x i16> undef, undef433 %V2I16 = shl <2 x i16> undef, undef434 %V4I16 = shl <4 x i16> undef, undef435 %V8I16 = shl <8 x i16> undef, undef436 %V16I16 = shl <16 x i16> undef, undef437 %V32I16 = shl <32 x i16> undef, undef438 439 %NXV1I16 = shl <vscale x 1 x i16> undef, undef440 %NXV2I16 = shl <vscale x 2 x i16> undef, undef441 %NXV4I16 = shl <vscale x 4 x i16> undef, undef442 %NXV8I16 = shl <vscale x 8 x i16> undef, undef443 %NXV16I16 = shl <vscale x 16 x i16> undef, undef444 %NXV32I16 = shl <vscale x 32 x i16> undef, undef445 446 %V1I32 = shl <1 x i32> undef, undef447 %V2I32 = shl <2 x i32> undef, undef448 %V4I32 = shl <4 x i32> undef, undef449 %V8I32 = shl <8 x i32> undef, undef450 %V16I32 = shl <16 x i32> undef, undef451 452 %NXV1I32 = shl <vscale x 1 x i32> undef, undef453 %NXV2I32 = shl <vscale x 2 x i32> undef, undef454 %NXV4I32 = shl <vscale x 4 x i32> undef, undef455 %NXV8I32 = shl <vscale x 8 x i32> undef, undef456 %NXV16I32 = shl <vscale x 16 x i32> undef, undef457 458 %V1I64 = shl <1 x i64> undef, undef459 %V2I64 = shl <2 x i64> undef, undef460 %V4I64 = shl <4 x i64> undef, undef461 %V8I64 = shl <8 x i64> undef, undef462 463 %NXV1I64 = shl <vscale x 1 x i64> undef, undef464 %NXV2I64 = shl <vscale x 2 x i64> undef, undef465 %NXV4I64 = shl <vscale x 4 x i64> undef, undef466 %NXV8I64 = shl <vscale x 8 x i64> undef, undef467 468 ret i32 undef469}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, undef474; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef475; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef476; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef477; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef478; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef479; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef480; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = lshr <16 x i16> undef, undef481; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = lshr <32 x i16> undef, undef482; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef483; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef484; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef485; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef486; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef487; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef488; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef489; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef490; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef491; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = lshr <8 x i32> undef, undef492; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = lshr <16 x i32> undef, undef493; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef494; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef495; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef496; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef497; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef498; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef499; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef500; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = lshr <4 x i64> undef, undef501; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = lshr <8 x i64> undef, undef502; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef503; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef504; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef505; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef506; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef507;508; SIFIVE-X280-LABEL: 'lshr'509; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = lshr i16 undef, undef510; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = lshr i32 undef, undef511; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = lshr i64 undef, undef512; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = lshr <1 x i16> undef, undef513; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = lshr <2 x i16> undef, undef514; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = lshr <4 x i16> undef, undef515; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = lshr <8 x i16> undef, undef516; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = lshr <16 x i16> undef, undef517; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = lshr <32 x i16> undef, undef518; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = lshr <vscale x 1 x i16> undef, undef519; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = lshr <vscale x 2 x i16> undef, undef520; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = lshr <vscale x 4 x i16> undef, undef521; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = lshr <vscale x 8 x i16> undef, undef522; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = lshr <vscale x 16 x i16> undef, undef523; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = lshr <vscale x 32 x i16> undef, undef524; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = lshr <1 x i32> undef, undef525; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = lshr <2 x i32> undef, undef526; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = lshr <4 x i32> undef, undef527; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = lshr <8 x i32> undef, undef528; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = lshr <16 x i32> undef, undef529; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = lshr <vscale x 1 x i32> undef, undef530; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = lshr <vscale x 2 x i32> undef, undef531; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = lshr <vscale x 4 x i32> undef, undef532; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = lshr <vscale x 8 x i32> undef, undef533; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = lshr <vscale x 16 x i32> undef, undef534; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = lshr <1 x i64> undef, undef535; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = lshr <2 x i64> undef, undef536; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = lshr <4 x i64> undef, undef537; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = lshr <8 x i64> undef, undef538; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = lshr <vscale x 1 x i64> undef, undef539; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = lshr <vscale x 2 x i64> undef, undef540; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = lshr <vscale x 4 x i64> undef, undef541; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = lshr <vscale x 8 x i64> undef, undef542; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef543;544 %I16 = lshr i16 undef, undef545 %I32 = lshr i32 undef, undef546 %I64 = lshr i64 undef, undef547 548 %V1I16 = lshr <1 x i16> undef, undef549 %V2I16 = lshr <2 x i16> undef, undef550 %V4I16 = lshr <4 x i16> undef, undef551 %V8I16 = lshr <8 x i16> undef, undef552 %V16I16 = lshr <16 x i16> undef, undef553 %V32I16 = lshr <32 x i16> undef, undef554 555 %NXV1I16 = lshr <vscale x 1 x i16> undef, undef556 %NXV2I16 = lshr <vscale x 2 x i16> undef, undef557 %NXV4I16 = lshr <vscale x 4 x i16> undef, undef558 %NXV8I16 = lshr <vscale x 8 x i16> undef, undef559 %NXV16I16 = lshr <vscale x 16 x i16> undef, undef560 %NXV32I16 = lshr <vscale x 32 x i16> undef, undef561 562 %V1I32 = lshr <1 x i32> undef, undef563 %V2I32 = lshr <2 x i32> undef, undef564 %V4I32 = lshr <4 x i32> undef, undef565 %V8I32 = lshr <8 x i32> undef, undef566 %V16I32 = lshr <16 x i32> undef, undef567 568 %NXV1I32 = lshr <vscale x 1 x i32> undef, undef569 %NXV2I32 = lshr <vscale x 2 x i32> undef, undef570 %NXV4I32 = lshr <vscale x 4 x i32> undef, undef571 %NXV8I32 = lshr <vscale x 8 x i32> undef, undef572 %NXV16I32 = lshr <vscale x 16 x i32> undef, undef573 574 %V1I64 = lshr <1 x i64> undef, undef575 %V2I64 = lshr <2 x i64> undef, undef576 %V4I64 = lshr <4 x i64> undef, undef577 %V8I64 = lshr <8 x i64> undef, undef578 579 %NXV1I64 = lshr <vscale x 1 x i64> undef, undef580 %NXV2I64 = lshr <vscale x 2 x i64> undef, undef581 %NXV4I64 = lshr <vscale x 4 x i64> undef, undef582 %NXV8I64 = lshr <vscale x 8 x i64> undef, undef583 584 ret i32 undef585}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, undef590; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef591; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef592; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef593; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef594; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef595; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef596; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = ashr <16 x i16> undef, undef597; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = ashr <32 x i16> undef, undef598; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef599; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef600; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef601; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef602; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef603; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef604; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef605; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef606; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef607; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = ashr <8 x i32> undef, undef608; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = ashr <16 x i32> undef, undef609; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef610; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef611; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef612; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef613; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef614; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef615; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef616; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = ashr <4 x i64> undef, undef617; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = ashr <8 x i64> undef, undef618; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef619; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef620; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef621; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef622; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef623;624; SIFIVE-X280-LABEL: 'ashr'625; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = ashr i16 undef, undef626; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = ashr i32 undef, undef627; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = ashr i64 undef, undef628; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = ashr <1 x i16> undef, undef629; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = ashr <2 x i16> undef, undef630; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = ashr <4 x i16> undef, undef631; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = ashr <8 x i16> undef, undef632; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = ashr <16 x i16> undef, undef633; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = ashr <32 x i16> undef, undef634; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = ashr <vscale x 1 x i16> undef, undef635; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = ashr <vscale x 2 x i16> undef, undef636; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = ashr <vscale x 4 x i16> undef, undef637; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = ashr <vscale x 8 x i16> undef, undef638; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = ashr <vscale x 16 x i16> undef, undef639; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = ashr <vscale x 32 x i16> undef, undef640; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = ashr <1 x i32> undef, undef641; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = ashr <2 x i32> undef, undef642; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = ashr <4 x i32> undef, undef643; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = ashr <8 x i32> undef, undef644; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = ashr <16 x i32> undef, undef645; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = ashr <vscale x 1 x i32> undef, undef646; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = ashr <vscale x 2 x i32> undef, undef647; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = ashr <vscale x 4 x i32> undef, undef648; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = ashr <vscale x 8 x i32> undef, undef649; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = ashr <vscale x 16 x i32> undef, undef650; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = ashr <1 x i64> undef, undef651; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = ashr <2 x i64> undef, undef652; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = ashr <4 x i64> undef, undef653; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = ashr <8 x i64> undef, undef654; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = ashr <vscale x 1 x i64> undef, undef655; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = ashr <vscale x 2 x i64> undef, undef656; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = ashr <vscale x 4 x i64> undef, undef657; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = ashr <vscale x 8 x i64> undef, undef658; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef659;660 %I16 = ashr i16 undef, undef661 %I32 = ashr i32 undef, undef662 %I64 = ashr i64 undef, undef663 664 %V1I16 = ashr <1 x i16> undef, undef665 %V2I16 = ashr <2 x i16> undef, undef666 %V4I16 = ashr <4 x i16> undef, undef667 %V8I16 = ashr <8 x i16> undef, undef668 %V16I16 = ashr <16 x i16> undef, undef669 %V32I16 = ashr <32 x i16> undef, undef670 671 %NXV1I16 = ashr <vscale x 1 x i16> undef, undef672 %NXV2I16 = ashr <vscale x 2 x i16> undef, undef673 %NXV4I16 = ashr <vscale x 4 x i16> undef, undef674 %NXV8I16 = ashr <vscale x 8 x i16> undef, undef675 %NXV16I16 = ashr <vscale x 16 x i16> undef, undef676 %NXV32I16 = ashr <vscale x 32 x i16> undef, undef677 678 %V1I32 = ashr <1 x i32> undef, undef679 %V2I32 = ashr <2 x i32> undef, undef680 %V4I32 = ashr <4 x i32> undef, undef681 %V8I32 = ashr <8 x i32> undef, undef682 %V16I32 = ashr <16 x i32> undef, undef683 684 %NXV1I32 = ashr <vscale x 1 x i32> undef, undef685 %NXV2I32 = ashr <vscale x 2 x i32> undef, undef686 %NXV4I32 = ashr <vscale x 4 x i32> undef, undef687 %NXV8I32 = ashr <vscale x 8 x i32> undef, undef688 %NXV16I32 = ashr <vscale x 16 x i32> undef, undef689 690 %V1I64 = ashr <1 x i64> undef, undef691 %V2I64 = ashr <2 x i64> undef, undef692 %V4I64 = ashr <4 x i64> undef, undef693 %V8I64 = ashr <8 x i64> undef, undef694 695 %NXV1I64 = ashr <vscale x 1 x i64> undef, undef696 %NXV2I64 = ashr <vscale x 2 x i64> undef, undef697 %NXV4I64 = ashr <vscale x 4 x i64> undef, undef698 %NXV8I64 = ashr <vscale x 8 x i64> undef, undef699 700 ret i32 undef701}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, undef706; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef707; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef708; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef709; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef710; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef711; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef712; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = udiv <16 x i16> undef, undef713; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = udiv <32 x i16> undef, undef714; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef715; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef716; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef717; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef718; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef719; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef720; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef721; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef722; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef723; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = udiv <8 x i32> undef, undef724; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = udiv <16 x i32> undef, undef725; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef726; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef727; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef728; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef729; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef730; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef731; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef732; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = udiv <4 x i64> undef, undef733; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = udiv <8 x i64> undef, undef734; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef735; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef736; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef737; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef738; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef739;740; SIFIVE-X280-LABEL: 'udiv'741; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = udiv i16 undef, undef742; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = udiv i32 undef, undef743; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = udiv i64 undef, undef744; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = udiv <1 x i16> undef, undef745; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = udiv <2 x i16> undef, undef746; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = udiv <4 x i16> undef, undef747; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = udiv <8 x i16> undef, undef748; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = udiv <16 x i16> undef, undef749; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = udiv <32 x i16> undef, undef750; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = udiv <vscale x 1 x i16> undef, undef751; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = udiv <vscale x 2 x i16> undef, undef752; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = udiv <vscale x 4 x i16> undef, undef753; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = udiv <vscale x 8 x i16> undef, undef754; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = udiv <vscale x 16 x i16> undef, undef755; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = udiv <vscale x 32 x i16> undef, undef756; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = udiv <1 x i32> undef, undef757; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = udiv <2 x i32> undef, undef758; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = udiv <4 x i32> undef, undef759; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = udiv <8 x i32> undef, undef760; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = udiv <16 x i32> undef, undef761; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = udiv <vscale x 1 x i32> undef, undef762; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = udiv <vscale x 2 x i32> undef, undef763; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = udiv <vscale x 4 x i32> undef, undef764; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = udiv <vscale x 8 x i32> undef, undef765; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = udiv <vscale x 16 x i32> undef, undef766; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = udiv <1 x i64> undef, undef767; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = udiv <2 x i64> undef, undef768; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = udiv <4 x i64> undef, undef769; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = udiv <8 x i64> undef, undef770; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = udiv <vscale x 1 x i64> undef, undef771; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = udiv <vscale x 2 x i64> undef, undef772; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = udiv <vscale x 4 x i64> undef, undef773; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = udiv <vscale x 8 x i64> undef, undef774; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef775;776 %I16 = udiv i16 undef, undef777 %I32 = udiv i32 undef, undef778 %I64 = udiv i64 undef, undef779 780 %V1I16 = udiv <1 x i16> undef, undef781 %V2I16 = udiv <2 x i16> undef, undef782 %V4I16 = udiv <4 x i16> undef, undef783 %V8I16 = udiv <8 x i16> undef, undef784 %V16I16 = udiv <16 x i16> undef, undef785 %V32I16 = udiv <32 x i16> undef, undef786 787 %NXV1I16 = udiv <vscale x 1 x i16> undef, undef788 %NXV2I16 = udiv <vscale x 2 x i16> undef, undef789 %NXV4I16 = udiv <vscale x 4 x i16> undef, undef790 %NXV8I16 = udiv <vscale x 8 x i16> undef, undef791 %NXV16I16 = udiv <vscale x 16 x i16> undef, undef792 %NXV32I16 = udiv <vscale x 32 x i16> undef, undef793 794 %V1I32 = udiv <1 x i32> undef, undef795 %V2I32 = udiv <2 x i32> undef, undef796 %V4I32 = udiv <4 x i32> undef, undef797 %V8I32 = udiv <8 x i32> undef, undef798 %V16I32 = udiv <16 x i32> undef, undef799 800 %NXV1I32 = udiv <vscale x 1 x i32> undef, undef801 %NXV2I32 = udiv <vscale x 2 x i32> undef, undef802 %NXV4I32 = udiv <vscale x 4 x i32> undef, undef803 %NXV8I32 = udiv <vscale x 8 x i32> undef, undef804 %NXV16I32 = udiv <vscale x 16 x i32> undef, undef805 806 %V1I64 = udiv <1 x i64> undef, undef807 %V2I64 = udiv <2 x i64> undef, undef808 %V4I64 = udiv <4 x i64> undef, undef809 %V8I64 = udiv <8 x i64> undef, undef810 811 %NXV1I64 = udiv <vscale x 1 x i64> undef, undef812 %NXV2I64 = udiv <vscale x 2 x i64> undef, undef813 %NXV4I64 = udiv <vscale x 4 x i64> undef, undef814 %NXV8I64 = udiv <vscale x 8 x i64> undef, undef815 816 ret i32 undef817}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, undef822; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef823; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef824; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef825; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef826; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef827; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef828; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = urem <16 x i16> undef, undef829; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = urem <32 x i16> undef, undef830; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef831; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef832; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef833; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef834; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef835; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef836; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef837; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef838; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef839; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = urem <8 x i32> undef, undef840; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = urem <16 x i32> undef, undef841; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef842; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef843; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef844; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef845; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef846; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef847; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef848; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = urem <4 x i64> undef, undef849; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = urem <8 x i64> undef, undef850; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef851; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef852; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef853; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef854; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef855;856; SIFIVE-X280-LABEL: 'urem'857; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 undef, undef858; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = urem i32 undef, undef859; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = urem i64 undef, undef860; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = urem <1 x i16> undef, undef861; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = urem <2 x i16> undef, undef862; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = urem <4 x i16> undef, undef863; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = urem <8 x i16> undef, undef864; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = urem <16 x i16> undef, undef865; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = urem <32 x i16> undef, undef866; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = urem <vscale x 1 x i16> undef, undef867; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = urem <vscale x 2 x i16> undef, undef868; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = urem <vscale x 4 x i16> undef, undef869; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = urem <vscale x 8 x i16> undef, undef870; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = urem <vscale x 16 x i16> undef, undef871; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = urem <vscale x 32 x i16> undef, undef872; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = urem <1 x i32> undef, undef873; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = urem <2 x i32> undef, undef874; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = urem <4 x i32> undef, undef875; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = urem <8 x i32> undef, undef876; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = urem <16 x i32> undef, undef877; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = urem <vscale x 1 x i32> undef, undef878; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = urem <vscale x 2 x i32> undef, undef879; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = urem <vscale x 4 x i32> undef, undef880; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = urem <vscale x 8 x i32> undef, undef881; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = urem <vscale x 16 x i32> undef, undef882; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = urem <1 x i64> undef, undef883; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = urem <2 x i64> undef, undef884; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = urem <4 x i64> undef, undef885; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = urem <8 x i64> undef, undef886; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = urem <vscale x 1 x i64> undef, undef887; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = urem <vscale x 2 x i64> undef, undef888; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = urem <vscale x 4 x i64> undef, undef889; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = urem <vscale x 8 x i64> undef, undef890; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef891;892 %I16 = urem i16 undef, undef893 %I32 = urem i32 undef, undef894 %I64 = urem i64 undef, undef895 896 %V1I16 = urem <1 x i16> undef, undef897 %V2I16 = urem <2 x i16> undef, undef898 %V4I16 = urem <4 x i16> undef, undef899 %V8I16 = urem <8 x i16> undef, undef900 %V16I16 = urem <16 x i16> undef, undef901 %V32I16 = urem <32 x i16> undef, undef902 903 %NXV1I16 = urem <vscale x 1 x i16> undef, undef904 %NXV2I16 = urem <vscale x 2 x i16> undef, undef905 %NXV4I16 = urem <vscale x 4 x i16> undef, undef906 %NXV8I16 = urem <vscale x 8 x i16> undef, undef907 %NXV16I16 = urem <vscale x 16 x i16> undef, undef908 %NXV32I16 = urem <vscale x 32 x i16> undef, undef909 910 %V1I32 = urem <1 x i32> undef, undef911 %V2I32 = urem <2 x i32> undef, undef912 %V4I32 = urem <4 x i32> undef, undef913 %V8I32 = urem <8 x i32> undef, undef914 %V16I32 = urem <16 x i32> undef, undef915 916 %NXV1I32 = urem <vscale x 1 x i32> undef, undef917 %NXV2I32 = urem <vscale x 2 x i32> undef, undef918 %NXV4I32 = urem <vscale x 4 x i32> undef, undef919 %NXV8I32 = urem <vscale x 8 x i32> undef, undef920 %NXV16I32 = urem <vscale x 16 x i32> undef, undef921 922 %V1I64 = urem <1 x i64> undef, undef923 %V2I64 = urem <2 x i64> undef, undef924 %V4I64 = urem <4 x i64> undef, undef925 %V8I64 = urem <8 x i64> undef, undef926 927 %NXV1I64 = urem <vscale x 1 x i64> undef, undef928 %NXV2I64 = urem <vscale x 2 x i64> undef, undef929 %NXV4I64 = urem <vscale x 4 x i64> undef, undef930 %NXV8I64 = urem <vscale x 8 x i64> undef, undef931 932 ret i32 undef933}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, undef938; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef939; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef940; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef941; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef942; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef943; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef944; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = sdiv <16 x i16> undef, undef945; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = sdiv <32 x i16> undef, undef946; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef947; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef948; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef949; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef950; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef951; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef952; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef953; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef954; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef955; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = sdiv <8 x i32> undef, undef956; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = sdiv <16 x i32> undef, undef957; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef958; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef959; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef960; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef961; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef962; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef963; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef964; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = sdiv <4 x i64> undef, undef965; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = sdiv <8 x i64> undef, undef966; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef967; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef968; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef969; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef970; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef971;972; SIFIVE-X280-LABEL: 'sdiv'973; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = sdiv i16 undef, undef974; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = sdiv i32 undef, undef975; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = sdiv i64 undef, undef976; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = sdiv <1 x i16> undef, undef977; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = sdiv <2 x i16> undef, undef978; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = sdiv <4 x i16> undef, undef979; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = sdiv <8 x i16> undef, undef980; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = sdiv <16 x i16> undef, undef981; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = sdiv <32 x i16> undef, undef982; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef983; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef984; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef985; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef986; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef987; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef988; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = sdiv <1 x i32> undef, undef989; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = sdiv <2 x i32> undef, undef990; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = sdiv <4 x i32> undef, undef991; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = sdiv <8 x i32> undef, undef992; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = sdiv <16 x i32> undef, undef993; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef994; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef995; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef996; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef997; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef998; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = sdiv <1 x i64> undef, undef999; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = sdiv <2 x i64> undef, undef1000; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = sdiv <4 x i64> undef, undef1001; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = sdiv <8 x i64> undef, undef1002; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef1003; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef1004; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef1005; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef1006; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1007;1008 %I16 = sdiv i16 undef, undef1009 %I32 = sdiv i32 undef, undef1010 %I64 = sdiv i64 undef, undef1011 1012 %V1I16 = sdiv <1 x i16> undef, undef1013 %V2I16 = sdiv <2 x i16> undef, undef1014 %V4I16 = sdiv <4 x i16> undef, undef1015 %V8I16 = sdiv <8 x i16> undef, undef1016 %V16I16 = sdiv <16 x i16> undef, undef1017 %V32I16 = sdiv <32 x i16> undef, undef1018 1019 %NXV1I16 = sdiv <vscale x 1 x i16> undef, undef1020 %NXV2I16 = sdiv <vscale x 2 x i16> undef, undef1021 %NXV4I16 = sdiv <vscale x 4 x i16> undef, undef1022 %NXV8I16 = sdiv <vscale x 8 x i16> undef, undef1023 %NXV16I16 = sdiv <vscale x 16 x i16> undef, undef1024 %NXV32I16 = sdiv <vscale x 32 x i16> undef, undef1025 1026 %V1I32 = sdiv <1 x i32> undef, undef1027 %V2I32 = sdiv <2 x i32> undef, undef1028 %V4I32 = sdiv <4 x i32> undef, undef1029 %V8I32 = sdiv <8 x i32> undef, undef1030 %V16I32 = sdiv <16 x i32> undef, undef1031 1032 %NXV1I32 = sdiv <vscale x 1 x i32> undef, undef1033 %NXV2I32 = sdiv <vscale x 2 x i32> undef, undef1034 %NXV4I32 = sdiv <vscale x 4 x i32> undef, undef1035 %NXV8I32 = sdiv <vscale x 8 x i32> undef, undef1036 %NXV16I32 = sdiv <vscale x 16 x i32> undef, undef1037 1038 %V1I64 = sdiv <1 x i64> undef, undef1039 %V2I64 = sdiv <2 x i64> undef, undef1040 %V4I64 = sdiv <4 x i64> undef, undef1041 %V8I64 = sdiv <8 x i64> undef, undef1042 1043 %NXV1I64 = sdiv <vscale x 1 x i64> undef, undef1044 %NXV2I64 = sdiv <vscale x 2 x i64> undef, undef1045 %NXV4I64 = sdiv <vscale x 4 x i64> undef, undef1046 %NXV8I64 = sdiv <vscale x 8 x i64> undef, undef1047 1048 ret i32 undef1049}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, undef1054; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef1055; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef1056; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef1057; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef1058; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef1059; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef1060; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I16 = srem <16 x i16> undef, undef1061; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32I16 = srem <32 x i16> undef, undef1062; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef1063; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef1064; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef1065; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef1066; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef1067; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef1068; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef1069; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef1070; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef1071; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I32 = srem <8 x i32> undef, undef1072; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16I32 = srem <16 x i32> undef, undef1073; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef1074; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef1075; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef1076; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef1077; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef1078; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef1079; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef1080; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V4I64 = srem <4 x i64> undef, undef1081; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8I64 = srem <8 x i64> undef, undef1082; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef1083; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef1084; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef1085; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef1086; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1087;1088; SIFIVE-X280-LABEL: 'srem'1089; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 undef, undef1090; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I32 = srem i32 undef, undef1091; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I64 = srem i64 undef, undef1092; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I16 = srem <1 x i16> undef, undef1093; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I16 = srem <2 x i16> undef, undef1094; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I16 = srem <4 x i16> undef, undef1095; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I16 = srem <8 x i16> undef, undef1096; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V16I16 = srem <16 x i16> undef, undef1097; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V32I16 = srem <32 x i16> undef, undef1098; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I16 = srem <vscale x 1 x i16> undef, undef1099; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV2I16 = srem <vscale x 2 x i16> undef, undef1100; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV4I16 = srem <vscale x 4 x i16> undef, undef1101; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV8I16 = srem <vscale x 8 x i16> undef, undef1102; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV16I16 = srem <vscale x 16 x i16> undef, undef1103; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV32I16 = srem <vscale x 32 x i16> undef, undef1104; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I32 = srem <1 x i32> undef, undef1105; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I32 = srem <2 x i32> undef, undef1106; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I32 = srem <4 x i32> undef, undef1107; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V8I32 = srem <8 x i32> undef, undef1108; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V16I32 = srem <16 x i32> undef, undef1109; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %NXV1I32 = srem <vscale x 1 x i32> undef, undef1110; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV2I32 = srem <vscale x 2 x i32> undef, undef1111; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV4I32 = srem <vscale x 4 x i32> undef, undef1112; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV8I32 = srem <vscale x 8 x i32> undef, undef1113; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV16I32 = srem <vscale x 16 x i32> undef, undef1114; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V1I64 = srem <1 x i64> undef, undef1115; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V2I64 = srem <2 x i64> undef, undef1116; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %V4I64 = srem <4 x i64> undef, undef1117; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %V8I64 = srem <8 x i64> undef, undef1118; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %NXV1I64 = srem <vscale x 1 x i64> undef, undef1119; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %NXV2I64 = srem <vscale x 2 x i64> undef, undef1120; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %NXV4I64 = srem <vscale x 4 x i64> undef, undef1121; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %NXV8I64 = srem <vscale x 8 x i64> undef, undef1122; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1123;1124 %I16 = srem i16 undef, undef1125 %I32 = srem i32 undef, undef1126 %I64 = srem i64 undef, undef1127 1128 %V1I16 = srem <1 x i16> undef, undef1129 %V2I16 = srem <2 x i16> undef, undef1130 %V4I16 = srem <4 x i16> undef, undef1131 %V8I16 = srem <8 x i16> undef, undef1132 %V16I16 = srem <16 x i16> undef, undef1133 %V32I16 = srem <32 x i16> undef, undef1134 1135 %NXV1I16 = srem <vscale x 1 x i16> undef, undef1136 %NXV2I16 = srem <vscale x 2 x i16> undef, undef1137 %NXV4I16 = srem <vscale x 4 x i16> undef, undef1138 %NXV8I16 = srem <vscale x 8 x i16> undef, undef1139 %NXV16I16 = srem <vscale x 16 x i16> undef, undef1140 %NXV32I16 = srem <vscale x 32 x i16> undef, undef1141 1142 %V1I32 = srem <1 x i32> undef, undef1143 %V2I32 = srem <2 x i32> undef, undef1144 %V4I32 = srem <4 x i32> undef, undef1145 %V8I32 = srem <8 x i32> undef, undef1146 %V16I32 = srem <16 x i32> undef, undef1147 1148 %NXV1I32 = srem <vscale x 1 x i32> undef, undef1149 %NXV2I32 = srem <vscale x 2 x i32> undef, undef1150 %NXV4I32 = srem <vscale x 4 x i32> undef, undef1151 %NXV8I32 = srem <vscale x 8 x i32> undef, undef1152 %NXV16I32 = srem <vscale x 16 x i32> undef, undef1153 1154 %V1I64 = srem <1 x i64> undef, undef1155 %V2I64 = srem <2 x i64> undef, undef1156 %V4I64 = srem <4 x i64> undef, undef1157 %V8I64 = srem <8 x i64> undef, undef1158 1159 %NXV1I64 = srem <vscale x 1 x i64> undef, undef1160 %NXV2I64 = srem <vscale x 2 x i64> undef, undef1161 %NXV4I64 = srem <vscale x 4 x i64> undef, undef1162 %NXV8I64 = srem <vscale x 8 x i64> undef, undef1163 1164 ret i32 undef1165}1166 1167 1168; For constants, have to account for cost of materializing the constant itself1169; This test exercises a few interesting constant patterns at VLEN=1281170define 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, undef1173; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef1174; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef1175; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef1176; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef1177; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef1178; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef1179; 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>, undef1180; 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>, undef1181; 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>, undef1182; 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>, undef1183; 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>, undef1184; 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>, undef1185; 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>, undef1186; 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>, undef1187; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void1188;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, undef1191; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = add <4 x i32> undef, undef1192; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = add <4 x i32> zeroinitializer, undef1193; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = add <2 x i64> zeroinitializer, undef1194; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = add <4 x i32> splat (i32 1), undef1195; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = add <2 x i64> splat (i64 1), undef1196; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = add <4 x i32> splat (i32 4096), undef1197; 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>, undef1198; 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>, undef1199; 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>, undef1200; 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>, undef1201; 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>, undef1202; 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>, undef1203; 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>, undef1204; 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>, undef1205; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void1206;1207 1208 ; poison and undef1209 add <4 x i32> poison, undef1210 add <4 x i32> undef, undef1211 1212 ; Various splats1213 add <4 x i32> zeroinitializer, undef1214 add <2 x i64> zeroinitializer, undef1215 add <4 x i32> <i32 1, i32 1, i32 1, i32 1>, undef1216 add <2 x i64> <i64 1, i64 1>, undef1217 add <4 x i32> <i32 4096, i32 4096, i32 4096, i32 4096>, undef1218 1219 ; Nearly splats1220 add <4 x i32> <i32 1, i32 1, i32 2, i32 1>, undef1221 add <4 x i32> <i32 2, i32 1, i32 1, i32 1>, undef1222 1223 ; Step vector functions1224 add <4 x i32> <i32 0, i32 1, i32 2, i32 3>, undef1225 add <4 x i32> <i32 1, i32 2, i32 3, i32 4>, undef1226 add <4 x i32> <i32 -1, i32 -2, i32 -3, i32 -4>, undef1227 add <4 x i32> <i32 2, i32 4, i32 6, i32 8>, undef1228 1229 ; General case 128 bit constants1230 add <4 x i32> <i32 -1, i32 0, i32 2, i32 1>, undef1231 add <4 x i32> <i32 256, i32 4096, i32 57, i32 1>, undef1232 1233 ret void1234}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, undef1239; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef1240; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef1241; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef1242; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef1243; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef1244; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef1245; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef1246; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef1247; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef1248; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef1249; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef1250; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef1251; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef1252; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = and <16 x i16> undef, undef1253; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = and <32 x i16> undef, undef1254; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef1255; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef1256; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef1257; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = and <8 x i32> undef, undef1258; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = and <16 x i32> undef, undef1259; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef1260; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef1261; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = and <4 x i64> undef, undef1262; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = and <8 x i64> undef, undef1263; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef1264; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef1265; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef1266; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef1267; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef1268; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef1269; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef1270; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef1271; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = and <vscale x 4 x i16> undef, undef1272; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = and <vscale x 8 x i16> undef, undef1273; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = and <vscale x 16 x i16> undef, undef1274; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = and <vscale x 32 x i16> undef, undef1275; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef1276; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = and <vscale x 2 x i32> undef, undef1277; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = and <vscale x 4 x i32> undef, undef1278; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = and <vscale x 8 x i32> undef, undef1279; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = and <vscale x 16 x i32> undef, undef1280; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = and <vscale x 1 x i64> undef, undef1281; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = and <vscale x 2 x i64> undef, undef1282; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = and <vscale x 4 x i64> undef, undef1283; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = and <vscale x 8 x i64> undef, undef1284; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1285;1286; SIFIVE-X280-LABEL: 'and'1287; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = and i1 undef, undef1288; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = and i16 undef, undef1289; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = and i32 undef, undef1290; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = and i64 undef, undef1291; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = and <1 x i1> undef, undef1292; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = and <2 x i1> undef, undef1293; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = and <4 x i1> undef, undef1294; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = and <8 x i1> undef, undef1295; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = and <16 x i1> undef, undef1296; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = and <32 x i1> undef, undef1297; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = and <1 x i16> undef, undef1298; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = and <2 x i16> undef, undef1299; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = and <4 x i16> undef, undef1300; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = and <8 x i16> undef, undef1301; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = and <16 x i16> undef, undef1302; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = and <32 x i16> undef, undef1303; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = and <1 x i32> undef, undef1304; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = and <2 x i32> undef, undef1305; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = and <4 x i32> undef, undef1306; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = and <8 x i32> undef, undef1307; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = and <16 x i32> undef, undef1308; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = and <1 x i64> undef, undef1309; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = and <2 x i64> undef, undef1310; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = and <4 x i64> undef, undef1311; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = and <8 x i64> undef, undef1312; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = and <vscale x 1 x i1> undef, undef1313; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = and <vscale x 2 x i1> undef, undef1314; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = and <vscale x 4 x i1> undef, undef1315; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = and <vscale x 8 x i1> undef, undef1316; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = and <vscale x 16 x i1> undef, undef1317; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = and <vscale x 32 x i1> undef, undef1318; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = and <vscale x 1 x i16> undef, undef1319; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = and <vscale x 2 x i16> undef, undef1320; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = and <vscale x 4 x i16> undef, undef1321; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = and <vscale x 8 x i16> undef, undef1322; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = and <vscale x 16 x i16> undef, undef1323; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = and <vscale x 32 x i16> undef, undef1324; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = and <vscale x 1 x i32> undef, undef1325; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = and <vscale x 2 x i32> undef, undef1326; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = and <vscale x 4 x i32> undef, undef1327; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = and <vscale x 8 x i32> undef, undef1328; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = and <vscale x 16 x i32> undef, undef1329; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = and <vscale x 1 x i64> undef, undef1330; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = and <vscale x 2 x i64> undef, undef1331; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = and <vscale x 4 x i64> undef, undef1332; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = and <vscale x 8 x i64> undef, undef1333; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1334;1335 and i1 undef, undef1336 and i16 undef, undef1337 and i32 undef, undef1338 and i64 undef, undef1339 1340 and <1 x i1> undef, undef1341 and <2 x i1> undef, undef1342 and <4 x i1> undef, undef1343 and <8 x i1> undef, undef1344 and <16 x i1> undef, undef1345 and <32 x i1> undef, undef1346 1347 and <1 x i16> undef, undef1348 and <2 x i16> undef, undef1349 and <4 x i16> undef, undef1350 and <8 x i16> undef, undef1351 and <16 x i16> undef, undef1352 and <32 x i16> undef, undef1353 1354 and <1 x i32> undef, undef1355 and <2 x i32> undef, undef1356 and <4 x i32> undef, undef1357 and <8 x i32> undef, undef1358 and <16 x i32> undef, undef1359 1360 and <1 x i64> undef, undef1361 and <2 x i64> undef, undef1362 and <4 x i64> undef, undef1363 and <8 x i64> undef, undef1364 1365 and <vscale x 1 x i1> undef, undef1366 and <vscale x 2 x i1> undef, undef1367 and <vscale x 4 x i1> undef, undef1368 and <vscale x 8 x i1> undef, undef1369 and <vscale x 16 x i1> undef, undef1370 and <vscale x 32 x i1> undef, undef1371 1372 and <vscale x 1 x i16> undef, undef1373 and <vscale x 2 x i16> undef, undef1374 and <vscale x 4 x i16> undef, undef1375 and <vscale x 8 x i16> undef, undef1376 and <vscale x 16 x i16> undef, undef1377 and <vscale x 32 x i16> undef, undef1378 1379 and <vscale x 1 x i32> undef, undef1380 and <vscale x 2 x i32> undef, undef1381 and <vscale x 4 x i32> undef, undef1382 and <vscale x 8 x i32> undef, undef1383 and <vscale x 16 x i32> undef, undef1384 1385 and <vscale x 1 x i64> undef, undef1386 and <vscale x 2 x i64> undef, undef1387 and <vscale x 4 x i64> undef, undef1388 and <vscale x 8 x i64> undef, undef1389 ret i32 undef1390}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, undef1395; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef1396; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef1397; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef1398; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef1399; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef1400; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef1401; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef1402; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef1403; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef1404; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef1405; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef1406; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef1407; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef1408; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = or <16 x i16> undef, undef1409; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = or <32 x i16> undef, undef1410; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef1411; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef1412; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef1413; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = or <8 x i32> undef, undef1414; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = or <16 x i32> undef, undef1415; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef1416; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef1417; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = or <4 x i64> undef, undef1418; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = or <8 x i64> undef, undef1419; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef1420; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef1421; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef1422; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef1423; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef1424; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef1425; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef1426; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef1427; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = or <vscale x 4 x i16> undef, undef1428; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = or <vscale x 8 x i16> undef, undef1429; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = or <vscale x 16 x i16> undef, undef1430; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = or <vscale x 32 x i16> undef, undef1431; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef1432; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = or <vscale x 2 x i32> undef, undef1433; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = or <vscale x 4 x i32> undef, undef1434; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = or <vscale x 8 x i32> undef, undef1435; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = or <vscale x 16 x i32> undef, undef1436; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = or <vscale x 1 x i64> undef, undef1437; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = or <vscale x 2 x i64> undef, undef1438; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = or <vscale x 4 x i64> undef, undef1439; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = or <vscale x 8 x i64> undef, undef1440; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1441;1442; SIFIVE-X280-LABEL: 'or'1443; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = or i1 undef, undef1444; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = or i16 undef, undef1445; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = or i32 undef, undef1446; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = or i64 undef, undef1447; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = or <1 x i1> undef, undef1448; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = or <2 x i1> undef, undef1449; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = or <4 x i1> undef, undef1450; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = or <8 x i1> undef, undef1451; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = or <16 x i1> undef, undef1452; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = or <32 x i1> undef, undef1453; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = or <1 x i16> undef, undef1454; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = or <2 x i16> undef, undef1455; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = or <4 x i16> undef, undef1456; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = or <8 x i16> undef, undef1457; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = or <16 x i16> undef, undef1458; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = or <32 x i16> undef, undef1459; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = or <1 x i32> undef, undef1460; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = or <2 x i32> undef, undef1461; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = or <4 x i32> undef, undef1462; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = or <8 x i32> undef, undef1463; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = or <16 x i32> undef, undef1464; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = or <1 x i64> undef, undef1465; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = or <2 x i64> undef, undef1466; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = or <4 x i64> undef, undef1467; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = or <8 x i64> undef, undef1468; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = or <vscale x 1 x i1> undef, undef1469; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = or <vscale x 2 x i1> undef, undef1470; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = or <vscale x 4 x i1> undef, undef1471; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = or <vscale x 8 x i1> undef, undef1472; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = or <vscale x 16 x i1> undef, undef1473; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = or <vscale x 32 x i1> undef, undef1474; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = or <vscale x 1 x i16> undef, undef1475; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = or <vscale x 2 x i16> undef, undef1476; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = or <vscale x 4 x i16> undef, undef1477; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = or <vscale x 8 x i16> undef, undef1478; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = or <vscale x 16 x i16> undef, undef1479; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = or <vscale x 32 x i16> undef, undef1480; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = or <vscale x 1 x i32> undef, undef1481; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = or <vscale x 2 x i32> undef, undef1482; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = or <vscale x 4 x i32> undef, undef1483; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = or <vscale x 8 x i32> undef, undef1484; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = or <vscale x 16 x i32> undef, undef1485; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = or <vscale x 1 x i64> undef, undef1486; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = or <vscale x 2 x i64> undef, undef1487; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = or <vscale x 4 x i64> undef, undef1488; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = or <vscale x 8 x i64> undef, undef1489; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1490;1491 or i1 undef, undef1492 or i16 undef, undef1493 or i32 undef, undef1494 or i64 undef, undef1495 1496 or <1 x i1> undef, undef1497 or <2 x i1> undef, undef1498 or <4 x i1> undef, undef1499 or <8 x i1> undef, undef1500 or <16 x i1> undef, undef1501 or <32 x i1> undef, undef1502 1503 or <1 x i16> undef, undef1504 or <2 x i16> undef, undef1505 or <4 x i16> undef, undef1506 or <8 x i16> undef, undef1507 or <16 x i16> undef, undef1508 or <32 x i16> undef, undef1509 1510 or <1 x i32> undef, undef1511 or <2 x i32> undef, undef1512 or <4 x i32> undef, undef1513 or <8 x i32> undef, undef1514 or <16 x i32> undef, undef1515 1516 or <1 x i64> undef, undef1517 or <2 x i64> undef, undef1518 or <4 x i64> undef, undef1519 or <8 x i64> undef, undef1520 1521 or <vscale x 1 x i1> undef, undef1522 or <vscale x 2 x i1> undef, undef1523 or <vscale x 4 x i1> undef, undef1524 or <vscale x 8 x i1> undef, undef1525 or <vscale x 16 x i1> undef, undef1526 or <vscale x 32 x i1> undef, undef1527 1528 or <vscale x 1 x i16> undef, undef1529 or <vscale x 2 x i16> undef, undef1530 or <vscale x 4 x i16> undef, undef1531 or <vscale x 8 x i16> undef, undef1532 or <vscale x 16 x i16> undef, undef1533 or <vscale x 32 x i16> undef, undef1534 1535 or <vscale x 1 x i32> undef, undef1536 or <vscale x 2 x i32> undef, undef1537 or <vscale x 4 x i32> undef, undef1538 or <vscale x 8 x i32> undef, undef1539 or <vscale x 16 x i32> undef, undef1540 1541 or <vscale x 1 x i64> undef, undef1542 or <vscale x 2 x i64> undef, undef1543 or <vscale x 4 x i64> undef, undef1544 or <vscale x 8 x i64> undef, undef1545 ret i32 undef1546}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, undef1551; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef1552; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef1553; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef1554; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef1555; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef1556; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef1557; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef1558; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef1559; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef1560; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef1561; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef1562; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef1563; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef1564; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %15 = xor <16 x i16> undef, undef1565; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %16 = xor <32 x i16> undef, undef1566; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef1567; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef1568; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef1569; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %20 = xor <8 x i32> undef, undef1570; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %21 = xor <16 x i32> undef, undef1571; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef1572; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef1573; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %24 = xor <4 x i64> undef, undef1574; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %25 = xor <8 x i64> undef, undef1575; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef1576; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef1577; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef1578; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef1579; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef1580; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef1581; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef1582; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef1583; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %34 = xor <vscale x 4 x i16> undef, undef1584; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %35 = xor <vscale x 8 x i16> undef, undef1585; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %36 = xor <vscale x 16 x i16> undef, undef1586; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %37 = xor <vscale x 32 x i16> undef, undef1587; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef1588; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %39 = xor <vscale x 2 x i32> undef, undef1589; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %40 = xor <vscale x 4 x i32> undef, undef1590; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %41 = xor <vscale x 8 x i32> undef, undef1591; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %42 = xor <vscale x 16 x i32> undef, undef1592; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %43 = xor <vscale x 1 x i64> undef, undef1593; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %44 = xor <vscale x 2 x i64> undef, undef1594; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %45 = xor <vscale x 4 x i64> undef, undef1595; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %46 = xor <vscale x 8 x i64> undef, undef1596; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1597;1598; SIFIVE-X280-LABEL: 'xor'1599; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %1 = xor i1 undef, undef1600; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %2 = xor i16 undef, undef1601; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %3 = xor i32 undef, undef1602; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %4 = xor i64 undef, undef1603; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %5 = xor <1 x i1> undef, undef1604; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %6 = xor <2 x i1> undef, undef1605; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %7 = xor <4 x i1> undef, undef1606; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %8 = xor <8 x i1> undef, undef1607; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %9 = xor <16 x i1> undef, undef1608; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %10 = xor <32 x i1> undef, undef1609; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %11 = xor <1 x i16> undef, undef1610; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %12 = xor <2 x i16> undef, undef1611; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %13 = xor <4 x i16> undef, undef1612; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %14 = xor <8 x i16> undef, undef1613; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %15 = xor <16 x i16> undef, undef1614; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %16 = xor <32 x i16> undef, undef1615; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %17 = xor <1 x i32> undef, undef1616; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %18 = xor <2 x i32> undef, undef1617; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %19 = xor <4 x i32> undef, undef1618; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %20 = xor <8 x i32> undef, undef1619; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %21 = xor <16 x i32> undef, undef1620; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %22 = xor <1 x i64> undef, undef1621; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %23 = xor <2 x i64> undef, undef1622; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %24 = xor <4 x i64> undef, undef1623; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %25 = xor <8 x i64> undef, undef1624; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %26 = xor <vscale x 1 x i1> undef, undef1625; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %27 = xor <vscale x 2 x i1> undef, undef1626; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %28 = xor <vscale x 4 x i1> undef, undef1627; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %29 = xor <vscale x 8 x i1> undef, undef1628; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %30 = xor <vscale x 16 x i1> undef, undef1629; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %31 = xor <vscale x 32 x i1> undef, undef1630; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %32 = xor <vscale x 1 x i16> undef, undef1631; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %33 = xor <vscale x 2 x i16> undef, undef1632; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %34 = xor <vscale x 4 x i16> undef, undef1633; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %35 = xor <vscale x 8 x i16> undef, undef1634; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %36 = xor <vscale x 16 x i16> undef, undef1635; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %37 = xor <vscale x 32 x i16> undef, undef1636; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %38 = xor <vscale x 1 x i32> undef, undef1637; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %39 = xor <vscale x 2 x i32> undef, undef1638; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %40 = xor <vscale x 4 x i32> undef, undef1639; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %41 = xor <vscale x 8 x i32> undef, undef1640; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %42 = xor <vscale x 16 x i32> undef, undef1641; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %43 = xor <vscale x 1 x i64> undef, undef1642; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %44 = xor <vscale x 2 x i64> undef, undef1643; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %45 = xor <vscale x 4 x i64> undef, undef1644; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %46 = xor <vscale x 8 x i64> undef, undef1645; SIFIVE-X280-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef1646;1647 xor i1 undef, undef1648 xor i16 undef, undef1649 xor i32 undef, undef1650 xor i64 undef, undef1651 1652 xor <1 x i1> undef, undef1653 xor <2 x i1> undef, undef1654 xor <4 x i1> undef, undef1655 xor <8 x i1> undef, undef1656 xor <16 x i1> undef, undef1657 xor <32 x i1> undef, undef1658 1659 xor <1 x i16> undef, undef1660 xor <2 x i16> undef, undef1661 xor <4 x i16> undef, undef1662 xor <8 x i16> undef, undef1663 xor <16 x i16> undef, undef1664 xor <32 x i16> undef, undef1665 1666 xor <1 x i32> undef, undef1667 xor <2 x i32> undef, undef1668 xor <4 x i32> undef, undef1669 xor <8 x i32> undef, undef1670 xor <16 x i32> undef, undef1671 1672 xor <1 x i64> undef, undef1673 xor <2 x i64> undef, undef1674 xor <4 x i64> undef, undef1675 xor <8 x i64> undef, undef1676 1677 xor <vscale x 1 x i1> undef, undef1678 xor <vscale x 2 x i1> undef, undef1679 xor <vscale x 4 x i1> undef, undef1680 xor <vscale x 8 x i1> undef, undef1681 xor <vscale x 16 x i1> undef, undef1682 xor <vscale x 32 x i1> undef, undef1683 1684 xor <vscale x 1 x i16> undef, undef1685 xor <vscale x 2 x i16> undef, undef1686 xor <vscale x 4 x i16> undef, undef1687 xor <vscale x 8 x i16> undef, undef1688 xor <vscale x 16 x i16> undef, undef1689 xor <vscale x 32 x i16> undef, undef1690 1691 xor <vscale x 1 x i32> undef, undef1692 xor <vscale x 2 x i32> undef, undef1693 xor <vscale x 4 x i32> undef, undef1694 xor <vscale x 8 x i32> undef, undef1695 xor <vscale x 16 x i32> undef, undef1696 1697 xor <vscale x 1 x i64> undef, undef1698 xor <vscale x 2 x i64> undef, undef1699 xor <vscale x 4 x i64> undef, undef1700 xor <vscale x 8 x i64> undef, undef1701 ret i32 undef1702}1703