; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt -passes="print" 2>&1 -disable-output -cost-kind=all -mtriple=aarch64 -mattr=+sve2 < %s | FileCheck %s target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" target triple = "aarch64-linux-gnu" define void @ldexp() { ; CHECK-LABEL: 'ldexp' ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %1 = call @llvm.ldexp.nxv2f32.nxv2i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %2 = call @llvm.ldexp.nxv4f32.nxv4i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %3 = call @llvm.ldexp.nxv8f32.nxv8i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %4 = call @llvm.ldexp.nxv16f32.nxv16i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %5 = call @llvm.ldexp.nxv2f64.nxv2i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %6 = call @llvm.ldexp.nxv4f64.nxv4i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %7 = call @llvm.ldexp.nxv8f64.nxv8i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %8 = call @llvm.ldexp.nxv16f64.nxv16i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; call @llvm.ldexp.nxv2f32.nxv2i32( poison, poison) call @llvm.ldexp.nxv4f32.nxv4i32( poison, poison) call @llvm.ldexp.nxv8f32.nxv8i32( poison, poison) call @llvm.ldexp.nxv16f32.nxv16i32( poison, poison) call @llvm.ldexp.nxv2f64.nxv2i32( poison, poison) call @llvm.ldexp.nxv4f64.nxv4i32( poison, poison) call @llvm.ldexp.nxv8f64.nxv8i32( poison, poison) call @llvm.ldexp.nxv16f64.nxv16i32( poison, poison) ret void } define void @ldexp_fp16() { ; CHECK-LABEL: 'ldexp_fp16' ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %1 = call @llvm.ldexp.nxv2f16.nxv2i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %2 = call @llvm.ldexp.nxv4f16.nxv4i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %3 = call @llvm.ldexp.nxv8f16.nxv8i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %4 = call @llvm.ldexp.nxv16f16.nxv16i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; call @llvm.ldexp.nxv2f16.nxv2i32( poison, poison) call @llvm.ldexp.nxv4f16.nxv4i32( poison, poison) call @llvm.ldexp.nxv8f16.nxv8i32( poison, poison) call @llvm.ldexp.nxv16f16.nxv16i32( poison, poison) ret void } define void @ldexp_bf16() { ; CHECK-LABEL: 'ldexp_bf16' ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %1 = call @llvm.ldexp.nxv2bf16.nxv2i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %2 = call @llvm.ldexp.nxv4bf16.nxv4i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %3 = call @llvm.ldexp.nxv8bf16.nxv8i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of Invalid for: %4 = call @llvm.ldexp.nxv16bf16.nxv16i32( poison, poison) ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; call @llvm.ldexp.nxv2bf16.nxv2i32( poison, poison) call @llvm.ldexp.nxv4bf16.nxv4i32( poison, poison) call @llvm.ldexp.nxv8bf16.nxv8i32( poison, poison) call @llvm.ldexp.nxv16bf16.nxv16i32( poison, poison) ret void }