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
1921 lines
196 KiB
LLVM
1921 lines
196 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 < %s | FileCheck %s --check-prefix=CHECK-NEON
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8.1m.main-none-eabi -mattr=+mve.fp < %s | FileCheck %s --check-prefix=CHECK-MVE
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.main-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-MAIN
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=thumbv8m.base-none-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M-BASE
|
|
; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=armv8r-none-eabi -mattr=+neon,+fp-armv8 < %s | FileCheck %s --check-prefix=CHECK-V8R
|
|
|
|
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
|
|
|
|
define i32 @load_extends() {
|
|
; CHECK-NEON-LABEL: 'load_extends'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16i8 = load <16 x i8>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i16 = load <8 x i16>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r4 = sext i8 %loadi8 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r5 = zext i8 %loadi8 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r8 = sext i16 %loadi16 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r9 = zext i16 %loadi16 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r10 = sext i32 %loadi32 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r11 = zext i32 %loadi32 to i64
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'load_extends'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16i8 = load <16 x i8>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i16 = load <8 x i16>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r4 = sext i8 %loadi8 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r5 = zext i8 %loadi8 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r8 = sext i16 %loadi16 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r9 = zext i16 %loadi16 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r10 = sext i32 %loadi32 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r11 = zext i32 %loadi32 to i64
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:10 Lat:20 SizeLat:20 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:82 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:330 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:74 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1322 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:298 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:10 Lat:20 SizeLat:20 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:82 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:330 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:74 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:66 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'load_extends'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16i8 = load <16 x i8>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i16 = load <8 x i16>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r4 = sext i8 %loadi8 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r5 = zext i8 %loadi8 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r8 = sext i16 %loadi16 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r9 = zext i16 %loadi16 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r10 = sext i32 %loadi32 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: %r11 = zext i32 %loadi32 to i64
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'load_extends'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16i8 = load <16 x i8>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i16 = load <8 x i16>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r4 = sext i8 %loadi8 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r5 = zext i8 %loadi8 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r8 = sext i16 %loadi16 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r9 = zext i16 %loadi16 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r10 = sext i32 %loadi32 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: %r11 = zext i32 %loadi32 to i64
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'load_extends'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16i8 = load <16 x i8>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i16 = load <8 x i16>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r4 = sext i8 %loadi8 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r5 = zext i8 %loadi8 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r8 = sext i16 %loadi16 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r9 = zext i16 %loadi16 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r10 = sext i32 %loadi32 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r11 = zext i32 %loadi32 to i64
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%loadi8 = load i8, ptr undef
|
|
%loadi16 = load i16, ptr undef
|
|
%loadi32 = load i32, ptr undef
|
|
%loadv2i8 = load <2 x i8>, ptr undef
|
|
%loadv4i8 = load <4 x i8>, ptr undef
|
|
%loadv8i8 = load <8 x i8>, ptr undef
|
|
%loadv16i8 = load <16 x i8>, ptr undef
|
|
%loadv2i16 = load <2 x i16>, ptr undef
|
|
%loadv4i16 = load <4 x i16>, ptr undef
|
|
%loadv8i16 = load <8 x i16>, ptr undef
|
|
%loadv2i32 = load <2 x i32>, ptr undef
|
|
%loadv4i32 = load <4 x i32>, ptr undef
|
|
|
|
%r0 = sext i8 %loadi8 to i16
|
|
%r1 = zext i8 %loadi8 to i16
|
|
%r2 = sext i8 %loadi8 to i32
|
|
%r3 = zext i8 %loadi8 to i32
|
|
%r4 = sext i8 %loadi8 to i64
|
|
%r5 = zext i8 %loadi8 to i64
|
|
%r6 = sext i16 %loadi16 to i32
|
|
%r7 = zext i16 %loadi16 to i32
|
|
%r8 = sext i16 %loadi16 to i64
|
|
%r9 = zext i16 %loadi16 to i64
|
|
%r10 = sext i32 %loadi32 to i64
|
|
%r11 = zext i32 %loadi32 to i64
|
|
|
|
%v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
%v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
%v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
%v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
%v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
%v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
%v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
%v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
%v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
%v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
%v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
%v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
%v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
%v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
%v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
%v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
%v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
%v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
%v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
%v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
%v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
%v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
%v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
%v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
|
|
%v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
%v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
%v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
%v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
%v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
%v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
%v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
%v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
%v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
%v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
%v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
%v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
|
|
%v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
%v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
%v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
%v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @store_trunc() {
|
|
; CHECK-NEON-LABEL: 'store_trunc'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i816 = trunc i16 undef to i8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i832 = trunc i32 undef to i8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i864 = trunc i64 undef to i8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i1632 = trunc i32 undef to i16
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i1664 = trunc i64 undef to i16
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %i3264 = trunc i64 undef to i32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i8 %i816, ptr undef, align 1
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i8 %i832, ptr undef, align 1
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i8 %i864, ptr undef, align 1
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i16 %i1632, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i16 %i1664, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store i32 %i3264, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2816, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2832, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2864, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4816, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4832, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4864, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8816, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8832, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8864, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16816, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16832, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16864, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21632, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21664, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <4 x i16> %v41632, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <4 x i16> %v41664, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <8 x i16> %v81632, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <8 x i16> %v81664, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <2 x i32> %v23264, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <4 x i32> %v43264, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'store_trunc'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i816 = trunc i16 undef to i8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i832 = trunc i32 undef to i8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i864 = trunc i64 undef to i8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i1632 = trunc i32 undef to i16
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i1664 = trunc i64 undef to i16
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %i3264 = trunc i64 undef to i32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i8 %i816, ptr undef, align 1
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i8 %i832, ptr undef, align 1
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i8 %i864, ptr undef, align 1
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i16 %i1632, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i16 %i1664, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store i32 %i3264, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2816, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2832, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2864, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4816, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4832, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4864, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8816, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8832, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8864, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16816, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16832, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16864, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21632, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21664, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41632, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41664, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81632, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81664, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i32> %v23264, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i32> %v43264, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'store_trunc'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i816 = trunc i16 undef to i8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i832 = trunc i32 undef to i8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i864 = trunc i64 undef to i8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i1632 = trunc i32 undef to i16
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i1664 = trunc i64 undef to i16
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %i3264 = trunc i64 undef to i32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i8 %i816, ptr undef, align 1
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i8 %i832, ptr undef, align 1
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i8 %i864, ptr undef, align 1
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i16 %i1632, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i16 %i1664, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store i32 %i3264, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2816, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2832, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2864, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4816, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4832, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4864, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8816, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8832, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8864, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16816, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16832, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16864, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21632, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21664, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41632, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41664, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81632, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81664, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i32> %v23264, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i32> %v43264, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'store_trunc'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i816 = trunc i16 undef to i8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i832 = trunc i32 undef to i8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i864 = trunc i64 undef to i8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i1632 = trunc i32 undef to i16
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i1664 = trunc i64 undef to i16
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %i3264 = trunc i64 undef to i32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i8 %i816, ptr undef, align 1
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i8 %i832, ptr undef, align 1
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i8 %i864, ptr undef, align 1
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i16 %i1632, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i16 %i1664, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store i32 %i3264, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2816, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2832, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2864, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4816, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4832, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4864, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8816, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8832, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i8> %v8864, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16816, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16832, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: store <16 x i8> %v16864, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21632, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21664, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41632, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i16> %v41664, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81632, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x i16> %v81664, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i32> %v23264, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i32> %v43264, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'store_trunc'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i816 = trunc i16 undef to i8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i832 = trunc i32 undef to i8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i864 = trunc i64 undef to i8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i1632 = trunc i32 undef to i16
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i1664 = trunc i64 undef to i16
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %i3264 = trunc i64 undef to i32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i8 %i816, ptr undef, align 1
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i8 %i832, ptr undef, align 1
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i8 %i864, ptr undef, align 1
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i16 %i1632, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i16 %i1664, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store i32 %i3264, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2816, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2832, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i8> %v2864, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4816, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4832, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:13 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x i8> %v4864, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8816, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8832, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <8 x i8> %v8864, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16816, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16832, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <16 x i8> %v16864, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21632, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x i16> %v21664, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <4 x i16> %v41632, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <4 x i16> %v41664, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <8 x i16> %v81632, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <8 x i16> %v81664, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <2 x i32> %v23264, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <4 x i32> %v43264, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%i816 = trunc i16 undef to i8
|
|
%i832 = trunc i32 undef to i8
|
|
%i864 = trunc i64 undef to i8
|
|
%i1632 = trunc i32 undef to i16
|
|
%i1664 = trunc i64 undef to i16
|
|
%i3264 = trunc i64 undef to i32
|
|
|
|
%v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
%v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
%v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
%v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
%v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
%v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
%v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
%v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
%v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
%v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
%v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
%v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
|
|
%v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
%v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
%v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
%v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
%v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
%v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
|
|
%v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
%v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
|
|
store i8 %i816, ptr undef
|
|
store i8 %i832, ptr undef
|
|
store i8 %i864, ptr undef
|
|
store i16 %i1632, ptr undef
|
|
store i16 %i1664, ptr undef
|
|
store i32 %i3264, ptr undef
|
|
store <2 x i8> %v2816, ptr undef
|
|
store <2 x i8> %v2832, ptr undef
|
|
store <2 x i8> %v2864, ptr undef
|
|
store <4 x i8> %v4816, ptr undef
|
|
store <4 x i8> %v4832, ptr undef
|
|
store <4 x i8> %v4864, ptr undef
|
|
store <8 x i8> %v8816, ptr undef
|
|
store <8 x i8> %v8832, ptr undef
|
|
store <8 x i8> %v8864, ptr undef
|
|
store <16 x i8> %v16816, ptr undef
|
|
store <16 x i8> %v16832, ptr undef
|
|
store <16 x i8> %v16864, ptr undef
|
|
store <2 x i16> %v21632, ptr undef
|
|
store <2 x i16> %v21664, ptr undef
|
|
store <4 x i16> %v41632, ptr undef
|
|
store <4 x i16> %v41664, ptr undef
|
|
store <8 x i16> %v81632, ptr undef
|
|
store <8 x i16> %v81664, ptr undef
|
|
store <2 x i32> %v23264, ptr undef
|
|
store <4 x i32> %v43264, ptr undef
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @load_fpextends() {
|
|
; CHECK-NEON-LABEL: 'load_fpextends'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf16 = load half, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf32 = load float, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f16 = load <2 x half>, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16 = load <4 x half>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f16 = load <8 x half>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16f16 = load <16 x half>, ptr undef, align 32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f32 = load <2 x float>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f32 = load <4 x float>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f32 = load <8 x float>, ptr undef, align 32
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %r1 = fpext half %loadf16 to float
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %r2 = fpext half %loadf16 to double
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %r3 = fpext float %loadf32 to double
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'load_fpextends'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf16 = load half, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf32 = load float, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f16 = load <2 x half>, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16 = load <4 x half>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f16 = load <8 x half>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16f16 = load <16 x half>, ptr undef, align 32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f32 = load <2 x float>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f32 = load <4 x float>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f32 = load <8 x float>, ptr undef, align 32
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %r1 = fpext half %loadf16 to float
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %r2 = fpext half %loadf16 to double
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %r3 = fpext float %loadf32 to double
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'load_fpextends'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf16 = load half, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf32 = load float, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f16 = load <2 x half>, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16 = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f16 = load <8 x half>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16f16 = load <16 x half>, ptr undef, align 32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f32 = load <2 x float>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f32 = load <4 x float>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f32 = load <8 x float>, ptr undef, align 32
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %r1 = fpext half %loadf16 to float
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %r2 = fpext half %loadf16 to double
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %r3 = fpext float %loadf32 to double
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'load_fpextends'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf16 = load half, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf32 = load float, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f16 = load <2 x half>, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16 = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f16 = load <8 x half>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16f16 = load <16 x half>, ptr undef, align 32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f32 = load <2 x float>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f32 = load <4 x float>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f32 = load <8 x float>, ptr undef, align 32
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %r1 = fpext half %loadf16 to float
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %r2 = fpext half %loadf16 to double
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %r3 = fpext float %loadf32 to double
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'load_fpextends'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf16 = load half, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadf32 = load float, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f16 = load <2 x half>, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16 = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f16 = load <8 x half>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:4 SizeLat:1 for: %loadv16f16 = load <16 x half>, ptr undef, align 32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2f32 = load <2 x float>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f32 = load <4 x float>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8f32 = load <8 x float>, ptr undef, align 32
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %r1 = fpext half %loadf16 to float
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %r2 = fpext half %loadf16 to double
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %r3 = fpext float %loadf32 to double
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%loadf16 = load half, ptr undef
|
|
%loadf32 = load float, ptr undef
|
|
%loadv2f16 = load <2 x half>, ptr undef
|
|
%loadv4f16 = load <4 x half>, ptr undef
|
|
%loadv8f16 = load <8 x half>, ptr undef
|
|
%loadv16f16 = load <16 x half>, ptr undef
|
|
%loadv2f32 = load <2 x float>, ptr undef
|
|
%loadv4f32 = load <4 x float>, ptr undef
|
|
%loadv8f32 = load <8 x float>, ptr undef
|
|
|
|
%r1 = fpext half %loadf16 to float
|
|
%r2 = fpext half %loadf16 to double
|
|
%r3 = fpext float %loadf32 to double
|
|
|
|
%v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
%v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
%v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
%v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
%v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
%v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
%v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
%v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
%v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
%v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
%v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
|
|
%loadv4f16ou = load <4 x half>, ptr undef
|
|
%v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @load_fptrunc() {
|
|
; CHECK-NEON-LABEL: 'load_fptrunc'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %i1632 = fptrunc float undef to half
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 10 for: %i1664 = fptrunc double undef to half
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %i3264 = fptrunc double undef to float
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store half %i1632, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store half %i1664, ptr undef, align 2
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store float %i3264, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21632, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21664, ptr undef, align 4
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41632, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41664, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81632, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81664, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <2 x float> %v23264, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: store <4 x float> %v43264, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'load_fptrunc'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: %i1632 = fptrunc float undef to half
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %i1664 = fptrunc double undef to half
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 10 for: %i3264 = fptrunc double undef to float
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store half %i1632, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store half %i1664, ptr undef, align 2
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 1 for: store float %i3264, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21632, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21664, ptr undef, align 4
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41632, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41664, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81632, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81664, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x float> %v23264, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x float> %v43264, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'load_fptrunc'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %i1632 = fptrunc float undef to half
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %i1664 = fptrunc double undef to half
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 10 for: %i3264 = fptrunc double undef to float
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store half %i1632, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store half %i1664, ptr undef, align 2
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: store float %i3264, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21632, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21664, ptr undef, align 4
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41632, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41664, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81632, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81664, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x float> %v23264, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x float> %v43264, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'load_fptrunc'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %i1632 = fptrunc float undef to half
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %i1664 = fptrunc double undef to half
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 10 for: %i3264 = fptrunc double undef to float
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store half %i1632, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store half %i1664, ptr undef, align 2
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: store float %i3264, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21632, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21664, ptr undef, align 4
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41632, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41664, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81632, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81664, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x float> %v23264, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x float> %v43264, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'load_fptrunc'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %i1632 = fptrunc float undef to half
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 10 for: %i1664 = fptrunc double undef to half
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %i3264 = fptrunc double undef to float
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store half %i1632, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store half %i1664, ptr undef, align 2
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store float %i3264, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21632, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: store <2 x half> %v21664, ptr undef, align 4
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41632, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: store <4 x half> %v41664, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81632, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: store <8 x half> %v81664, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <2 x float> %v23264, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: store <4 x float> %v43264, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%i1632 = fptrunc float undef to half
|
|
%i1664 = fptrunc double undef to half
|
|
%i3264 = fptrunc double undef to float
|
|
|
|
%v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
%v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
%v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
%v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
%v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
%v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
|
|
%v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
%v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
|
|
store half %i1632, ptr undef
|
|
store half %i1664, ptr undef
|
|
store float %i3264, ptr undef
|
|
store <2 x half> %v21632, ptr undef
|
|
store <2 x half> %v21664, ptr undef
|
|
store <4 x half> %v41632, ptr undef
|
|
store <4 x half> %v41664, ptr undef
|
|
store <8 x half> %v81632, ptr undef
|
|
store <8 x half> %v81664, ptr undef
|
|
store <2 x float> %v23264, ptr undef
|
|
store <4 x float> %v43264, ptr undef
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @maskedload_extends() {
|
|
; CHECK-NEON-LABEL: 'maskedload_extends'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: %loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr align 1 undef, <2 x i1> undef, <2 x i8> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: %loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr align 1 undef, <4 x i1> undef, <4 x i8> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: %loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr align 1 undef, <8 x i1> undef, <8 x i8> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 128 for: %loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr align 1 undef, <16 x i1> undef, <16 x i8> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: %loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr align 2 undef, <2 x i1> undef, <2 x i16> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: %loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr align 2 undef, <4 x i1> undef, <4 x i16> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: %loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr align 2 undef, <8 x i1> undef, <8 x i16> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: %loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr align 4 undef, <2 x i1> undef, <2 x i32> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: %loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr align 4 undef, <4 x i1> undef, <4 x i32> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'maskedload_extends'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr align 1 undef, <2 x i1> undef, <2 x i8> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr align 1 undef, <4 x i1> undef, <4 x i8> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr align 1 undef, <8 x i1> undef, <8 x i8> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr align 1 undef, <16 x i1> undef, <16 x i8> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr align 2 undef, <2 x i1> undef, <2 x i16> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr align 2 undef, <4 x i1> undef, <4 x i16> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr align 2 undef, <8 x i1> undef, <8 x i16> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr align 4 undef, <2 x i1> undef, <2 x i32> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr align 4 undef, <4 x i1> undef, <4 x i32> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:10 Lat:20 SizeLat:20 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:10 Lat:20 SizeLat:20 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:4 SizeLat:4 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:8 Lat:16 SizeLat:16 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'maskedload_extends'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr align 1 undef, <2 x i1> undef, <2 x i8> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr align 1 undef, <4 x i1> undef, <4 x i8> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: %loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr align 1 undef, <8 x i1> undef, <8 x i8> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 128 for: %loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr align 1 undef, <16 x i1> undef, <16 x i8> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr align 2 undef, <2 x i1> undef, <2 x i16> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr align 2 undef, <4 x i1> undef, <4 x i16> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: %loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr align 2 undef, <8 x i1> undef, <8 x i16> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr align 4 undef, <2 x i1> undef, <2 x i32> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr align 4 undef, <4 x i1> undef, <4 x i32> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'maskedload_extends'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr align 1 undef, <2 x i1> undef, <2 x i8> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr align 1 undef, <4 x i1> undef, <4 x i8> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: %loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr align 1 undef, <8 x i1> undef, <8 x i8> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 128 for: %loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr align 1 undef, <16 x i1> undef, <16 x i8> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr align 2 undef, <2 x i1> undef, <2 x i16> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr align 2 undef, <4 x i1> undef, <4 x i16> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: %loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr align 2 undef, <8 x i1> undef, <8 x i16> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr align 4 undef, <2 x i1> undef, <2 x i32> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr align 4 undef, <4 x i1> undef, <4 x i32> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:16 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:80 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'maskedload_extends'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: %loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr align 1 undef, <2 x i1> undef, <2 x i8> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: %loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr align 1 undef, <4 x i1> undef, <4 x i8> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: %loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr align 1 undef, <8 x i1> undef, <8 x i8> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 128 for: %loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr align 1 undef, <16 x i1> undef, <16 x i8> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: %loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr align 2 undef, <2 x i1> undef, <2 x i16> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: %loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr align 2 undef, <4 x i1> undef, <4 x i16> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: %loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr align 2 undef, <8 x i1> undef, <8 x i16> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: %loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr align 4 undef, <2 x i1> undef, <2 x i32> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: %loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr align 4 undef, <4 x i1> undef, <4 x i32> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%loadv2i8 = call <2 x i8> @llvm.masked.load.v2i8.p0(ptr undef, i32 1, <2 x i1> undef, <2 x i8> undef)
|
|
%loadv4i8 = call <4 x i8> @llvm.masked.load.v4i8.p0(ptr undef, i32 1, <4 x i1> undef, <4 x i8> undef)
|
|
%loadv8i8 = call <8 x i8> @llvm.masked.load.v8i8.p0(ptr undef, i32 1, <8 x i1> undef, <8 x i8> undef)
|
|
%loadv16i8 = call <16 x i8> @llvm.masked.load.v16i8.p0(ptr undef, i32 1, <16 x i1> undef, <16 x i8> undef)
|
|
%loadv2i16 = call <2 x i16> @llvm.masked.load.v2i16.p0(ptr undef, i32 2, <2 x i1> undef, <2 x i16> undef)
|
|
%loadv4i16 = call <4 x i16> @llvm.masked.load.v4i16.p0(ptr undef, i32 2, <4 x i1> undef, <4 x i16> undef)
|
|
%loadv8i16 = call <8 x i16> @llvm.masked.load.v8i16.p0(ptr undef, i32 2, <8 x i1> undef, <8 x i16> undef)
|
|
%loadv2i32 = call <2 x i32> @llvm.masked.load.v2i32.p0(ptr undef, i32 4, <2 x i1> undef, <2 x i32> undef)
|
|
%loadv4i32 = call <4 x i32> @llvm.masked.load.v4i32.p0(ptr undef, i32 4, <4 x i1> undef, <4 x i32> undef)
|
|
|
|
%v2816s = sext <2 x i8> %loadv2i8 to <2 x i16>
|
|
%v2816u = zext <2 x i8> %loadv2i8 to <2 x i16>
|
|
%v2832s = sext <2 x i8> %loadv2i8 to <2 x i32>
|
|
%v2832u = zext <2 x i8> %loadv2i8 to <2 x i32>
|
|
%v2864s = sext <2 x i8> %loadv2i8 to <2 x i64>
|
|
%v2864u = zext <2 x i8> %loadv2i8 to <2 x i64>
|
|
%v4816s = sext <4 x i8> %loadv4i8 to <4 x i16>
|
|
%v4816u = zext <4 x i8> %loadv4i8 to <4 x i16>
|
|
%v4832s = sext <4 x i8> %loadv4i8 to <4 x i32>
|
|
%v4832u = zext <4 x i8> %loadv4i8 to <4 x i32>
|
|
%v4864s = sext <4 x i8> %loadv4i8 to <4 x i64>
|
|
%v4864u = zext <4 x i8> %loadv4i8 to <4 x i64>
|
|
%v8816s = sext <8 x i8> %loadv8i8 to <8 x i16>
|
|
%v8816u = zext <8 x i8> %loadv8i8 to <8 x i16>
|
|
%v8832s = sext <8 x i8> %loadv8i8 to <8 x i32>
|
|
%v8832u = zext <8 x i8> %loadv8i8 to <8 x i32>
|
|
%v8864s = sext <8 x i8> %loadv8i8 to <8 x i64>
|
|
%v8864u = zext <8 x i8> %loadv8i8 to <8 x i64>
|
|
%v16816s = sext <16 x i8> %loadv16i8 to <16 x i16>
|
|
%v16816u = zext <16 x i8> %loadv16i8 to <16 x i16>
|
|
%v16832s = sext <16 x i8> %loadv16i8 to <16 x i32>
|
|
%v16832u = zext <16 x i8> %loadv16i8 to <16 x i32>
|
|
%v16864s = sext <16 x i8> %loadv16i8 to <16 x i64>
|
|
%v16864u = zext <16 x i8> %loadv16i8 to <16 x i64>
|
|
|
|
%v21632s = sext <2 x i16> %loadv2i16 to <2 x i32>
|
|
%v21632u = zext <2 x i16> %loadv2i16 to <2 x i32>
|
|
%v21664s = sext <2 x i16> %loadv2i16 to <2 x i64>
|
|
%v21664u = zext <2 x i16> %loadv2i16 to <2 x i64>
|
|
%v41632s = sext <4 x i16> %loadv4i16 to <4 x i32>
|
|
%v41632u = zext <4 x i16> %loadv4i16 to <4 x i32>
|
|
%v41664s = sext <4 x i16> %loadv4i16 to <4 x i64>
|
|
%v41664u = zext <4 x i16> %loadv4i16 to <4 x i64>
|
|
%v81632s = sext <8 x i16> %loadv8i16 to <8 x i32>
|
|
%v81632u = zext <8 x i16> %loadv8i16 to <8 x i32>
|
|
%v81664s = sext <8 x i16> %loadv8i16 to <8 x i64>
|
|
%v81664u = zext <8 x i16> %loadv8i16 to <8 x i64>
|
|
|
|
%v23264s = sext <2 x i32> %loadv2i32 to <2 x i64>
|
|
%v23264u = zext <2 x i32> %loadv2i32 to <2 x i64>
|
|
%v43264s = sext <4 x i32> %loadv4i32 to <4 x i64>
|
|
%v43264u = zext <4 x i32> %loadv4i32 to <4 x i64>
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @maskedstore_trunc() {
|
|
; CHECK-NEON-LABEL: 'maskedstore_trunc'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 1 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'maskedstore_trunc'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'maskedstore_trunc'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'maskedstore_trunc'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'maskedstore_trunc'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 1 for: %v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 0 for: %v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr align 1 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr align 1 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr align 1 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 128 for: call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr align 1 undef, <16 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%v2816 = trunc <2 x i16> undef to <2 x i8>
|
|
%v2832 = trunc <2 x i32> undef to <2 x i8>
|
|
%v2864 = trunc <2 x i64> undef to <2 x i8>
|
|
%v4816 = trunc <4 x i16> undef to <4 x i8>
|
|
%v4832 = trunc <4 x i32> undef to <4 x i8>
|
|
%v4864 = trunc <4 x i64> undef to <4 x i8>
|
|
%v8816 = trunc <8 x i16> undef to <8 x i8>
|
|
%v8832 = trunc <8 x i32> undef to <8 x i8>
|
|
%v8864 = trunc <8 x i64> undef to <8 x i8>
|
|
%v16816 = trunc <16 x i16> undef to <16 x i8>
|
|
%v16832 = trunc <16 x i32> undef to <16 x i8>
|
|
%v16864 = trunc <16 x i64> undef to <16 x i8>
|
|
|
|
%v21632 = trunc <2 x i32> undef to <2 x i16>
|
|
%v21664 = trunc <2 x i64> undef to <2 x i16>
|
|
%v41632 = trunc <4 x i32> undef to <4 x i16>
|
|
%v41664 = trunc <4 x i64> undef to <4 x i16>
|
|
%v81632 = trunc <8 x i32> undef to <8 x i16>
|
|
%v81664 = trunc <8 x i64> undef to <8 x i16>
|
|
|
|
%v23264 = trunc <2 x i64> undef to <2 x i32>
|
|
%v43264 = trunc <4 x i64> undef to <4 x i32>
|
|
|
|
call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2816, ptr undef, i32 1, <2 x i1> undef)
|
|
call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2832, ptr undef, i32 1, <2 x i1> undef)
|
|
call void @llvm.masked.store.v2i8.p0(<2 x i8> %v2864, ptr undef, i32 1, <2 x i1> undef)
|
|
call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4816, ptr undef, i32 1, <4 x i1> undef)
|
|
call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4832, ptr undef, i32 1, <4 x i1> undef)
|
|
call void @llvm.masked.store.v4i8.p0(<4 x i8> %v4864, ptr undef, i32 1, <4 x i1> undef)
|
|
call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8816, ptr undef, i32 1, <8 x i1> undef)
|
|
call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8832, ptr undef, i32 1, <8 x i1> undef)
|
|
call void @llvm.masked.store.v8i8.p0(<8 x i8> %v8864, ptr undef, i32 1, <8 x i1> undef)
|
|
call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16816, ptr undef, i32 1, <16 x i1> undef)
|
|
call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16832, ptr undef, i32 1, <16 x i1> undef)
|
|
call void @llvm.masked.store.v16i8.p0(<16 x i8> %v16864, ptr undef, i32 1, <16 x i1> undef)
|
|
call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21632, ptr undef, i32 2, <2 x i1> undef)
|
|
call void @llvm.masked.store.v2i16.p0(<2 x i16> %v21664, ptr undef, i32 2, <2 x i1> undef)
|
|
call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41632, ptr undef, i32 2, <4 x i1> undef)
|
|
call void @llvm.masked.store.v4i16.p0(<4 x i16> %v41664, ptr undef, i32 2, <4 x i1> undef)
|
|
call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81632, ptr undef, i32 2, <8 x i1> undef)
|
|
call void @llvm.masked.store.v8i16.p0(<8 x i16> %v81664, ptr undef, i32 2, <8 x i1> undef)
|
|
call void @llvm.masked.store.v2i32.p0(<2 x i32> %v23264, ptr undef, i32 4, <2 x i1> undef)
|
|
call void @llvm.masked.store.v4i32.p0(<4 x i32> %v43264, ptr undef, i32 4, <4 x i1> undef)
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @maskedload_fpextends() {
|
|
; CHECK-NEON-LABEL: 'maskedload_fpextends'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: %loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr align 2 undef, <2 x i1> undef, <2 x half> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: %loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr align 2 undef, <4 x i1> undef, <4 x half> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: %loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr align 2 undef, <8 x i1> undef, <8 x half> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 128 for: %loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr align 2 undef, <16 x i1> undef, <16 x half> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: %loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr align 4 undef, <2 x i1> undef, <2 x float> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: %loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr align 4 undef, <4 x i1> undef, <4 x float> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: %loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr align 4 undef, <8 x i1> undef, <8 x float> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'maskedload_fpextends'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr align 2 undef, <2 x i1> undef, <2 x half> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 32 for: %loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr align 2 undef, <4 x i1> undef, <4 x half> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr align 2 undef, <8 x i1> undef, <8 x half> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 128 for: %loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr align 2 undef, <16 x i1> undef, <16 x half> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: %loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr align 4 undef, <2 x i1> undef, <2 x float> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr align 4 undef, <4 x i1> undef, <4 x float> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 64 for: %loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr align 4 undef, <8 x i1> undef, <8 x float> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:32 CodeSize:16 Lat:32 SizeLat:32 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:64 CodeSize:32 Lat:64 SizeLat:64 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'maskedload_fpextends'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr align 2 undef, <2 x i1> undef, <2 x half> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr align 2 undef, <4 x i1> undef, <4 x half> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: %loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr align 2 undef, <8 x i1> undef, <8 x half> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 128 for: %loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr align 2 undef, <16 x i1> undef, <16 x half> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: %loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr align 4 undef, <2 x i1> undef, <2 x float> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: %loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr align 4 undef, <4 x i1> undef, <4 x float> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: %loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr align 4 undef, <8 x i1> undef, <8 x float> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'maskedload_fpextends'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr align 2 undef, <2 x i1> undef, <2 x half> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr align 2 undef, <4 x i1> undef, <4 x half> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: %loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr align 2 undef, <8 x i1> undef, <8 x half> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 128 for: %loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr align 2 undef, <16 x i1> undef, <16 x half> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: %loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr align 4 undef, <2 x i1> undef, <2 x float> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: %loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr align 4 undef, <4 x i1> undef, <4 x float> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: %loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr align 4 undef, <8 x i1> undef, <8 x float> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'maskedload_fpextends'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: %loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr align 2 undef, <2 x i1> undef, <2 x half> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: %loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr align 2 undef, <4 x i1> undef, <4 x half> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: %loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr align 2 undef, <8 x i1> undef, <8 x half> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 128 for: %loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr align 2 undef, <16 x i1> undef, <16 x half> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: %loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr align 4 undef, <2 x i1> undef, <2 x float> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: %loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr align 4 undef, <4 x i1> undef, <4 x float> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: %loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr align 4 undef, <8 x i1> undef, <8 x float> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 160 for: %v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4f16ou = load <4 x half>, ptr undef, align 8
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%loadv2f16 = call <2 x half> @llvm.masked.load.v2f16.p0(ptr undef, i32 2, <2 x i1> undef, <2 x half> undef)
|
|
%loadv4f16 = call <4 x half> @llvm.masked.load.v4f16.p0(ptr undef, i32 2, <4 x i1> undef, <4 x half> undef)
|
|
%loadv8f16 = call <8 x half> @llvm.masked.load.v8f16.p0(ptr undef, i32 2, <8 x i1> undef, <8 x half> undef)
|
|
%loadv16f16 = call <16 x half> @llvm.masked.load.v16f16.p0(ptr undef, i32 2, <16 x i1> undef, <16 x half> undef)
|
|
%loadv2f32 = call <2 x float> @llvm.masked.load.v2f32.p0(ptr undef, i32 4, <2 x i1> undef, <2 x float> undef)
|
|
%loadv4f32 = call <4 x float> @llvm.masked.load.v4f32.p0(ptr undef, i32 4, <4 x i1> undef, <4 x float> undef)
|
|
%loadv8f32 = call <8 x float> @llvm.masked.load.v8f32.p0(ptr undef, i32 4, <8 x i1> undef, <8 x float> undef)
|
|
|
|
%v1 = fpext <2 x half> %loadv2f16 to <2 x float>
|
|
%v2 = fpext <4 x half> %loadv4f16 to <4 x float>
|
|
%v3 = fpext <8 x half> %loadv8f16 to <8 x float>
|
|
%v4 = fpext <16 x half> %loadv16f16 to <16 x float>
|
|
%v5 = fpext <2 x half> %loadv2f16 to <2 x double>
|
|
%v6 = fpext <4 x half> %loadv4f16 to <4 x double>
|
|
%v7 = fpext <8 x half> %loadv8f16 to <8 x double>
|
|
%v8 = fpext <16 x half> %loadv16f16 to <16 x double>
|
|
%v9 = fpext <2 x float> %loadv2f32 to <2 x double>
|
|
%v10 = fpext <4 x float> %loadv4f32 to <4 x double>
|
|
%v11 = fpext <8 x float> %loadv8f32 to <8 x double>
|
|
|
|
%loadv4f16ou = load <4 x half>, ptr undef
|
|
%v2ou = fpext <4 x half> %loadv4f16ou to <4 x float>
|
|
|
|
ret i32 undef
|
|
}
|
|
|
|
define i32 @maskedload_fptrunc() {
|
|
; CHECK-NEON-LABEL: 'maskedload_fptrunc'
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-NEON-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-MVE-LABEL: 'maskedload_fptrunc'
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 2 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:6 CodeSize:3 Lat:6 SizeLat:6 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-MVE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-MAIN-LABEL: 'maskedload_fptrunc'
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8M-MAIN-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8M-BASE-LABEL: 'maskedload_fptrunc'
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 20 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 40 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8M-BASE-NEXT: Cost Model: Found costs of 1 for: ret i32 undef
|
|
;
|
|
; CHECK-V8R-LABEL: 'maskedload_fptrunc'
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 20 for: %v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 40 for: %v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 80 for: %v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr align 2 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr align 2 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 64 for: call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr align 2 undef, <8 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 16 for: call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr align 4 undef, <2 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of 32 for: call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr align 4 undef, <4 x i1> undef)
|
|
; CHECK-V8R-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef
|
|
;
|
|
%v21632 = fptrunc <2 x float> undef to <2 x half>
|
|
%v21664 = fptrunc <2 x double> undef to <2 x half>
|
|
%v41632 = fptrunc <4 x float> undef to <4 x half>
|
|
%v41664 = fptrunc <4 x double> undef to <4 x half>
|
|
%v81632 = fptrunc <8 x float> undef to <8 x half>
|
|
%v81664 = fptrunc <8 x double> undef to <8 x half>
|
|
|
|
%v23264 = fptrunc <2 x double> undef to <2 x float>
|
|
%v43264 = fptrunc <4 x double> undef to <4 x float>
|
|
|
|
call void @llvm.masked.store.v2f16.p0(<2 x half> %v21632, ptr undef, i32 2, <2 x i1> undef)
|
|
call void @llvm.masked.store.v2f16.p0(<2 x half> %v21664, ptr undef, i32 2, <2 x i1> undef)
|
|
call void @llvm.masked.store.v4f16.p0(<4 x half> %v41632, ptr undef, i32 2, <4 x i1> undef)
|
|
call void @llvm.masked.store.v4f16.p0(<4 x half> %v41664, ptr undef, i32 2, <4 x i1> undef)
|
|
call void @llvm.masked.store.v8f16.p0(<8 x half> %v81632, ptr undef, i32 2, <8 x i1> undef)
|
|
call void @llvm.masked.store.v8f16.p0(<8 x half> %v81664, ptr undef, i32 2, <8 x i1> undef)
|
|
call void @llvm.masked.store.v2f32.p0(<2 x float> %v23264, ptr undef, i32 4, <2 x i1> undef)
|
|
call void @llvm.masked.store.v4f32.p0(<4 x float> %v43264, ptr undef, i32 4, <4 x i1> undef)
|
|
|
|
ret i32 undef
|
|
}
|