1657 lines
123 KiB
LLVM
1657 lines
123 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 < %s | FileCheck %s --check-prefix=CHECK-NEON
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8.1m.main-none-eabi -mattr=+mve.fp < %s | FileCheck %s --check-prefix=CHECK-MVE
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.main-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-MAIN
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.base-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-BASE
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=armv8r-none-eabi -mattr=+neon,+fp-armv8 < %s | FileCheck %s --check-prefix=CHECK-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, <i8 2, i8 2>
|
|
%t2 = udiv <2 x i8> undef, <i8 2, i8 2>
|
|
%t3 = srem <2 x i8> undef, <i8 2, i8 2>
|
|
%t4 = urem <2 x i8> undef, <i8 2, i8 2>
|
|
%f1 = sdiv <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>
|
|
%f2 = udiv <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>
|
|
%f3 = srem <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>
|
|
%f4 = urem <4 x i8> undef, <i8 2, i8 2, i8 2, i8 2>
|
|
%e1 = sdiv <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%e2 = udiv <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%e3 = srem <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%e4 = urem <8 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%s1 = sdiv <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%s2 = udiv <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%s3 = srem <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
%s4 = urem <16 x i8> undef, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
|
|
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, <i16 2, i16 2>
|
|
%t2 = udiv <2 x i16> undef, <i16 2, i16 2>
|
|
%t3 = srem <2 x i16> undef, <i16 2, i16 2>
|
|
%t4 = urem <2 x i16> undef, <i16 2, i16 2>
|
|
%f1 = sdiv <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>
|
|
%f2 = udiv <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>
|
|
%f3 = srem <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>
|
|
%f4 = urem <4 x i16> undef, <i16 2, i16 2, i16 2, i16 2>
|
|
%e1 = sdiv <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%e2 = udiv <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%e3 = srem <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%e4 = urem <8 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%s1 = sdiv <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%s2 = udiv <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%s3 = srem <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
%s4 = urem <16 x i16> undef, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
|
|
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, <i32 2, i32 2>
|
|
%t2 = udiv <2 x i32> undef, <i32 2, i32 2>
|
|
%t3 = srem <2 x i32> undef, <i32 2, i32 2>
|
|
%t4 = urem <2 x i32> undef, <i32 2, i32 2>
|
|
%f1 = sdiv <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>
|
|
%f2 = udiv <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>
|
|
%f3 = srem <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>
|
|
%f4 = urem <4 x i32> undef, <i32 2, i32 2, i32 2, i32 2>
|
|
%e1 = sdiv <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%e2 = udiv <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%e3 = srem <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%e4 = urem <8 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%s1 = sdiv <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%s2 = udiv <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%s3 = srem <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
%s4 = urem <16 x i32> undef, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
|
|
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, <i64 2, i64 2>
|
|
%t2 = udiv <2 x i64> undef, <i64 2, i64 2>
|
|
%t3 = srem <2 x i64> undef, <i64 2, i64 2>
|
|
%t4 = urem <2 x i64> undef, <i64 2, i64 2>
|
|
%f1 = sdiv <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>
|
|
%f2 = udiv <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>
|
|
%f3 = srem <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>
|
|
%f4 = urem <4 x i64> undef, <i64 2, i64 2, i64 2, i64 2>
|
|
%e1 = sdiv <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%e2 = udiv <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%e3 = srem <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%e4 = urem <8 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%s1 = sdiv <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%s2 = udiv <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%s3 = srem <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
%s4 = urem <16 x i64> undef, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
|
|
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, <half 2., half 2.>
|
|
%2 = frem <2 x half> undef, <half 2., half 2.>
|
|
%3 = fdiv <4 x half> undef, <half 2., half 2., half 2., half 2.>
|
|
%4 = frem <4 x half> undef, <half 2., half 2., half 2., half 2.>
|
|
%5 = fdiv <8 x half> undef, <half 2., half 2., half 2., half 2., half 2., half 2., half 2., half 2.>
|
|
%6 = frem <8 x half> undef, <half 2., half 2., half 2., half 2., half 2., half 2., half 2., half 2.>
|
|
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, <float 2., float 2.>
|
|
%2 = frem <2 x float> undef, <float 2., float 2.>
|
|
%3 = fdiv <4 x float> undef, <float 2., float 2., float 2., float 2.>
|
|
%4 = frem <4 x float> undef, <float 2., float 2., float 2., float 2.>
|
|
%5 = fdiv <8 x float> undef, <float 2., float 2., float 2., float 2., float 2., float 2., float 2., float 2.>
|
|
%6 = frem <8 x float> undef, <float 2., float 2., float 2., float 2., float 2., float 2., float 2., float 2.>
|
|
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, <double 2., double 2.>
|
|
%2 = frem <2 x double> undef, <double 2., double 2.>
|
|
%3 = fdiv <4 x double> undef, <double 2., double 2., double 2., double 2.>
|
|
%4 = frem <4 x double> undef, <double 2., double 2., double 2., double 2.>
|
|
%5 = fdiv <8 x double> undef, <double 2., double 2., double 2., double 2., double 2., double 2., double 2., double 2.>
|
|
%6 = frem <8 x double> undef, <double 2., double 2., double 2., double 2., double 2., double 2., double 2., double 2.>
|
|
ret void
|
|
}
|
|
|