CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
1146 lines
133 KiB
LLVM
1146 lines
133 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
|
|
; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx1010 < %s | FileCheck -check-prefixes=FAST %s
|
|
; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=FAST %s
|
|
; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=FAST %s
|
|
; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa < %s | FileCheck -check-prefixes=SLOW %s
|
|
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx1010 < %s | FileCheck -check-prefixes=ALL-SIZE %s
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=ALL-SIZE %s
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=ALL-SIZE %s
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE %s
|
|
; END.
|
|
|
|
define i32 @srem() {
|
|
; FAST-LABEL: 'srem'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, poison
|
|
%V2i64 = srem <2 x i64> poison, poison
|
|
%V4i64 = srem <4 x i64> poison, poison
|
|
%V8i64 = srem <8 x i64> poison, poison
|
|
|
|
%I32 = srem i32 poison, poison
|
|
%V4i32 = srem <4 x i32> poison, poison
|
|
%V8i32 = srem <8 x i32> poison, poison
|
|
%V16i32 = srem <16 x i32> poison, poison
|
|
|
|
%I16 = srem i16 poison, poison
|
|
%V8i16 = srem <8 x i16> poison, poison
|
|
%V16i16 = srem <16 x i16> poison, poison
|
|
%V32i16 = srem <32 x i16> poison, poison
|
|
|
|
%I8 = srem i8 poison, poison
|
|
%V16i8 = srem <16 x i8> poison, poison
|
|
%V32i8 = srem <32 x i8> poison, poison
|
|
%V64i8 = srem <64 x i8> poison, poison
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem() {
|
|
; FAST-LABEL: 'urem'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, poison
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, poison
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, poison
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, poison
|
|
%V2i64 = urem <2 x i64> poison, poison
|
|
%V4i64 = urem <4 x i64> poison, poison
|
|
%V8i64 = urem <8 x i64> poison, poison
|
|
|
|
%I32 = urem i32 poison, poison
|
|
%V4i32 = urem <4 x i32> poison, poison
|
|
%V8i32 = urem <8 x i32> poison, poison
|
|
%V16i32 = urem <16 x i32> poison, poison
|
|
|
|
%I16 = urem i16 poison, poison
|
|
%V8i16 = urem <8 x i16> poison, poison
|
|
%V16i16 = urem <16 x i16> poison, poison
|
|
%V32i16 = urem <32 x i16> poison, poison
|
|
|
|
%I8 = urem i8 poison, poison
|
|
%V16i8 = urem <16 x i8> poison, poison
|
|
%V32i8 = urem <32 x i8> poison, poison
|
|
%V64i8 = urem <64 x i8> poison, poison
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_const() {
|
|
; FAST-LABEL: 'srem_const'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 6, i64 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_const'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 6, i64 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_const'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, <i64 6, i64 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, 7
|
|
%V2i64 = srem <2 x i64> poison, <i64 6, i64 7>
|
|
%V4i64 = srem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
%V8i64 = srem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
|
|
%I32 = srem i32 poison, 7
|
|
%V4i32 = srem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
%V8i32 = srem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
%V16i32 = srem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
|
|
%I16 = srem i16 poison, 7
|
|
%V8i16 = srem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
%V16i16 = srem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
%V32i16 = srem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
|
|
%I8 = srem i8 poison, 7
|
|
%V16i8 = srem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
%V32i8 = srem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
%V64i8 = srem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_const() {
|
|
; FAST-LABEL: 'urem_const'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 6, i64 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_const'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 6, i64 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_const'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, <i64 6, i64 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, 7
|
|
%V2i64 = urem <2 x i64> poison, <i64 6, i64 7>
|
|
%V4i64 = urem <4 x i64> poison, <i64 4, i64 5, i64 6, i64 7>
|
|
%V8i64 = urem <8 x i64> poison, <i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11>
|
|
|
|
%I32 = urem i32 poison, 7
|
|
%V4i32 = urem <4 x i32> poison, <i32 4, i32 5, i32 6, i32 7>
|
|
%V8i32 = urem <8 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11>
|
|
%V16i32 = urem <16 x i32> poison, <i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19>
|
|
|
|
%I16 = urem i16 poison, 7
|
|
%V8i16 = urem <8 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11>
|
|
%V16i16 = urem <16 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
%V32i16 = urem <32 x i16> poison, <i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19>
|
|
|
|
%I8 = urem i8 poison, 7
|
|
%V16i8 = urem <16 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
%V32i8 = urem <32 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
%V64i8 = urem <64 x i8> poison, <i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_uniformconst() {
|
|
; FAST-LABEL: 'srem_uniformconst'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_uniformconst'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_uniformconst'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, 7
|
|
%V2i64 = srem <2 x i64> poison, <i64 7, i64 7>
|
|
%V4i64 = srem <4 x i64> poison, <i64 7, i64 7, i64 7, i64 7>
|
|
%V8i64 = srem <8 x i64> poison, <i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7>
|
|
|
|
%I32 = srem i32 poison, 7
|
|
%V4i32 = srem <4 x i32> poison, <i32 7, i32 7, i32 7, i32 7>
|
|
%V8i32 = srem <8 x i32> poison, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
|
|
%V16i32 = srem <16 x i32> poison, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
|
|
|
|
%I16 = srem i16 poison, 7
|
|
%V8i16 = srem <8 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
%V16i16 = srem <16 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
%V32i16 = srem <32 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
|
|
%I8 = srem i8 poison, 7
|
|
%V16i8 = srem <16 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
%V32i8 = srem <32 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
%V64i8 = srem <64 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_uniformconst() {
|
|
; FAST-LABEL: 'urem_uniformconst'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, 7
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 7)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_uniformconst'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, 7
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 7)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_uniformconst'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, 7
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 7)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, 7
|
|
%V2i64 = urem <2 x i64> poison, <i64 7, i64 7>
|
|
%V4i64 = urem <4 x i64> poison, <i64 7, i64 7, i64 7, i64 7>
|
|
%V8i64 = urem <8 x i64> poison, <i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7>
|
|
|
|
%I32 = urem i32 poison, 7
|
|
%V4i32 = urem <4 x i32> poison, <i32 7, i32 7, i32 7, i32 7>
|
|
%V8i32 = urem <8 x i32> poison, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
|
|
%V16i32 = urem <16 x i32> poison, <i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
|
|
|
|
%I16 = urem i16 poison, 7
|
|
%V8i16 = urem <8 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
%V16i16 = urem <16 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
%V32i16 = urem <32 x i16> poison, <i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7, i16 7>
|
|
|
|
%I8 = urem i8 poison, 7
|
|
%V16i8 = urem <16 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
%V32i8 = urem <32 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
%V64i8 = urem <64 x i8> poison, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_constpow2() {
|
|
; FAST-LABEL: 'srem_constpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 8, i64 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_constpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 8, i64 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_constpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, <i64 8, i64 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, 16
|
|
%V2i64 = srem <2 x i64> poison, <i64 8, i64 16>
|
|
%V4i64 = srem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
%V8i64 = srem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
|
|
%I32 = srem i32 poison, 16
|
|
%V4i32 = srem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
%V8i32 = srem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
%V16i32 = srem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
|
|
%I16 = srem i16 poison, 16
|
|
%V8i16 = srem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
%V16i16 = srem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
%V32i16 = srem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
|
|
%I8 = srem i8 poison, 16
|
|
%V16i8 = srem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
%V32i8 = srem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
%V64i8 = srem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_constpow2() {
|
|
; FAST-LABEL: 'urem_constpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 8, i64 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_constpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 8, i64 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_constpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, <i64 8, i64 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, 16
|
|
%V2i64 = urem <2 x i64> poison, <i64 8, i64 16>
|
|
%V4i64 = urem <4 x i64> poison, <i64 2, i64 4, i64 8, i64 16>
|
|
%V8i64 = urem <8 x i64> poison, <i64 2, i64 4, i64 8, i64 16, i64 32, i64 64, i64 128, i64 256>
|
|
|
|
%I32 = urem i32 poison, 16
|
|
%V4i32 = urem <4 x i32> poison, <i32 2, i32 4, i32 8, i32 16>
|
|
%V8i32 = urem <8 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
%V16i32 = urem <16 x i32> poison, <i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 256>
|
|
|
|
%I16 = urem i16 poison, 16
|
|
%V8i16 = urem <8 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
%V16i16 = urem <16 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
%V32i16 = urem <32 x i16> poison, <i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256, i16 2, i16 4, i16 8, i16 16, i16 32, i16 64, i16 128, i16 256>
|
|
|
|
%I8 = urem i8 poison, 16
|
|
%V16i8 = urem <16 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
%V32i8 = urem <32 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
%V64i8 = urem <64 x i8> poison, <i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16, i8 2, i8 4, i8 8, i8 16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_uniformconstpow2() {
|
|
; FAST-LABEL: 'srem_uniformconstpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_uniformconstpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_uniformconstpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, 16
|
|
%V2i64 = srem <2 x i64> poison, <i64 16, i64 16>
|
|
%V4i64 = srem <4 x i64> poison, <i64 16, i64 16, i64 16, i64 16>
|
|
%V8i64 = srem <8 x i64> poison, <i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16>
|
|
|
|
%I32 = srem i32 poison, 16
|
|
%V4i32 = srem <4 x i32> poison, <i32 16, i32 16, i32 16, i32 16>
|
|
%V8i32 = srem <8 x i32> poison, <i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16>
|
|
%V16i32 = srem <16 x i32> poison, <i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16>
|
|
|
|
%I16 = srem i16 poison, 16
|
|
%V8i16 = srem <8 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
%V16i16 = srem <16 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
%V32i16 = srem <32 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
|
|
%I8 = srem i8 poison, 16
|
|
%V16i8 = srem <16 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
%V32i8 = srem <32 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
%V64i8 = srem <64 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_uniformconstpow2() {
|
|
; FAST-LABEL: 'urem_uniformconstpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, 16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_uniformconstpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, 16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_uniformconstpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, 16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, 16
|
|
%V2i64 = urem <2 x i64> poison, <i64 16, i64 16>
|
|
%V4i64 = urem <4 x i64> poison, <i64 16, i64 16, i64 16, i64 16>
|
|
%V8i64 = urem <8 x i64> poison, <i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16>
|
|
|
|
%I32 = urem i32 poison, 16
|
|
%V4i32 = urem <4 x i32> poison, <i32 16, i32 16, i32 16, i32 16>
|
|
%V8i32 = urem <8 x i32> poison, <i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16>
|
|
%V16i32 = urem <16 x i32> poison, <i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16, i32 16>
|
|
|
|
%I16 = urem i16 poison, 16
|
|
%V8i16 = urem <8 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
%V16i16 = urem <16 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
%V32i16 = urem <32 x i16> poison, <i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16>
|
|
|
|
%I8 = urem i8 poison, 16
|
|
%V16i8 = urem <16 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
%V32i8 = urem <32 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
%V64i8 = urem <64 x i8> poison, <i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16, i8 16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_constnegpow2() {
|
|
; FAST-LABEL: 'srem_constnegpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_constnegpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_constnegpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, -16
|
|
%V2i64 = srem <2 x i64> poison, <i64 -8, i64 -16>
|
|
%V4i64 = srem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
%V8i64 = srem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
|
|
%I32 = srem i32 poison, -16
|
|
%V4i32 = srem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
%V8i32 = srem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
%V16i32 = srem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
|
|
%I16 = srem i16 poison, -16
|
|
%V8i16 = srem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
%V16i16 = srem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
%V32i16 = srem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
|
|
%I8 = srem i8 poison, -16
|
|
%V16i8 = srem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
%V32i8 = srem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
%V64i8 = srem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_constnegpow2() {
|
|
; FAST-LABEL: 'urem_constnegpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_constnegpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_constnegpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, <i64 -8, i64 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, -16
|
|
%V2i64 = urem <2 x i64> poison, <i64 -8, i64 -16>
|
|
%V4i64 = urem <4 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16>
|
|
%V8i64 = urem <8 x i64> poison, <i64 -2, i64 -4, i64 -8, i64 -16, i64 -32, i64 -64, i64 -128, i64 -256>
|
|
|
|
%I32 = urem i32 poison, -16
|
|
%V4i32 = urem <4 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16>
|
|
%V8i32 = urem <8 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
%V16i32 = urem <16 x i32> poison, <i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256, i32 -2, i32 -4, i32 -8, i32 -16, i32 -32, i32 -64, i32 -128, i32 -256>
|
|
|
|
%I16 = urem i16 poison, -16
|
|
%V8i16 = urem <8 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
%V16i16 = urem <16 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
%V32i16 = urem <32 x i16> poison, <i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256, i16 -2, i16 -4, i16 -8, i16 -16, i16 -32, i16 -64, i16 -128, i16 -256>
|
|
|
|
%I8 = urem i8 poison, -16
|
|
%V16i8 = urem <16 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
%V32i8 = urem <32 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
%V64i8 = urem <64 x i8> poison, <i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16, i8 -2, i8 -4, i8 -8, i8 -16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @srem_uniformconstnegpow2() {
|
|
; FAST-LABEL: 'srem_uniformconstnegpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = srem i16 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = srem i8 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'srem_uniformconstnegpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = srem i64 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = srem i32 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = srem i16 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = srem i8 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'srem_uniformconstnegpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = srem i64 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = srem <2 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = srem <4 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = srem <8 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = srem i32 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = srem <4 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = srem <8 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = srem <16 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = srem i16 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = srem <8 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = srem <16 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = srem <32 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = srem i8 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = srem <16 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = srem <32 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = srem <64 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = srem i64 poison, -16
|
|
%V2i64 = srem <2 x i64> poison, <i64 -16, i64 -16>
|
|
%V4i64 = srem <4 x i64> poison, <i64 -16, i64 -16, i64 -16, i64 -16>
|
|
%V8i64 = srem <8 x i64> poison, <i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16>
|
|
|
|
%I32 = srem i32 poison, -16
|
|
%V4i32 = srem <4 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16>
|
|
%V8i32 = srem <8 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16>
|
|
%V16i32 = srem <16 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16>
|
|
|
|
%I16 = srem i16 poison, -16
|
|
%V8i16 = srem <8 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
%V16i16 = srem <16 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
%V32i16 = srem <32 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
|
|
%I8 = srem i8 poison, -16
|
|
%V16i8 = srem <16 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
%V32i8 = srem <32 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
%V64i8 = srem <64 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
|
|
ret i32 poison
|
|
}
|
|
|
|
define i32 @urem_uniformconstnegpow2() {
|
|
; FAST-LABEL: 'urem_uniformconstnegpow2'
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I16 = urem i16 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 31 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 63 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %I8 = urem i8 poison, -16
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 -16)
|
|
; FAST-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; SLOW-LABEL: 'urem_uniformconstnegpow2'
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %I64 = urem i64 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 46 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 92 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 184 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I32 = urem i32 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 24 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 48 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 96 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I16 = urem i16 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 266 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %I8 = urem i8 poison, -16
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 120 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 240 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 490 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 -16)
|
|
; SLOW-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret i32 poison
|
|
;
|
|
; ALL-SIZE-LABEL: 'urem_uniformconstnegpow2'
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I64 = urem i64 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V2i64 = urem <2 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i64 = urem <4 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i64 = urem <8 x i64> poison, splat (i64 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I32 = urem i32 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V4i32 = urem <4 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i32 = urem <8 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i32 = urem <16 x i32> poison, splat (i32 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I16 = urem i16 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V8i16 = urem <8 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i16 = urem <16 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i16 = urem <32 x i16> poison, splat (i16 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %I8 = urem i8 poison, -16
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V16i8 = urem <16 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V32i8 = urem <32 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %V64i8 = urem <64 x i8> poison, splat (i8 -16)
|
|
; ALL-SIZE-NEXT: Cost Model: Found an estimated cost of 1 for instruction: ret i32 poison
|
|
;
|
|
%I64 = urem i64 poison, -16
|
|
%V2i64 = urem <2 x i64> poison, <i64 -16, i64 -16>
|
|
%V4i64 = urem <4 x i64> poison, <i64 -16, i64 -16, i64 -16, i64 -16>
|
|
%V8i64 = urem <8 x i64> poison, <i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16, i64 -16>
|
|
|
|
%I32 = urem i32 poison, -16
|
|
%V4i32 = urem <4 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16>
|
|
%V8i32 = urem <8 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16>
|
|
%V16i32 = urem <16 x i32> poison, <i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16, i32 -16>
|
|
|
|
%I16 = urem i16 poison, -16
|
|
%V8i16 = urem <8 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
%V16i16 = urem <16 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
%V32i16 = urem <32 x i16> poison, <i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16, i16 -16>
|
|
|
|
%I8 = urem i8 poison, -16
|
|
%V16i8 = urem <16 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
%V32i8 = urem <32 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
%V64i8 = urem <64 x i8> poison, <i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16, i8 -16>
|
|
|
|
ret i32 poison
|
|
}
|