brintos

brintos / llvm-project-archived public Read only

0
0
Text · 122.9 KiB · 76f80da Raw
1657 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 < %s | FileCheck %s --check-prefix=CHECK-NEON3; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8.1m.main-none-eabi -mattr=+mve.fp < %s | FileCheck %s --check-prefix=CHECK-MVE4; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.main-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-MAIN5; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.base-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-BASE6; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=armv8r-none-eabi -mattr=+neon,+fp-armv8 < %s | FileCheck %s --check-prefix=CHECK-V8R7 8target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"9 10define void @i8() {11; CHECK-NEON-LABEL: 'i8'12; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i8 undef, undef13; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i8 undef, undef14; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i8 undef, undef15; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i8 undef, undef16; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i8 undef, 217; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i8 undef, 218; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i8 undef, 219; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i8 undef, 220; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void21;22; CHECK-MVE-LABEL: 'i8'23; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef24; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef25; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef26; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef27; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 228; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 229; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i8 undef, 230; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i8 undef, 231; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void32;33; CHECK-V8M-MAIN-LABEL: 'i8'34; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef35; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef36; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef37; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef38; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 239; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 240; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i8 undef, 241; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i8 undef, 242; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void43;44; CHECK-V8M-BASE-LABEL: 'i8'45; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef46; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef47; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef48; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef49; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 250; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 251; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i8 undef, 252; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i8 undef, 253; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void54;55; CHECK-V8R-LABEL: 'i8'56; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i8 undef, undef57; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i8 undef, undef58; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i8 undef, undef59; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i8 undef, undef60; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i8 undef, 261; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i8 undef, 262; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i8 undef, 263; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i8 undef, 264; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void65;66  %1 = sdiv i8 undef, undef67  %2 = udiv i8 undef, undef68  %3 = srem i8 undef, undef69  %4 = urem i8 undef, undef70  %5 = sdiv i8 undef, 271  %6 = udiv i8 undef, 272  %7 = srem i8 undef, 273  %8 = urem i8 undef, 274  ret void75}76 77define void @i16() {78; CHECK-NEON-LABEL: 'i16'79; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i16 undef, undef80; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i16 undef, undef81; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i16 undef, undef82; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i16 undef, undef83; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i16 undef, 284; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i16 undef, 285; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i16 undef, 286; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i16 undef, 287; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void88;89; CHECK-MVE-LABEL: 'i16'90; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef91; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef92; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef93; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef94; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 295; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 296; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i16 undef, 297; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i16 undef, 298; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void99;100; CHECK-V8M-MAIN-LABEL: 'i16'101; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef102; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef103; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef104; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef105; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 2106; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 2107; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i16 undef, 2108; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i16 undef, 2109; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void110;111; CHECK-V8M-BASE-LABEL: 'i16'112; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef113; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef114; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef115; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef116; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 2117; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 2118; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i16 undef, 2119; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i16 undef, 2120; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void121;122; CHECK-V8R-LABEL: 'i16'123; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i16 undef, undef124; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i16 undef, undef125; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i16 undef, undef126; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i16 undef, undef127; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i16 undef, 2128; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i16 undef, 2129; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i16 undef, 2130; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i16 undef, 2131; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void132;133  %1 = sdiv i16 undef, undef134  %2 = udiv i16 undef, undef135  %3 = srem i16 undef, undef136  %4 = urem i16 undef, undef137  %5 = sdiv i16 undef, 2138  %6 = udiv i16 undef, 2139  %7 = srem i16 undef, 2140  %8 = urem i16 undef, 2141  ret void142}143 144define void @i32() {145; CHECK-NEON-LABEL: 'i32'146; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i32 undef, undef147; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i32 undef, undef148; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i32 undef, undef149; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i32 undef, undef150; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i32 undef, 2151; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i32 undef, 2152; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i32 undef, 2153; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i32 undef, 2154; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void155;156; CHECK-MVE-LABEL: 'i32'157; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef158; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef159; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef160; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef161; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2162; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2163; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2164; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2165; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void166;167; CHECK-V8M-MAIN-LABEL: 'i32'168; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef169; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef170; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef171; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef172; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2173; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2174; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2175; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2176; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void177;178; CHECK-V8M-BASE-LABEL: 'i32'179; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef180; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef181; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef182; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef183; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2184; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2185; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2186; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2187; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void188;189; CHECK-V8R-LABEL: 'i32'190; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i32 undef, undef191; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i32 undef, undef192; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i32 undef, undef193; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i32 undef, undef194; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i32 undef, 2195; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i32 undef, 2196; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i32 undef, 2197; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i32 undef, 2198; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void199;200  %1 = sdiv i32 undef, undef201  %2 = udiv i32 undef, undef202  %3 = srem i32 undef, undef203  %4 = urem i32 undef, undef204  %5 = sdiv i32 undef, 2205  %6 = udiv i32 undef, 2206  %7 = srem i32 undef, 2207  %8 = urem i32 undef, 2208  ret void209}210 211define void @i64() {212; CHECK-NEON-LABEL: 'i64'213; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %1 = sdiv i64 undef, undef214; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %2 = udiv i64 undef, undef215; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i64 undef, undef216; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i64 undef, undef217; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %5 = sdiv i64 undef, 2218; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %6 = udiv i64 undef, 2219; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i64 undef, 2220; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i64 undef, 2221; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void222;223; CHECK-MVE-LABEL: 'i64'224; CHECK-MVE-NEXT:  Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef225; CHECK-MVE-NEXT:  Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef226; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef227; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef228; CHECK-MVE-NEXT:  Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2229; CHECK-MVE-NEXT:  Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2230; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2231; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2232; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void233;234; CHECK-V8M-MAIN-LABEL: 'i64'235; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef236; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef237; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef238; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef239; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2240; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2241; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2242; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2243; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void244;245; CHECK-V8M-BASE-LABEL: 'i64'246; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef247; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef248; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef249; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef250; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2251; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2252; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2253; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2254; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void255;256; CHECK-V8R-LABEL: 'i64'257; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i64 undef, undef258; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i64 undef, undef259; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i64 undef, undef260; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i64 undef, undef261; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i64 undef, 2262; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i64 undef, 2263; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i64 undef, 2264; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i64 undef, 2265; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void266;267  %1 = sdiv i64 undef, undef268  %2 = udiv i64 undef, undef269  %3 = srem i64 undef, undef270  %4 = urem i64 undef, undef271  %5 = sdiv i64 undef, 2272  %6 = udiv i64 undef, 2273  %7 = srem i64 undef, 2274  %8 = urem i64 undef, 2275  ret void276}277 278define void @f16() {279; CHECK-NEON-LABEL: 'f16'280; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv half undef, undef281; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem half undef, undef282; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv half undef, 0xH4000283; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem half undef, 0xH4000284; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void285;286; CHECK-MVE-LABEL: 'f16'287; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef288; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = frem half undef, undef289; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000290; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000291; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void292;293; CHECK-V8M-MAIN-LABEL: 'f16'294; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef295; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %2 = frem half undef, undef296; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000297; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000298; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void299;300; CHECK-V8M-BASE-LABEL: 'f16'301; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef302; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %2 = frem half undef, undef303; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000304; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000305; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void306;307; CHECK-V8R-LABEL: 'f16'308; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv half undef, undef309; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem half undef, undef310; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv half undef, 0xH4000311; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem half undef, 0xH4000312; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void313;314  %1 = fdiv half undef, undef315  %2 = frem half undef, undef316  %3 = fdiv half undef, 2.317  %4 = frem half undef, 2.318  ret void319}320 321define void @f32() {322; CHECK-NEON-LABEL: 'f32'323; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv float undef, undef324; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem float undef, undef325; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv float undef, 2.000000e+00326; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem float undef, 2.000000e+00327; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void328;329; CHECK-MVE-LABEL: 'f32'330; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef331; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = frem float undef, undef332; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00333; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00334; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void335;336; CHECK-V8M-MAIN-LABEL: 'f32'337; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef338; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %2 = frem float undef, undef339; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00340; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00341; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void342;343; CHECK-V8M-BASE-LABEL: 'f32'344; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef345; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %2 = frem float undef, undef346; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00347; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00348; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void349;350; CHECK-V8R-LABEL: 'f32'351; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv float undef, undef352; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem float undef, undef353; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv float undef, 2.000000e+00354; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem float undef, 2.000000e+00355; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void356;357  %1 = fdiv float undef, undef358  %2 = frem float undef, undef359  %3 = fdiv float undef, 2.360  %4 = frem float undef, 2.361  ret void362}363 364define void @f64() {365; CHECK-NEON-LABEL: 'f64'366; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv double undef, undef367; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem double undef, undef368; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv double undef, 2.000000e+00369; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem double undef, 2.000000e+00370; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void371;372; CHECK-MVE-LABEL: 'f64'373; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %1 = fdiv double undef, undef374; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %2 = frem double undef, undef375; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %3 = fdiv double undef, 2.000000e+00376; CHECK-MVE-NEXT:  Cost Model: Found costs of 1 for: %4 = frem double undef, 2.000000e+00377; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void378;379; CHECK-V8M-MAIN-LABEL: 'f64'380; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv double undef, undef381; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = frem double undef, undef382; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %3 = fdiv double undef, 2.000000e+00383; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %4 = frem double undef, 2.000000e+00384; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void385;386; CHECK-V8M-BASE-LABEL: 'f64'387; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv double undef, undef388; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = frem double undef, undef389; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %3 = fdiv double undef, 2.000000e+00390; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %4 = frem double undef, 2.000000e+00391; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void392;393; CHECK-V8R-LABEL: 'f64'394; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv double undef, undef395; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem double undef, undef396; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv double undef, 2.000000e+00397; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem double undef, 2.000000e+00398; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void399;400  %1 = fdiv double undef, undef401  %2 = frem double undef, undef402  %3 = fdiv double undef, 2.403  %4 = frem double undef, 2.404  ret void405}406 407define void @vi8() {408; CHECK-NEON-LABEL: 'vi8'409; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, undef410; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, undef411; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, undef412; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, undef413; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, undef414; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, undef415; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, undef416; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, undef417; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, undef418; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, undef419; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, undef420; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, undef421; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, undef422; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, undef423; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, undef424; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, undef425; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void426;427; CHECK-MVE-LABEL: 'vi8'428; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i8> undef, undef429; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i8> undef, undef430; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i8> undef, undef431; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i8> undef, undef432; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i8> undef, undef433; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i8> undef, undef434; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i8> undef, undef435; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i8> undef, undef436; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i8> undef, undef437; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i8> undef, undef438; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i8> undef, undef439; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i8> undef, undef440; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i8> undef, undef441; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i8> undef, undef442; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i8> undef, undef443; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i8> undef, undef444; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void445;446; CHECK-V8M-MAIN-LABEL: 'vi8'447; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, undef448; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, undef449; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, undef450; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, undef451; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, undef452; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, undef453; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, undef454; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, undef455; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, undef456; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, undef457; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, undef458; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, undef459; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, undef460; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, undef461; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, undef462; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, undef463; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void464;465; CHECK-V8M-BASE-LABEL: 'vi8'466; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, undef467; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, undef468; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, undef469; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, undef470; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, undef471; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, undef472; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, undef473; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, undef474; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, undef475; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, undef476; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, undef477; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, undef478; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, undef479; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, undef480; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, undef481; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, undef482; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void483;484; CHECK-V8R-LABEL: 'vi8'485; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, undef486; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, undef487; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, undef488; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, undef489; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, undef490; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, undef491; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, undef492; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, undef493; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, undef494; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, undef495; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, undef496; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, undef497; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, undef498; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, undef499; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, undef500; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, undef501; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void502;503  %t1 = sdiv <2 x i8> undef, undef504  %t2 = udiv <2 x i8> undef, undef505  %t3 = srem <2 x i8> undef, undef506  %t4 = urem <2 x i8> undef, undef507  %f1 = sdiv <4 x i8> undef, undef508  %f2 = udiv <4 x i8> undef, undef509  %f3 = srem <4 x i8> undef, undef510  %f4 = urem <4 x i8> undef, undef511  %e1 = sdiv <8 x i8> undef, undef512  %e2 = udiv <8 x i8> undef, undef513  %e3 = srem <8 x i8> undef, undef514  %e4 = urem <8 x i8> undef, undef515  %s1 = sdiv <16 x i8> undef, undef516  %s2 = udiv <16 x i8> undef, undef517  %s3 = srem <16 x i8> undef, undef518  %s4 = urem <16 x i8> undef, undef519  ret void520}521 522define void @vi16() {523; CHECK-NEON-LABEL: 'vi16'524; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, undef525; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, undef526; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, undef527; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, undef528; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, undef529; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, undef530; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, undef531; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, undef532; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, undef533; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, undef534; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, undef535; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, undef536; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, undef537; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, undef538; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, undef539; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, undef540; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void541;542; CHECK-MVE-LABEL: 'vi16'543; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i16> undef, undef544; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i16> undef, undef545; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i16> undef, undef546; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i16> undef, undef547; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i16> undef, undef548; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i16> undef, undef549; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i16> undef, undef550; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i16> undef, undef551; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i16> undef, undef552; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i16> undef, undef553; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i16> undef, undef554; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i16> undef, undef555; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i16> undef, undef556; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i16> undef, undef557; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i16> undef, undef558; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i16> undef, undef559; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void560;561; CHECK-V8M-MAIN-LABEL: 'vi16'562; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, undef563; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, undef564; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, undef565; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, undef566; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, undef567; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, undef568; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, undef569; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, undef570; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, undef571; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, undef572; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, undef573; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, undef574; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, undef575; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, undef576; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, undef577; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, undef578; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void579;580; CHECK-V8M-BASE-LABEL: 'vi16'581; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, undef582; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, undef583; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, undef584; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, undef585; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, undef586; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, undef587; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, undef588; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, undef589; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, undef590; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, undef591; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, undef592; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, undef593; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, undef594; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, undef595; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, undef596; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, undef597; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void598;599; CHECK-V8R-LABEL: 'vi16'600; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, undef601; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, undef602; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, undef603; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, undef604; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, undef605; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, undef606; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, undef607; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, undef608; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, undef609; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, undef610; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, undef611; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, undef612; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, undef613; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, undef614; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, undef615; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, undef616; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void617;618  %t1 = sdiv <2 x i16> undef, undef619  %t2 = udiv <2 x i16> undef, undef620  %t3 = srem <2 x i16> undef, undef621  %t4 = urem <2 x i16> undef, undef622  %f1 = sdiv <4 x i16> undef, undef623  %f2 = udiv <4 x i16> undef, undef624  %f3 = srem <4 x i16> undef, undef625  %f4 = urem <4 x i16> undef, undef626  %e1 = sdiv <8 x i16> undef, undef627  %e2 = udiv <8 x i16> undef, undef628  %e3 = srem <8 x i16> undef, undef629  %e4 = urem <8 x i16> undef, undef630  %s1 = sdiv <16 x i16> undef, undef631  %s2 = udiv <16 x i16> undef, undef632  %s3 = srem <16 x i16> undef, undef633  %s4 = urem <16 x i16> undef, undef634  ret void635}636 637define void @vi32() {638; CHECK-NEON-LABEL: 'vi32'639; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, undef640; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, undef641; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, undef642; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, undef643; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, undef644; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, undef645; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, undef646; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, undef647; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, undef648; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, undef649; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, undef650; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, undef651; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, undef652; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, undef653; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, undef654; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, undef655; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void656;657; CHECK-MVE-LABEL: 'vi32'658; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i32> undef, undef659; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i32> undef, undef660; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i32> undef, undef661; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i32> undef, undef662; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i32> undef, undef663; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i32> undef, undef664; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i32> undef, undef665; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i32> undef, undef666; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i32> undef, undef667; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i32> undef, undef668; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i32> undef, undef669; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i32> undef, undef670; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i32> undef, undef671; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i32> undef, undef672; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i32> undef, undef673; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i32> undef, undef674; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void675;676; CHECK-V8M-MAIN-LABEL: 'vi32'677; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, undef678; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, undef679; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, undef680; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, undef681; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, undef682; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, undef683; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, undef684; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, undef685; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, undef686; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, undef687; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, undef688; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, undef689; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, undef690; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, undef691; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, undef692; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, undef693; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void694;695; CHECK-V8M-BASE-LABEL: 'vi32'696; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, undef697; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, undef698; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, undef699; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, undef700; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, undef701; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, undef702; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, undef703; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, undef704; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, undef705; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, undef706; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, undef707; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, undef708; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, undef709; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, undef710; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, undef711; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, undef712; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void713;714; CHECK-V8R-LABEL: 'vi32'715; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, undef716; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, undef717; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, undef718; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, undef719; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, undef720; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, undef721; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, undef722; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, undef723; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, undef724; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, undef725; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, undef726; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, undef727; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, undef728; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, undef729; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, undef730; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, undef731; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void732;733  %t1 = sdiv <2 x i32> undef, undef734  %t2 = udiv <2 x i32> undef, undef735  %t3 = srem <2 x i32> undef, undef736  %t4 = urem <2 x i32> undef, undef737  %f1 = sdiv <4 x i32> undef, undef738  %f2 = udiv <4 x i32> undef, undef739  %f3 = srem <4 x i32> undef, undef740  %f4 = urem <4 x i32> undef, undef741  %e1 = sdiv <8 x i32> undef, undef742  %e2 = udiv <8 x i32> undef, undef743  %e3 = srem <8 x i32> undef, undef744  %e4 = urem <8 x i32> undef, undef745  %s1 = sdiv <16 x i32> undef, undef746  %s2 = udiv <16 x i32> undef, undef747  %s3 = srem <16 x i32> undef, undef748  %s4 = urem <16 x i32> undef, undef749  ret void750}751 752define void @vi64() {753; CHECK-NEON-LABEL: 'vi64'754; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, undef755; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, undef756; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, undef757; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, undef758; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, undef759; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, undef760; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, undef761; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, undef762; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, undef763; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, undef764; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, undef765; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, undef766; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, undef767; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, undef768; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, undef769; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, undef770; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void771;772; CHECK-MVE-LABEL: 'vi64'773; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %t1 = sdiv <2 x i64> undef, undef774; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %t2 = udiv <2 x i64> undef, undef775; CHECK-MVE-NEXT:  Cost Model: Found costs of 18 for: %t3 = srem <2 x i64> undef, undef776; CHECK-MVE-NEXT:  Cost Model: Found costs of 18 for: %t4 = urem <2 x i64> undef, undef777; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %f1 = sdiv <4 x i64> undef, undef778; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %f2 = udiv <4 x i64> undef, undef779; CHECK-MVE-NEXT:  Cost Model: Found costs of 36 for: %f3 = srem <4 x i64> undef, undef780; CHECK-MVE-NEXT:  Cost Model: Found costs of 36 for: %f4 = urem <4 x i64> undef, undef781; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %e1 = sdiv <8 x i64> undef, undef782; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %e2 = udiv <8 x i64> undef, undef783; CHECK-MVE-NEXT:  Cost Model: Found costs of 72 for: %e3 = srem <8 x i64> undef, undef784; CHECK-MVE-NEXT:  Cost Model: Found costs of 72 for: %e4 = urem <8 x i64> undef, undef785; CHECK-MVE-NEXT:  Cost Model: Found costs of 160 for: %s1 = sdiv <16 x i64> undef, undef786; CHECK-MVE-NEXT:  Cost Model: Found costs of 160 for: %s2 = udiv <16 x i64> undef, undef787; CHECK-MVE-NEXT:  Cost Model: Found costs of 144 for: %s3 = srem <16 x i64> undef, undef788; CHECK-MVE-NEXT:  Cost Model: Found costs of 144 for: %s4 = urem <16 x i64> undef, undef789; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void790;791; CHECK-V8M-MAIN-LABEL: 'vi64'792; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, undef793; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, undef794; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, undef795; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, undef796; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, undef797; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, undef798; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, undef799; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, undef800; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, undef801; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, undef802; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, undef803; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, undef804; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, undef805; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, undef806; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, undef807; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, undef808; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void809;810; CHECK-V8M-BASE-LABEL: 'vi64'811; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, undef812; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, undef813; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, undef814; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, undef815; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, undef816; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, undef817; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, undef818; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, undef819; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, undef820; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, undef821; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, undef822; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, undef823; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, undef824; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, undef825; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, undef826; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, undef827; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void828;829; CHECK-V8R-LABEL: 'vi64'830; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, undef831; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, undef832; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, undef833; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, undef834; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, undef835; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, undef836; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, undef837; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, undef838; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, undef839; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, undef840; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, undef841; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, undef842; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, undef843; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, undef844; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, undef845; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, undef846; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void847;848  %t1 = sdiv <2 x i64> undef, undef849  %t2 = udiv <2 x i64> undef, undef850  %t3 = srem <2 x i64> undef, undef851  %t4 = urem <2 x i64> undef, undef852  %f1 = sdiv <4 x i64> undef, undef853  %f2 = udiv <4 x i64> undef, undef854  %f3 = srem <4 x i64> undef, undef855  %f4 = urem <4 x i64> undef, undef856  %e1 = sdiv <8 x i64> undef, undef857  %e2 = udiv <8 x i64> undef, undef858  %e3 = srem <8 x i64> undef, undef859  %e4 = urem <8 x i64> undef, undef860  %s1 = sdiv <16 x i64> undef, undef861  %s2 = udiv <16 x i64> undef, undef862  %s3 = srem <16 x i64> undef, undef863  %s4 = urem <16 x i64> undef, undef864  ret void865}866 867define void @vf16() {868; CHECK-NEON-LABEL: 'vf16'869; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef870; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, undef871; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, undef872; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, undef873; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, undef874; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, undef875; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void876;877; CHECK-MVE-LABEL: 'vf16'878; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef879; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x half> undef, undef880; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x half> undef, undef881; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x half> undef, undef882; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x half> undef, undef883; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x half> undef, undef884; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void885;886; CHECK-V8M-MAIN-LABEL: 'vf16'887; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, undef888; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, undef889; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, undef890; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, undef891; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, undef892; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, undef893; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void894;895; CHECK-V8M-BASE-LABEL: 'vf16'896; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, undef897; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, undef898; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, undef899; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, undef900; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, undef901; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, undef902; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void903;904; CHECK-V8R-LABEL: 'vf16'905; CHECK-V8R-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef906; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, undef907; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, undef908; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, undef909; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, undef910; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, undef911; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void912;913  %1 = fdiv <2 x half> undef, undef914  %2 = frem <2 x half> undef, undef915  %3 = fdiv <4 x half> undef, undef916  %4 = frem <4 x half> undef, undef917  %5 = fdiv <8 x half> undef, undef918  %6 = frem <8 x half> undef, undef919  ret void920}921 922define void @vf32() {923; CHECK-NEON-LABEL: 'vf32'924; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, undef925; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, undef926; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, undef927; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, undef928; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, undef929; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, undef930; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void931;932; CHECK-MVE-LABEL: 'vf32'933; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x float> undef, undef934; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x float> undef, undef935; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x float> undef, undef936; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x float> undef, undef937; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x float> undef, undef938; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x float> undef, undef939; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void940;941; CHECK-V8M-MAIN-LABEL: 'vf32'942; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, undef943; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, undef944; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, undef945; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, undef946; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, undef947; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, undef948; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void949;950; CHECK-V8M-BASE-LABEL: 'vf32'951; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, undef952; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, undef953; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, undef954; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, undef955; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, undef956; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, undef957; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void958;959; CHECK-V8R-LABEL: 'vf32'960; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, undef961; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, undef962; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, undef963; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, undef964; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, undef965; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, undef966; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void967;968  %1 = fdiv <2 x float> undef, undef969  %2 = frem <2 x float> undef, undef970  %3 = fdiv <4 x float> undef, undef971  %4 = frem <4 x float> undef, undef972  %5 = fdiv <8 x float> undef, undef973  %6 = frem <8 x float> undef, undef974  ret void975}976 977define void @vf64() {978; CHECK-NEON-LABEL: 'vf64'979; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, undef980; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, undef981; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, undef982; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, undef983; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, undef984; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, undef985; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void986;987; CHECK-MVE-LABEL: 'vf64'988; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef989; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef990; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef991; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef992; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef993; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef994; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void995;996; CHECK-V8M-MAIN-LABEL: 'vf64'997; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef998; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef999; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef1000; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef1001; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef1002; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef1003; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1004;1005; CHECK-V8M-BASE-LABEL: 'vf64'1006; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef1007; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef1008; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef1009; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef1010; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef1011; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef1012; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1013;1014; CHECK-V8R-LABEL: 'vf64'1015; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, undef1016; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, undef1017; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, undef1018; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, undef1019; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, undef1020; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, undef1021; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1022;1023  %1 = fdiv <2 x double> undef, undef1024  %2 = frem <2 x double> undef, undef1025  %3 = fdiv <4 x double> undef, undef1026  %4 = frem <4 x double> undef, undef1027  %5 = fdiv <8 x double> undef, undef1028  %6 = frem <8 x double> undef, undef1029  ret void1030}1031 1032define void @vi8_2() {1033; CHECK-NEON-LABEL: 'vi8_2'1034; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, splat (i8 2)1035; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, splat (i8 2)1036; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, splat (i8 2)1037; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, splat (i8 2)1038; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, splat (i8 2)1039; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, splat (i8 2)1040; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, splat (i8 2)1041; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, splat (i8 2)1042; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, splat (i8 2)1043; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, splat (i8 2)1044; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, splat (i8 2)1045; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, splat (i8 2)1046; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, splat (i8 2)1047; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, splat (i8 2)1048; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, splat (i8 2)1049; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, splat (i8 2)1050; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1051;1052; CHECK-MVE-LABEL: 'vi8_2'1053; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i8> undef, splat (i8 2)1054; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i8> undef, splat (i8 2)1055; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i8> undef, splat (i8 2)1056; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i8> undef, splat (i8 2)1057; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i8> undef, splat (i8 2)1058; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i8> undef, splat (i8 2)1059; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i8> undef, splat (i8 2)1060; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i8> undef, splat (i8 2)1061; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i8> undef, splat (i8 2)1062; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i8> undef, splat (i8 2)1063; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i8> undef, splat (i8 2)1064; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i8> undef, splat (i8 2)1065; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i8> undef, splat (i8 2)1066; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i8> undef, splat (i8 2)1067; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i8> undef, splat (i8 2)1068; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i8> undef, splat (i8 2)1069; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1070;1071; CHECK-V8M-MAIN-LABEL: 'vi8_2'1072; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, splat (i8 2)1073; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, splat (i8 2)1074; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, splat (i8 2)1075; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, splat (i8 2)1076; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, splat (i8 2)1077; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, splat (i8 2)1078; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, splat (i8 2)1079; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, splat (i8 2)1080; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, splat (i8 2)1081; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, splat (i8 2)1082; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, splat (i8 2)1083; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, splat (i8 2)1084; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, splat (i8 2)1085; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, splat (i8 2)1086; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, splat (i8 2)1087; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, splat (i8 2)1088; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1089;1090; CHECK-V8M-BASE-LABEL: 'vi8_2'1091; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, splat (i8 2)1092; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, splat (i8 2)1093; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, splat (i8 2)1094; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, splat (i8 2)1095; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, splat (i8 2)1096; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, splat (i8 2)1097; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, splat (i8 2)1098; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, splat (i8 2)1099; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, splat (i8 2)1100; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, splat (i8 2)1101; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, splat (i8 2)1102; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, splat (i8 2)1103; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, splat (i8 2)1104; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, splat (i8 2)1105; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, splat (i8 2)1106; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, splat (i8 2)1107; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1108;1109; CHECK-V8R-LABEL: 'vi8_2'1110; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, splat (i8 2)1111; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, splat (i8 2)1112; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, splat (i8 2)1113; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, splat (i8 2)1114; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, splat (i8 2)1115; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, splat (i8 2)1116; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, splat (i8 2)1117; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, splat (i8 2)1118; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, splat (i8 2)1119; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, splat (i8 2)1120; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, splat (i8 2)1121; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, splat (i8 2)1122; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, splat (i8 2)1123; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, splat (i8 2)1124; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, splat (i8 2)1125; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, splat (i8 2)1126; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1127;1128  %t1 = sdiv <2 x i8> undef, <i8 2, i8 2>1129  %t2 = udiv <2 x i8> undef, <i8 2, i8 2>1130  %t3 = srem <2 x i8> undef, <i8 2, i8 2>1131  %t4 = urem <2 x i8> undef, <i8 2, i8 2>1132  %f1 = sdiv <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>1133  %f2 = udiv <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>1134  %f3 = srem <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>1135  %f4 = urem <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>1136  %e1 = sdiv <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1137  %e2 = udiv <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1138  %e3 = srem <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1139  %e4 = urem <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1140  %s1 = sdiv <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1141  %s2 = udiv <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1142  %s3 = srem <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1143  %s4 = urem <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>1144  ret void1145}1146 1147define void @vi16_2() {1148; CHECK-NEON-LABEL: 'vi16_2'1149; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, splat (i16 2)1150; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, splat (i16 2)1151; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, splat (i16 2)1152; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, splat (i16 2)1153; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, splat (i16 2)1154; CHECK-NEON-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, splat (i16 2)1155; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, splat (i16 2)1156; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, splat (i16 2)1157; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, splat (i16 2)1158; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, splat (i16 2)1159; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, splat (i16 2)1160; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, splat (i16 2)1161; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, splat (i16 2)1162; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, splat (i16 2)1163; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, splat (i16 2)1164; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, splat (i16 2)1165; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1166;1167; CHECK-MVE-LABEL: 'vi16_2'1168; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i16> undef, splat (i16 2)1169; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i16> undef, splat (i16 2)1170; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i16> undef, splat (i16 2)1171; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i16> undef, splat (i16 2)1172; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i16> undef, splat (i16 2)1173; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i16> undef, splat (i16 2)1174; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i16> undef, splat (i16 2)1175; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i16> undef, splat (i16 2)1176; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i16> undef, splat (i16 2)1177; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i16> undef, splat (i16 2)1178; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i16> undef, splat (i16 2)1179; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i16> undef, splat (i16 2)1180; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i16> undef, splat (i16 2)1181; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i16> undef, splat (i16 2)1182; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i16> undef, splat (i16 2)1183; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i16> undef, splat (i16 2)1184; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1185;1186; CHECK-V8M-MAIN-LABEL: 'vi16_2'1187; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, splat (i16 2)1188; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, splat (i16 2)1189; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, splat (i16 2)1190; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, splat (i16 2)1191; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, splat (i16 2)1192; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, splat (i16 2)1193; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, splat (i16 2)1194; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, splat (i16 2)1195; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, splat (i16 2)1196; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, splat (i16 2)1197; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, splat (i16 2)1198; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, splat (i16 2)1199; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, splat (i16 2)1200; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, splat (i16 2)1201; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, splat (i16 2)1202; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, splat (i16 2)1203; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1204;1205; CHECK-V8M-BASE-LABEL: 'vi16_2'1206; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, splat (i16 2)1207; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, splat (i16 2)1208; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, splat (i16 2)1209; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, splat (i16 2)1210; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, splat (i16 2)1211; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, splat (i16 2)1212; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, splat (i16 2)1213; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, splat (i16 2)1214; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, splat (i16 2)1215; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, splat (i16 2)1216; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, splat (i16 2)1217; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, splat (i16 2)1218; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, splat (i16 2)1219; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, splat (i16 2)1220; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, splat (i16 2)1221; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, splat (i16 2)1222; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1223;1224; CHECK-V8R-LABEL: 'vi16_2'1225; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, splat (i16 2)1226; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, splat (i16 2)1227; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, splat (i16 2)1228; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, splat (i16 2)1229; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, splat (i16 2)1230; CHECK-V8R-NEXT:  Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, splat (i16 2)1231; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, splat (i16 2)1232; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, splat (i16 2)1233; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, splat (i16 2)1234; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, splat (i16 2)1235; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, splat (i16 2)1236; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, splat (i16 2)1237; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, splat (i16 2)1238; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, splat (i16 2)1239; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, splat (i16 2)1240; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, splat (i16 2)1241; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1242;1243  %t1 = sdiv <2 x i16> undef, <i16 2, i16 2>1244  %t2 = udiv <2 x i16> undef, <i16 2, i16 2>1245  %t3 = srem <2 x i16> undef, <i16 2, i16 2>1246  %t4 = urem <2 x i16> undef, <i16 2, i16 2>1247  %f1 = sdiv <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>1248  %f2 = udiv <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>1249  %f3 = srem <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>1250  %f4 = urem <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>1251  %e1 = sdiv <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1252  %e2 = udiv <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1253  %e3 = srem <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1254  %e4 = urem <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1255  %s1 = sdiv <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1256  %s2 = udiv <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1257  %s3 = srem <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1258  %s4 = urem <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>1259  ret void1260}1261 1262define void @vi32_2() {1263; CHECK-NEON-LABEL: 'vi32_2'1264; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, splat (i32 2)1265; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, splat (i32 2)1266; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, splat (i32 2)1267; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, splat (i32 2)1268; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, splat (i32 2)1269; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, splat (i32 2)1270; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, splat (i32 2)1271; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, splat (i32 2)1272; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, splat (i32 2)1273; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, splat (i32 2)1274; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, splat (i32 2)1275; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, splat (i32 2)1276; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, splat (i32 2)1277; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, splat (i32 2)1278; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, splat (i32 2)1279; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, splat (i32 2)1280; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1281;1282; CHECK-MVE-LABEL: 'vi32_2'1283; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i32> undef, splat (i32 2)1284; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t2 = udiv <2 x i32> undef, splat (i32 2)1285; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t3 = srem <2 x i32> undef, splat (i32 2)1286; CHECK-MVE-NEXT:  Cost Model: Found costs of 10 for: %t4 = urem <2 x i32> undef, splat (i32 2)1287; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i32> undef, splat (i32 2)1288; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f2 = udiv <4 x i32> undef, splat (i32 2)1289; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f3 = srem <4 x i32> undef, splat (i32 2)1290; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %f4 = urem <4 x i32> undef, splat (i32 2)1291; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i32> undef, splat (i32 2)1292; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e2 = udiv <8 x i32> undef, splat (i32 2)1293; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e3 = srem <8 x i32> undef, splat (i32 2)1294; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %e4 = urem <8 x i32> undef, splat (i32 2)1295; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i32> undef, splat (i32 2)1296; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s2 = udiv <16 x i32> undef, splat (i32 2)1297; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s3 = srem <16 x i32> undef, splat (i32 2)1298; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %s4 = urem <16 x i32> undef, splat (i32 2)1299; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1300;1301; CHECK-V8M-MAIN-LABEL: 'vi32_2'1302; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, splat (i32 2)1303; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, splat (i32 2)1304; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, splat (i32 2)1305; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, splat (i32 2)1306; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, splat (i32 2)1307; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, splat (i32 2)1308; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, splat (i32 2)1309; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, splat (i32 2)1310; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, splat (i32 2)1311; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, splat (i32 2)1312; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, splat (i32 2)1313; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, splat (i32 2)1314; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, splat (i32 2)1315; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, splat (i32 2)1316; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, splat (i32 2)1317; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, splat (i32 2)1318; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1319;1320; CHECK-V8M-BASE-LABEL: 'vi32_2'1321; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, splat (i32 2)1322; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, splat (i32 2)1323; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, splat (i32 2)1324; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, splat (i32 2)1325; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, splat (i32 2)1326; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, splat (i32 2)1327; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, splat (i32 2)1328; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, splat (i32 2)1329; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, splat (i32 2)1330; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, splat (i32 2)1331; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, splat (i32 2)1332; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, splat (i32 2)1333; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, splat (i32 2)1334; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, splat (i32 2)1335; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, splat (i32 2)1336; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, splat (i32 2)1337; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1338;1339; CHECK-V8R-LABEL: 'vi32_2'1340; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, splat (i32 2)1341; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, splat (i32 2)1342; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, splat (i32 2)1343; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, splat (i32 2)1344; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, splat (i32 2)1345; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, splat (i32 2)1346; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, splat (i32 2)1347; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, splat (i32 2)1348; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, splat (i32 2)1349; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, splat (i32 2)1350; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, splat (i32 2)1351; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, splat (i32 2)1352; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, splat (i32 2)1353; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, splat (i32 2)1354; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, splat (i32 2)1355; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, splat (i32 2)1356; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1357;1358  %t1 = sdiv <2 x i32> undef, <i32 2, i32 2>1359  %t2 = udiv <2 x i32> undef, <i32 2, i32 2>1360  %t3 = srem <2 x i32> undef, <i32 2, i32 2>1361  %t4 = urem <2 x i32> undef, <i32 2, i32 2>1362  %f1 = sdiv <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>1363  %f2 = udiv <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>1364  %f3 = srem <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>1365  %f4 = urem <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>1366  %e1 = sdiv <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1367  %e2 = udiv <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1368  %e3 = srem <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1369  %e4 = urem <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1370  %s1 = sdiv <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1371  %s2 = udiv <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1372  %s3 = srem <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1373  %s4 = urem <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>1374  ret void1375}1376 1377define void @vi64_2() {1378; CHECK-NEON-LABEL: 'vi64_2'1379; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, splat (i64 2)1380; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, splat (i64 2)1381; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, splat (i64 2)1382; CHECK-NEON-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, splat (i64 2)1383; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, splat (i64 2)1384; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, splat (i64 2)1385; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, splat (i64 2)1386; CHECK-NEON-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, splat (i64 2)1387; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, splat (i64 2)1388; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, splat (i64 2)1389; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, splat (i64 2)1390; CHECK-NEON-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, splat (i64 2)1391; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, splat (i64 2)1392; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, splat (i64 2)1393; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, splat (i64 2)1394; CHECK-NEON-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, splat (i64 2)1395; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1396;1397; CHECK-MVE-LABEL: 'vi64_2'1398; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %t1 = sdiv <2 x i64> undef, splat (i64 2)1399; CHECK-MVE-NEXT:  Cost Model: Found costs of 20 for: %t2 = udiv <2 x i64> undef, splat (i64 2)1400; CHECK-MVE-NEXT:  Cost Model: Found costs of 18 for: %t3 = srem <2 x i64> undef, splat (i64 2)1401; CHECK-MVE-NEXT:  Cost Model: Found costs of 18 for: %t4 = urem <2 x i64> undef, splat (i64 2)1402; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %f1 = sdiv <4 x i64> undef, splat (i64 2)1403; CHECK-MVE-NEXT:  Cost Model: Found costs of 40 for: %f2 = udiv <4 x i64> undef, splat (i64 2)1404; CHECK-MVE-NEXT:  Cost Model: Found costs of 36 for: %f3 = srem <4 x i64> undef, splat (i64 2)1405; CHECK-MVE-NEXT:  Cost Model: Found costs of 36 for: %f4 = urem <4 x i64> undef, splat (i64 2)1406; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %e1 = sdiv <8 x i64> undef, splat (i64 2)1407; CHECK-MVE-NEXT:  Cost Model: Found costs of 80 for: %e2 = udiv <8 x i64> undef, splat (i64 2)1408; CHECK-MVE-NEXT:  Cost Model: Found costs of 72 for: %e3 = srem <8 x i64> undef, splat (i64 2)1409; CHECK-MVE-NEXT:  Cost Model: Found costs of 72 for: %e4 = urem <8 x i64> undef, splat (i64 2)1410; CHECK-MVE-NEXT:  Cost Model: Found costs of 160 for: %s1 = sdiv <16 x i64> undef, splat (i64 2)1411; CHECK-MVE-NEXT:  Cost Model: Found costs of 160 for: %s2 = udiv <16 x i64> undef, splat (i64 2)1412; CHECK-MVE-NEXT:  Cost Model: Found costs of 144 for: %s3 = srem <16 x i64> undef, splat (i64 2)1413; CHECK-MVE-NEXT:  Cost Model: Found costs of 144 for: %s4 = urem <16 x i64> undef, splat (i64 2)1414; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1415;1416; CHECK-V8M-MAIN-LABEL: 'vi64_2'1417; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, splat (i64 2)1418; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, splat (i64 2)1419; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, splat (i64 2)1420; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, splat (i64 2)1421; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, splat (i64 2)1422; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, splat (i64 2)1423; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, splat (i64 2)1424; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, splat (i64 2)1425; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, splat (i64 2)1426; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, splat (i64 2)1427; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, splat (i64 2)1428; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, splat (i64 2)1429; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, splat (i64 2)1430; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, splat (i64 2)1431; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, splat (i64 2)1432; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, splat (i64 2)1433; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1434;1435; CHECK-V8M-BASE-LABEL: 'vi64_2'1436; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, splat (i64 2)1437; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, splat (i64 2)1438; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, splat (i64 2)1439; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, splat (i64 2)1440; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, splat (i64 2)1441; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, splat (i64 2)1442; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, splat (i64 2)1443; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, splat (i64 2)1444; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, splat (i64 2)1445; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, splat (i64 2)1446; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, splat (i64 2)1447; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, splat (i64 2)1448; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, splat (i64 2)1449; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, splat (i64 2)1450; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, splat (i64 2)1451; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, splat (i64 2)1452; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1453;1454; CHECK-V8R-LABEL: 'vi64_2'1455; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, splat (i64 2)1456; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, splat (i64 2)1457; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, splat (i64 2)1458; CHECK-V8R-NEXT:  Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, splat (i64 2)1459; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, splat (i64 2)1460; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, splat (i64 2)1461; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, splat (i64 2)1462; CHECK-V8R-NEXT:  Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, splat (i64 2)1463; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, splat (i64 2)1464; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, splat (i64 2)1465; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, splat (i64 2)1466; CHECK-V8R-NEXT:  Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, splat (i64 2)1467; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, splat (i64 2)1468; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, splat (i64 2)1469; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, splat (i64 2)1470; CHECK-V8R-NEXT:  Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, splat (i64 2)1471; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1472;1473  %t1 = sdiv <2 x i64> undef, <i64 2, i64 2>1474  %t2 = udiv <2 x i64> undef, <i64 2, i64 2>1475  %t3 = srem <2 x i64> undef, <i64 2, i64 2>1476  %t4 = urem <2 x i64> undef, <i64 2, i64 2>1477  %f1 = sdiv <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>1478  %f2 = udiv <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>1479  %f3 = srem <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>1480  %f4 = urem <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>1481  %e1 = sdiv <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1482  %e2 = udiv <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1483  %e3 = srem <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1484  %e4 = urem <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1485  %s1 = sdiv <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1486  %s2 = udiv <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1487  %s3 = srem <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1488  %s4 = urem <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>1489  ret void1490}1491 1492define void @vf16_2() {1493; CHECK-NEON-LABEL: 'vf16_2'1494; CHECK-NEON-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000)1495; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, splat (half 0xH4000)1496; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000)1497; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, splat (half 0xH4000)1498; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000)1499; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, splat (half 0xH4000)1500; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1501;1502; CHECK-MVE-LABEL: 'vf16_2'1503; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000)1504; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x half> undef, splat (half 0xH4000)1505; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000)1506; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x half> undef, splat (half 0xH4000)1507; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000)1508; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x half> undef, splat (half 0xH4000)1509; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1510;1511; CHECK-V8M-MAIN-LABEL: 'vf16_2'1512; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000)1513; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, splat (half 0xH4000)1514; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000)1515; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, splat (half 0xH4000)1516; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000)1517; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, splat (half 0xH4000)1518; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1519;1520; CHECK-V8M-BASE-LABEL: 'vf16_2'1521; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000)1522; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, splat (half 0xH4000)1523; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000)1524; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, splat (half 0xH4000)1525; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000)1526; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, splat (half 0xH4000)1527; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1528;1529; CHECK-V8R-LABEL: 'vf16_2'1530; CHECK-V8R-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000)1531; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, splat (half 0xH4000)1532; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000)1533; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, splat (half 0xH4000)1534; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000)1535; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, splat (half 0xH4000)1536; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1537;1538  %1 = fdiv <2 x half> undef, <half 2., half 2.>1539  %2 = frem <2 x half> undef, <half 2., half 2.>1540  %3 = fdiv <4 x half> undef, <half 2., half 2., half 2., half 2.>1541  %4 = frem <4 x half> undef, <half 2., half 2., half 2., half 2.>1542  %5 = fdiv <8 x half> undef, <half 2., half 2., half 2., half 2., half 2., half 2., half 2., half 2.>1543  %6 = frem <8 x half> undef, <half 2., half 2., half 2., half 2., half 2., half 2., half 2., half 2.>1544  ret void1545}1546 1547define void @vf32_2() {1548; CHECK-NEON-LABEL: 'vf32_2'1549; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00)1550; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00)1551; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00)1552; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00)1553; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00)1554; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00)1555; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1556;1557; CHECK-MVE-LABEL: 'vf32_2'1558; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00)1559; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00)1560; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00)1561; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00)1562; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00)1563; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00)1564; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1565;1566; CHECK-V8M-MAIN-LABEL: 'vf32_2'1567; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00)1568; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00)1569; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00)1570; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00)1571; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00)1572; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00)1573; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1574;1575; CHECK-V8M-BASE-LABEL: 'vf32_2'1576; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00)1577; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00)1578; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00)1579; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00)1580; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00)1581; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00)1582; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1583;1584; CHECK-V8R-LABEL: 'vf32_2'1585; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00)1586; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00)1587; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00)1588; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00)1589; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00)1590; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00)1591; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1592;1593  %1 = fdiv <2 x float> undef, <float 2., float 2.>1594  %2 = frem <2 x float> undef, <float 2., float 2.>1595  %3 = fdiv <4 x float> undef, <float 2., float 2., float 2., float 2.>1596  %4 = frem <4 x float> undef, <float 2., float 2., float 2., float 2.>1597  %5 = fdiv <8 x float> undef, <float 2., float 2., float 2., float 2., float 2., float 2., float 2., float 2.>1598  %6 = frem <8 x float> undef, <float 2., float 2., float 2., float 2., float 2., float 2., float 2., float 2.>1599  ret void1600}1601 1602define void @vf64_2() {1603; CHECK-NEON-LABEL: 'vf64_2'1604; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00)1605; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00)1606; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00)1607; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00)1608; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00)1609; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00)1610; CHECK-NEON-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1611;1612; CHECK-MVE-LABEL: 'vf64_2'1613; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00)1614; CHECK-MVE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00)1615; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00)1616; CHECK-MVE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00)1617; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00)1618; CHECK-MVE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00)1619; CHECK-MVE-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1620;1621; CHECK-V8M-MAIN-LABEL: 'vf64_2'1622; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00)1623; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00)1624; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00)1625; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00)1626; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00)1627; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00)1628; CHECK-V8M-MAIN-NEXT:  Cost Model: Found costs of 1 for: ret void1629;1630; CHECK-V8M-BASE-LABEL: 'vf64_2'1631; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00)1632; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00)1633; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00)1634; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00)1635; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00)1636; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00)1637; CHECK-V8M-BASE-NEXT:  Cost Model: Found costs of 1 for: ret void1638;1639; CHECK-V8R-LABEL: 'vf64_2'1640; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00)1641; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00)1642; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00)1643; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00)1644; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00)1645; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00)1646; CHECK-V8R-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1647;1648  %1 = fdiv <2 x double> undef, <double 2., double 2.>1649  %2 = frem <2 x double> undef, <double 2., double 2.>1650  %3 = fdiv <4 x double> undef, <double 2., double 2., double 2., double 2.>1651  %4 = frem <4 x double> undef, <double 2., double 2., double 2., double 2.>1652  %5 = fdiv <8 x double> undef, <double 2., double 2., double 2., double 2., double 2., double 2., double 2., double 2.>1653  %6 = frem <8 x double> undef, <double 2., double 2., double 2., double 2., double 2., double 2., double 2., double 2.>1654  ret void1655}1656 1657