; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --version 5 ; RUN: opt -passes="print" -cost-kind=all 2>&1 -disable-output -mtriple aarch64-linux-gnu -mattr=+sve -o - -S < %s | FileCheck %s target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" target triple = "aarch64-unknown-linux-gnu" define void @sve-itofp() { ; CHECK-LABEL: 'sve-itofp' ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2si8_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2ui8_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si16_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui16_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si32_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui32_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si64_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui64_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2si8_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2ui8_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si16_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui16_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si32_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui32_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si64_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui64_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2si8_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv2ui8_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si16_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui16_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si32_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui32_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2si64_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv2ui64_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4si8_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4ui8_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4si16_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4ui16_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4si32_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4ui32_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv4si64_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv4ui64_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4si8_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4ui8_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4si16_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4ui16_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4si32_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv4ui32_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv4si64_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv4ui64_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv4si8_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv4ui8_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv4si16_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv4ui16_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv4si32_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv4ui32_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4si64_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv4ui64_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv8si8_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv8ui8_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv8si16_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 1 for: %nv8ui16_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv8si32_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 3 for: %nv8ui32_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv8si64_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv8ui64_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv8si8_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 7 for: %nv8ui8_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv8si16_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv8ui16_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv8si32_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv8ui32_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv8si64_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv8ui64_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 21 for: %nv8si8_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 21 for: %nv8ui8_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 20 for: %nv8si16_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 20 for: %nv8ui16_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv8si32_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv8ui32_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 4 for: %nv8si64_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 4 for: %nv8ui64_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv16si8_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv16ui8_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv16si16_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 2 for: %nv16ui16_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv16si32_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 6 for: %nv16ui32_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 14 for: %nv16si64_to_f16 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 14 for: %nv16ui64_to_f16 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 20 for: %nv16si8_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 20 for: %nv16ui8_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv16si16_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv16ui16_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 4 for: %nv16si32_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 4 for: %nv16ui32_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv16si64_to_f32 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 12 for: %nv16ui64_to_f32 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 43 for: %nv16si8_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 43 for: %nv16ui8_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 40 for: %nv16si16_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 40 for: %nv16ui16_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 24 for: %nv16si32_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 24 for: %nv16ui32_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 8 for: %nv16si64_to_f64 = sitofp poison to ; CHECK-NEXT: Cost Model: Found costs of 8 for: %nv16ui64_to_f64 = uitofp poison to ; CHECK-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void ; %nv2si8_to_f16 = sitofp poison to %nv2ui8_to_f16 = uitofp poison to %nv2si16_to_f16 = sitofp poison to %nv2ui16_to_f16 = uitofp poison to %nv2si32_to_f16 = sitofp poison to %nv2ui32_to_f16 = uitofp poison to %nv2si64_to_f16 = sitofp poison to %nv2ui64_to_f16 = uitofp poison to %nv2si8_to_f32 = sitofp poison to %nv2ui8_to_f32 = uitofp poison to %nv2si16_to_f32 = sitofp poison to %nv2ui16_to_f32 = uitofp poison to %nv2si32_to_f32 = sitofp poison to %nv2ui32_to_f32 = uitofp poison to %nv2si64_to_f32 = sitofp poison to %nv2ui64_to_f32 = uitofp poison to %nv2si8_to_f64 = sitofp poison to %nv2ui8_to_f64 = uitofp poison to %nv2si16_to_f64 = sitofp poison to %nv2ui16_to_f64 = uitofp poison to %nv2si32_to_f64 = sitofp poison to %nv2ui32_to_f64 = uitofp poison to %nv2si64_to_f64 = sitofp poison to %nv2ui64_to_f64 = uitofp poison to %nv4si8_to_f16 = sitofp poison to %nv4ui8_to_f16 = uitofp poison to %nv4si16_to_f16 = sitofp poison to %nv4ui16_to_f16 = uitofp poison to %nv4si32_to_f16 = sitofp poison to %nv4ui32_to_f16 = uitofp poison to %nv4si64_to_f16 = sitofp poison to %nv4ui64_to_f16 = uitofp poison to %nv4si8_to_f32 = sitofp poison to %nv4ui8_to_f32 = uitofp poison to %nv4si16_to_f32 = sitofp poison to %nv4ui16_to_f32 = uitofp poison to %nv4si32_to_f32 = sitofp poison to %nv4ui32_to_f32 = uitofp poison to %nv4si64_to_f32 = sitofp poison to %nv4ui64_to_f32 = uitofp poison to %nv4si8_to_f64 = sitofp poison to %nv4ui8_to_f64 = uitofp poison to %nv4si16_to_f64 = sitofp poison to %nv4ui16_to_f64 = uitofp poison to %nv4si32_to_f64 = sitofp poison to %nv4ui32_to_f64 = uitofp poison to %nv4si64_to_f64 = sitofp poison to %nv4ui64_to_f64 = uitofp poison to %nv8si8_to_f16 = sitofp poison to %nv8ui8_to_f16 = uitofp poison to %nv8si16_to_f16 = sitofp poison to %nv8ui16_to_f16 = uitofp poison to %nv8si32_to_f16 = sitofp poison to %nv8ui32_to_f16 = uitofp poison to %nv8si64_to_f16 = sitofp poison to %nv8ui64_to_f16 = uitofp poison to %nv8si8_to_f32 = sitofp poison to %nv8ui8_to_f32 = uitofp poison to %nv8si16_to_f32 = sitofp poison to %nv8ui16_to_f32 = uitofp poison to %nv8si32_to_f32 = sitofp poison to %nv8ui32_to_f32 = uitofp poison to %nv8si64_to_f32 = sitofp poison to %nv8ui64_to_f32 = uitofp poison to %nv8si8_to_f64 = sitofp poison to %nv8ui8_to_f64 = uitofp poison to %nv8si16_to_f64 = sitofp poison to %nv8ui16_to_f64 = uitofp poison to %nv8si32_to_f64 = sitofp poison to %nv8ui32_to_f64 = uitofp poison to %nv8si64_to_f64 = sitofp poison to %nv8ui64_to_f64 = uitofp poison to %nv16si8_to_f16 = sitofp poison to %nv16ui8_to_f16 = uitofp poison to %nv16si16_to_f16 = sitofp poison to %nv16ui16_to_f16 = uitofp poison to %nv16si32_to_f16 = sitofp poison to %nv16ui32_to_f16 = uitofp poison to %nv16si64_to_f16 = sitofp poison to %nv16ui64_to_f16 = uitofp poison to %nv16si8_to_f32 = sitofp poison to %nv16ui8_to_f32 = uitofp poison to %nv16si16_to_f32 = sitofp poison to %nv16ui16_to_f32 = uitofp poison to %nv16si32_to_f32 = sitofp poison to %nv16ui32_to_f32 = uitofp poison to %nv16si64_to_f32 = sitofp poison to %nv16ui64_to_f32 = uitofp poison to %nv16si8_to_f64 = sitofp poison to %nv16ui8_to_f64 = uitofp poison to %nv16si16_to_f64 = sitofp poison to %nv16ui16_to_f64 = uitofp poison to %nv16si32_to_f64 = sitofp poison to %nv16ui32_to_f64 = uitofp poison to %nv16si64_to_f64 = sitofp poison to %nv16ui64_to_f64 = uitofp poison to ret void }