; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 < %s | FileCheck %s --check-prefix=CHECK-NEON ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8.1m.main-none-eabi -mattr=+mve.fp < %s | FileCheck %s --check-prefix=CHECK-MVE ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.main-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-MAIN ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.base-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-BASE ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple=armv8r-none-eabi -mattr=+neon,+fp-armv8 < %s | FileCheck %s --check-prefix=CHECK-V8R target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" define void @i8() { ; CHECK-NEON-LABEL: 'i8' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i8 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i8 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i8 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i8 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i8 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i8 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i8 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i8 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'i8' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i8 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i8 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'i8' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %7 = srem i8 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %8 = urem i8 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'i8' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i8 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i8 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i8 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i8 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i8 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i8 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i8 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i8 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'i8' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i8 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i8 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i8 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i8 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i8 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i8 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i8 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i8 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = sdiv i8 undef, undef %2 = udiv i8 undef, undef %3 = srem i8 undef, undef %4 = urem i8 undef, undef %5 = sdiv i8 undef, 2 %6 = udiv i8 undef, 2 %7 = srem i8 undef, 2 %8 = urem i8 undef, 2 ret void } define void @i16() { ; CHECK-NEON-LABEL: 'i16' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i16 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i16 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i16 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i16 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i16 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i16 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i16 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i16 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'i16' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i16 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i16 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'i16' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %7 = srem i16 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %8 = urem i16 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'i16' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i16 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i16 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i16 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i16 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i16 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i16 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i16 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i16 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'i16' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i16 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i16 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i16 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i16 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i16 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i16 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i16 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i16 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = sdiv i16 undef, undef %2 = udiv i16 undef, undef %3 = srem i16 undef, undef %4 = urem i16 undef, undef %5 = sdiv i16 undef, 2 %6 = udiv i16 undef, 2 %7 = srem i16 undef, 2 %8 = urem i16 undef, 2 ret void } define void @i32() { ; CHECK-NEON-LABEL: 'i32' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i32 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i32 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i32 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i32 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i32 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i32 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i32 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i32 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'i32' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'i32' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'i32' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %1 = sdiv i32 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %2 = udiv i32 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i32 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i32 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %5 = sdiv i32 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %6 = udiv i32 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i32 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i32 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'i32' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i32 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i32 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i32 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i32 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i32 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i32 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i32 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i32 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = sdiv i32 undef, undef %2 = udiv i32 undef, undef %3 = srem i32 undef, undef %4 = urem i32 undef, undef %5 = sdiv i32 undef, 2 %6 = udiv i32 undef, 2 %7 = srem i32 undef, 2 %8 = urem i32 undef, 2 ret void } define void @i64() { ; CHECK-NEON-LABEL: 'i64' ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %1 = sdiv i64 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %2 = udiv i64 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i64 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i64 undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %5 = sdiv i64 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %6 = udiv i64 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i64 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i64 undef, 2 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'i64' ; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'i64' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'i64' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = sdiv i64 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = udiv i64 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = srem i64 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = urem i64 undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %5 = sdiv i64 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %6 = udiv i64 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %7 = srem i64 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %8 = urem i64 undef, 2 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'i64' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = sdiv i64 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = udiv i64 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %3 = srem i64 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %4 = urem i64 undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %5 = sdiv i64 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %6 = udiv i64 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %7 = srem i64 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:4 Lat:4 SizeLat:4 for: %8 = urem i64 undef, 2 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = sdiv i64 undef, undef %2 = udiv i64 undef, undef %3 = srem i64 undef, undef %4 = urem i64 undef, undef %5 = sdiv i64 undef, 2 %6 = udiv i64 undef, 2 %7 = srem i64 undef, 2 %8 = urem i64 undef, 2 ret void } define void @f16() { ; CHECK-NEON-LABEL: 'f16' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv half undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem half undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv half undef, 0xH4000 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem half undef, 0xH4000 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'f16' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = frem half undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'f16' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %2 = frem half undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'f16' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv half undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %2 = frem half undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv half undef, 0xH4000 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = frem half undef, 0xH4000 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'f16' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv half undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem half undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv half undef, 0xH4000 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem half undef, 0xH4000 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv half undef, undef %2 = frem half undef, undef %3 = fdiv half undef, 2. %4 = frem half undef, 2. ret void } define void @f32() { ; CHECK-NEON-LABEL: 'f32' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv float undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem float undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv float undef, 2.000000e+00 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem float undef, 2.000000e+00 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'f32' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = frem float undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'f32' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %2 = frem float undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'f32' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv float undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %2 = frem float undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv float undef, 2.000000e+00 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %4 = frem float undef, 2.000000e+00 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'f32' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv float undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem float undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv float undef, 2.000000e+00 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem float undef, 2.000000e+00 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv float undef, undef %2 = frem float undef, undef %3 = fdiv float undef, 2. %4 = frem float undef, 2. ret void } define void @f64() { ; CHECK-NEON-LABEL: 'f64' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv double undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem double undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv double undef, 2.000000e+00 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem double undef, 2.000000e+00 ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'f64' ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %1 = fdiv double undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %2 = frem double undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %3 = fdiv double undef, 2.000000e+00 ; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %4 = frem double undef, 2.000000e+00 ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'f64' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv double undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = frem double undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %3 = fdiv double undef, 2.000000e+00 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %4 = frem double undef, 2.000000e+00 ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'f64' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv double undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = frem double undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %3 = fdiv double undef, 2.000000e+00 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %4 = frem double undef, 2.000000e+00 ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'f64' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv double undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem double undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv double undef, 2.000000e+00 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem double undef, 2.000000e+00 ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv double undef, undef %2 = frem double undef, undef %3 = fdiv double undef, 2. %4 = frem double undef, 2. ret void } define void @vi8() { ; CHECK-NEON-LABEL: 'vi8' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi8' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i8> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi8' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi8' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi8' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i8> undef, undef %t2 = udiv <2 x i8> undef, undef %t3 = srem <2 x i8> undef, undef %t4 = urem <2 x i8> undef, undef %f1 = sdiv <4 x i8> undef, undef %f2 = udiv <4 x i8> undef, undef %f3 = srem <4 x i8> undef, undef %f4 = urem <4 x i8> undef, undef %e1 = sdiv <8 x i8> undef, undef %e2 = udiv <8 x i8> undef, undef %e3 = srem <8 x i8> undef, undef %e4 = urem <8 x i8> undef, undef %s1 = sdiv <16 x i8> undef, undef %s2 = udiv <16 x i8> undef, undef %s3 = srem <16 x i8> undef, undef %s4 = urem <16 x i8> undef, undef ret void } define void @vi16() { ; CHECK-NEON-LABEL: 'vi16' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi16' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i16> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi16' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi16' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi16' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i16> undef, undef %t2 = udiv <2 x i16> undef, undef %t3 = srem <2 x i16> undef, undef %t4 = urem <2 x i16> undef, undef %f1 = sdiv <4 x i16> undef, undef %f2 = udiv <4 x i16> undef, undef %f3 = srem <4 x i16> undef, undef %f4 = urem <4 x i16> undef, undef %e1 = sdiv <8 x i16> undef, undef %e2 = udiv <8 x i16> undef, undef %e3 = srem <8 x i16> undef, undef %e4 = urem <8 x i16> undef, undef %s1 = sdiv <16 x i16> undef, undef %s2 = udiv <16 x i16> undef, undef %s3 = srem <16 x i16> undef, undef %s4 = urem <16 x i16> undef, undef ret void } define void @vi32() { ; CHECK-NEON-LABEL: 'vi32' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi32' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i32> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi32' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi32' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi32' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i32> undef, undef %t2 = udiv <2 x i32> undef, undef %t3 = srem <2 x i32> undef, undef %t4 = urem <2 x i32> undef, undef %f1 = sdiv <4 x i32> undef, undef %f2 = udiv <4 x i32> undef, undef %f3 = srem <4 x i32> undef, undef %f4 = urem <4 x i32> undef, undef %e1 = sdiv <8 x i32> undef, undef %e2 = udiv <8 x i32> undef, undef %e3 = srem <8 x i32> undef, undef %e4 = urem <8 x i32> undef, undef %s1 = sdiv <16 x i32> undef, undef %s2 = udiv <16 x i32> undef, undef %s3 = srem <16 x i32> undef, undef %s4 = urem <16 x i32> undef, undef ret void } define void @vi64() { ; CHECK-NEON-LABEL: 'vi64' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi64' ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %t1 = sdiv <2 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %t2 = udiv <2 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 18 for: %t3 = srem <2 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 18 for: %t4 = urem <2 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %f1 = sdiv <4 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %f2 = udiv <4 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 36 for: %f3 = srem <4 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 36 for: %f4 = urem <4 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %e1 = sdiv <8 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %e2 = udiv <8 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 72 for: %e3 = srem <8 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 72 for: %e4 = urem <8 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %s1 = sdiv <16 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %s2 = udiv <16 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 144 for: %s3 = srem <16 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 144 for: %s4 = urem <16 x i64> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi64' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi64' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi64' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i64> undef, undef %t2 = udiv <2 x i64> undef, undef %t3 = srem <2 x i64> undef, undef %t4 = urem <2 x i64> undef, undef %f1 = sdiv <4 x i64> undef, undef %f2 = udiv <4 x i64> undef, undef %f3 = srem <4 x i64> undef, undef %f4 = urem <4 x i64> undef, undef %e1 = sdiv <8 x i64> undef, undef %e2 = udiv <8 x i64> undef, undef %e3 = srem <8 x i64> undef, undef %e4 = urem <8 x i64> undef, undef %s1 = sdiv <16 x i64> undef, undef %s2 = udiv <16 x i64> undef, undef %s3 = srem <16 x i64> undef, undef %s4 = urem <16 x i64> undef, undef ret void } define void @vf16() { ; CHECK-NEON-LABEL: 'vf16' ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf16' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x half> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf16' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf16' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf16' ; CHECK-V8R-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x half> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x half> undef, undef %2 = frem <2 x half> undef, undef %3 = fdiv <4 x half> undef, undef %4 = frem <4 x half> undef, undef %5 = fdiv <8 x half> undef, undef %6 = frem <8 x half> undef, undef ret void } define void @vf32() { ; CHECK-NEON-LABEL: 'vf32' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf32' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x float> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf32' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf32' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf32' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:12 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:24 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:48 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x float> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x float> undef, undef %2 = frem <2 x float> undef, undef %3 = fdiv <4 x float> undef, undef %4 = frem <4 x float> undef, undef %5 = fdiv <8 x float> undef, undef %6 = frem <8 x float> undef, undef ret void } define void @vf64() { ; CHECK-NEON-LABEL: 'vf64' ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, undef ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf64' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf64' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf64' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, undef ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf64' ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %1 = fdiv <2 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:4 SizeLat:4 for: %2 = frem <2 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %3 = fdiv <4 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:4 SizeLat:4 for: %4 = frem <4 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %5 = fdiv <8 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:32 CodeSize:4 Lat:4 SizeLat:4 for: %6 = frem <8 x double> undef, undef ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x double> undef, undef %2 = frem <2 x double> undef, undef %3 = fdiv <4 x double> undef, undef %4 = frem <4 x double> undef, undef %5 = fdiv <8 x double> undef, undef %6 = frem <8 x double> undef, undef ret void } define void @vi8_2() { ; CHECK-NEON-LABEL: 'vi8_2' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, splat (i8 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi8_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i8> undef, splat (i8 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi8_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, splat (i8 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi8_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i8> undef, splat (i8 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi8_2' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %e1 = sdiv <8 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %e2 = udiv <8 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i8> undef, splat (i8 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i8> undef, %t2 = udiv <2 x i8> undef, %t3 = srem <2 x i8> undef, %t4 = urem <2 x i8> undef, %f1 = sdiv <4 x i8> undef, %f2 = udiv <4 x i8> undef, %f3 = srem <4 x i8> undef, %f4 = urem <4 x i8> undef, %e1 = sdiv <8 x i8> undef, %e2 = udiv <8 x i8> undef, %e3 = srem <8 x i8> undef, %e4 = urem <8 x i8> undef, %s1 = sdiv <16 x i8> undef, %s2 = udiv <16 x i8> undef, %s3 = srem <16 x i8> undef, %s4 = urem <16 x i8> undef, ret void } define void @vi16_2() { ; CHECK-NEON-LABEL: 'vi16_2' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, splat (i16 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi16_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i16> undef, splat (i16 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi16_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, splat (i16 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi16_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i16> undef, splat (i16 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi16_2' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f1 = sdiv <4 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %f2 = udiv <4 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i16> undef, splat (i16 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i16> undef, %t2 = udiv <2 x i16> undef, %t3 = srem <2 x i16> undef, %t4 = urem <2 x i16> undef, %f1 = sdiv <4 x i16> undef, %f2 = udiv <4 x i16> undef, %f3 = srem <4 x i16> undef, %f4 = urem <4 x i16> undef, %e1 = sdiv <8 x i16> undef, %e2 = udiv <8 x i16> undef, %e3 = srem <8 x i16> undef, %e4 = urem <8 x i16> undef, %s1 = sdiv <16 x i16> undef, %s2 = udiv <16 x i16> undef, %s3 = srem <16 x i16> undef, %s4 = urem <16 x i16> undef, ret void } define void @vi32_2() { ; CHECK-NEON-LABEL: 'vi32_2' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, splat (i32 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi32_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t1 = sdiv <2 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t2 = udiv <2 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t3 = srem <2 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %t4 = urem <2 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f1 = sdiv <4 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f2 = udiv <4 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f3 = srem <4 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %f4 = urem <4 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e1 = sdiv <8 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e2 = udiv <8 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e3 = srem <8 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %e4 = urem <8 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s1 = sdiv <16 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s2 = udiv <16 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s3 = srem <16 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %s4 = urem <16 x i32> undef, splat (i32 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi32_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, splat (i32 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi32_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t1 = sdiv <2 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %t2 = udiv <2 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t3 = srem <2 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t4 = urem <2 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f1 = sdiv <4 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %f2 = udiv <4 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f3 = srem <4 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f4 = urem <4 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e1 = sdiv <8 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %e2 = udiv <8 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e3 = srem <8 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e4 = urem <8 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s1 = sdiv <16 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %s2 = udiv <16 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s3 = srem <16 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s4 = urem <16 x i32> undef, splat (i32 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi32_2' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i32> undef, splat (i32 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i32> undef, %t2 = udiv <2 x i32> undef, %t3 = srem <2 x i32> undef, %t4 = urem <2 x i32> undef, %f1 = sdiv <4 x i32> undef, %f2 = udiv <4 x i32> undef, %f3 = srem <4 x i32> undef, %f4 = urem <4 x i32> undef, %e1 = sdiv <8 x i32> undef, %e2 = udiv <8 x i32> undef, %e3 = srem <8 x i32> undef, %e4 = urem <8 x i32> undef, %s1 = sdiv <16 x i32> undef, %s2 = udiv <16 x i32> undef, %s3 = srem <16 x i32> undef, %s4 = urem <16 x i32> undef, ret void } define void @vi64_2() { ; CHECK-NEON-LABEL: 'vi64_2' ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, splat (i64 2) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vi64_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %t1 = sdiv <2 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %t2 = udiv <2 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 18 for: %t3 = srem <2 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 18 for: %t4 = urem <2 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %f1 = sdiv <4 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %f2 = udiv <4 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 36 for: %f3 = srem <4 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 36 for: %f4 = urem <4 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %e1 = sdiv <8 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %e2 = udiv <8 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 72 for: %e3 = srem <8 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 72 for: %e4 = urem <8 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %s1 = sdiv <16 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %s2 = udiv <16 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 144 for: %s3 = srem <16 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of 144 for: %s4 = urem <16 x i64> undef, splat (i64 2) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vi64_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, splat (i64 2) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vi64_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t1 = sdiv <2 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %t2 = udiv <2 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 6 for: %t3 = srem <2 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 6 for: %t4 = urem <2 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f1 = sdiv <4 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %f2 = udiv <4 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 12 for: %f3 = srem <4 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 12 for: %f4 = urem <4 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e1 = sdiv <8 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %e2 = udiv <8 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 24 for: %e3 = srem <8 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 24 for: %e4 = urem <8 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s1 = sdiv <16 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %s2 = udiv <16 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 48 for: %s3 = srem <16 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 48 for: %s4 = urem <16 x i64> undef, splat (i64 2) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vi64_2' ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t1 = sdiv <2 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t2 = udiv <2 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t3 = srem <2 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %t4 = urem <2 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f1 = sdiv <4 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f2 = udiv <4 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f3 = srem <4 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %f4 = urem <4 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e1 = sdiv <8 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e2 = udiv <8 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e3 = srem <8 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %e4 = urem <8 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s1 = sdiv <16 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s2 = udiv <16 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s3 = srem <16 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of 320 for: %s4 = urem <16 x i64> undef, splat (i64 2) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %t1 = sdiv <2 x i64> undef, %t2 = udiv <2 x i64> undef, %t3 = srem <2 x i64> undef, %t4 = urem <2 x i64> undef, %f1 = sdiv <4 x i64> undef, %f2 = udiv <4 x i64> undef, %f3 = srem <4 x i64> undef, %f4 = urem <4 x i64> undef, %e1 = sdiv <8 x i64> undef, %e2 = udiv <8 x i64> undef, %e3 = srem <8 x i64> undef, %e4 = urem <8 x i64> undef, %s1 = sdiv <16 x i64> undef, %s2 = udiv <16 x i64> undef, %s3 = srem <16 x i64> undef, %s4 = urem <16 x i64> undef, ret void } define void @vf16_2() { ; CHECK-NEON-LABEL: 'vf16_2' ; CHECK-NEON-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf16_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x half> undef, splat (half 0xH4000) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf16_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, splat (half 0xH4000) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf16_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x half> undef, splat (half 0xH4000) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf16_2' ; CHECK-V8R-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x half> undef, splat (half 0xH4000) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x half> undef, %2 = frem <2 x half> undef, %3 = fdiv <4 x half> undef, %4 = frem <4 x half> undef, %5 = fdiv <8 x half> undef, %6 = frem <8 x half> undef, ret void } define void @vf32_2() { ; CHECK-NEON-LABEL: 'vf32_2' ; 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) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf32_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf32_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf32_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %1 = fdiv <2 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 2 for: %2 = frem <2 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %3 = fdiv <4 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %4 = frem <4 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %5 = fdiv <8 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %6 = frem <8 x float> undef, splat (float 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf32_2' ; 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) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x float> undef, %2 = frem <2 x float> undef, %3 = fdiv <4 x float> undef, %4 = frem <4 x float> undef, %5 = fdiv <8 x float> undef, %6 = frem <8 x float> undef, ret void } define void @vf64_2() { ; CHECK-NEON-LABEL: 'vf64_2' ; 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) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-MVE-LABEL: 'vf64_2' ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00) ; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; ; CHECK-V8M-MAIN-LABEL: 'vf64_2' ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8M-BASE-LABEL: 'vf64_2' ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %1 = fdiv <2 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 4 for: %2 = frem <2 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %3 = fdiv <4 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 8 for: %4 = frem <4 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %5 = fdiv <8 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %6 = frem <8 x double> undef, splat (double 2.000000e+00) ; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret void ; ; CHECK-V8R-LABEL: 'vf64_2' ; 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) ; 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) ; 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) ; 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) ; 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) ; 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) ; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %1 = fdiv <2 x double> undef, %2 = frem <2 x double> undef, %3 = fdiv <4 x double> undef, %4 = frem <4 x double> undef, %5 = fdiv <8 x double> undef, %6 = frem <8 x double> undef, ret void }