[llvm] [NFC][AMDGPU] Add cost tests for narrow integer to fp casts (PR #225341)

Dmitry Sidorov via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 27 14:48:16 PDT 2026


https://github.com/MrSidims updated https://github.com/llvm/llvm-project/pull/225341

>From 71986a74aba6aeece5fdcd980a18d207d301fd6f Mon Sep 17 00:00:00 2001
From: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: Thu, 17 Sep 2026 01:35:50 +0200
Subject: [PATCH 1/2] [NFC][AMDGPU] Add cost tests for narrow integer to fp
 casts

Covers integer sources from a byte to 31 bits converted to half, float,
bfloat and double, as vector lanes and as scalars, over the subtarget
combinations that change the expansion. The existing cast tests get the
same subtarget coverage and the cases they were missing. The costs
recorded here are the ones the model reports today.
---
 llvm/test/Analysis/CostModel/AMDGPU/cast.ll   |  27 +-
 .../CostModel/AMDGPU/expanded-int-fp-casts.ll | 116 +---
 llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll |  17 +-
 llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll |  17 +-
 .../CostModel/AMDGPU/narrow-int-to-bfloat.ll  | 241 +++++++
 .../CostModel/AMDGPU/narrow-int-to-fp.ll      | 642 ++++++++++++++++++
 6 files changed, 954 insertions(+), 106 deletions(-)
 create mode 100644 llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
 create mode 100644 llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll

diff --git a/llvm/test/Analysis/CostModel/AMDGPU/cast.ll b/llvm/test/Analysis/CostModel/AMDGPU/cast.ll
index eedca86f6bc32..aab8fbe6f5e4d 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/cast.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/cast.ll
@@ -1,15 +1,15 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu11.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,NOSDWA %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,SLOW %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu11.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,QUARTER64,NOSDWA %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64,FAST-QUARTER64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,FULL64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64,FAST-QUARTER64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,QUARTER64,SLOW %s
 
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu11.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,NOSDWA-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,SLOW-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu11.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,QUARTER64-SIZE,NOSDWA-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE,FAST-QUARTER64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,FULL64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE,FAST-QUARTER64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,QUARTER64-SIZE,SLOW-SIZE %s
 ; END.
 
 define i32 @add(i32 %arg) {
@@ -685,3 +685,10 @@ define void @fp_conv(<8 x float> %a, <16 x float>%b, <4 x float> %c) {
   %A4 = fptrunc <8 x double> poison to <8 x float>
   ret void
 }
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; FAST-QUARTER64: {{.*}}
+; FAST-QUARTER64-SIZE: {{.*}}
+; FULL64: {{.*}}
+; FULL64-SIZE: {{.*}}
+; QUARTER64: {{.*}}
+; QUARTER64-SIZE: {{.*}}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll b/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
index 9434c87f23dbd..5e97470eea6b2 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
@@ -1,20 +1,20 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*(sitofp|uitofp|fptosi|fptoui)"
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu7.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-gfx9-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.06-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX6-THROUGHPUT
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu7.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX9
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-gfx9-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.06-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX9
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX9
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,NATIVE-SDWA
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX11
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,NATIVE-NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX6-SIZE
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,NATIVE-SDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,NATIVE-NOSDWA
 
 ; Half fits in i32. Bfloat must extend to f32 and use the full i64 expansion.
 define void @bf16_to_i64(bfloat %a, <2 x bfloat> %b, half %h) {
@@ -90,73 +90,6 @@ define void @i64_to_bf16(i64 %a, <2 x i64> %b, <3 x i64> %c, i48 %d) {
   ret void
 }
 
-; Subword extraction and bf16 rounding are independent costs. Native packed
-; rounding still needs one integer-to-f32 conversion for each input lane.
-define void @narrow_to_bf16(<4 x i8> %a, <2 x i16> %b, <3 x i32> %c) {
-; GFX6-LABEL: 'narrow_to_bf16'
-; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i8> %a to <4 x bfloat>
-; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i8> %a to <4 x bfloat>
-; GFX6:  Cost Model: Found an estimated cost of 2 for instruction: %hs = sitofp <2 x i16> %b to <2 x bfloat>
-; GFX6:  Cost Model: Found an estimated cost of 2 for instruction: %hu = uitofp <2 x i16> %b to <2 x bfloat>
-; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %ws = sitofp <3 x i32> %c to <3 x bfloat>
-; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %wu = uitofp <3 x i32> %c to <3 x bfloat>
-;
-; GFX9-THROUGHPUT-LABEL: 'narrow_to_bf16'
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i8> %a to <4 x bfloat>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i8> %a to <4 x bfloat>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %b to <2 x bfloat>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %b to <2 x bfloat>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 7 for instruction: %ws = sitofp <3 x i32> %c to <3 x bfloat>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 7 for instruction: %wu = uitofp <3 x i32> %c to <3 x bfloat>
-;
-; HALF-LABEL: 'narrow_to_bf16'
-; HALF:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i8> %a to <4 x bfloat>
-; HALF:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i8> %a to <4 x bfloat>
-; HALF:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %b to <2 x bfloat>
-; HALF:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %b to <2 x bfloat>
-; HALF:  Cost Model: Found an estimated cost of 7 for instruction: %ws = sitofp <3 x i32> %c to <3 x bfloat>
-; HALF:  Cost Model: Found an estimated cost of 7 for instruction: %wu = uitofp <3 x i32> %c to <3 x bfloat>
-;
-; FULL-LABEL: 'narrow_to_bf16'
-; FULL:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i8> %a to <4 x bfloat>
-; FULL:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i8> %a to <4 x bfloat>
-; FULL:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %b to <2 x bfloat>
-; FULL:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %b to <2 x bfloat>
-; FULL:  Cost Model: Found an estimated cost of 7 for instruction: %ws = sitofp <3 x i32> %c to <3 x bfloat>
-; FULL:  Cost Model: Found an estimated cost of 7 for instruction: %wu = uitofp <3 x i32> %c to <3 x bfloat>
-;
-  %bs = sitofp <4 x i8> %a to <4 x bfloat>
-  %bu = uitofp <4 x i8> %a to <4 x bfloat>
-  %hs = sitofp <2 x i16> %b to <2 x bfloat>
-  %hu = uitofp <2 x i16> %b to <2 x bfloat>
-  %ws = sitofp <3 x i32> %c to <3 x bfloat>
-  %wu = uitofp <3 x i32> %c to <3 x bfloat>
-  ret void
-}
-
-; Unsigned lanes wider than a byte are zero extended before the conversion.
-define void @narrow_unsigned_lanes(<4 x i12> %a) {
-; GFX6-LABEL: 'narrow_unsigned_lanes'
-; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %u = uitofp <4 x i12> %a to <4 x float>
-; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %uh = uitofp <4 x i12> %a to <4 x half>
-;
-; GFX9-THROUGHPUT-LABEL: 'narrow_unsigned_lanes'
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 1 for instruction: %u = uitofp <4 x i12> %a to <4 x float>
-; GFX9-THROUGHPUT:  Cost Model: Found an estimated cost of 10 for instruction: %uh = uitofp <4 x i12> %a to <4 x half>
-;
-; HALF-LABEL: 'narrow_unsigned_lanes'
-; HALF:  Cost Model: Found an estimated cost of 1 for instruction: %u = uitofp <4 x i12> %a to <4 x float>
-; HALF:  Cost Model: Found an estimated cost of 10 for instruction: %uh = uitofp <4 x i12> %a to <4 x half>
-;
-; FULL-LABEL: 'narrow_unsigned_lanes'
-; FULL:  Cost Model: Found an estimated cost of 1 for instruction: %u = uitofp <4 x i12> %a to <4 x float>
-; FULL:  Cost Model: Found an estimated cost of 10 for instruction: %uh = uitofp <4 x i12> %a to <4 x half>
-;
-  %u = uitofp <4 x i12> %a to <4 x float>
-  %uh = uitofp <4 x i12> %a to <4 x half>
-  ret void
-}
-
 ; FP64 rates vary independently of native trunc/floor support and code size.
 define void @i64_double(i64 %a, <2 x i64> %b, double %c, <2 x double> %d, i48 %e) {
 ; ALL-LABEL: 'i64_double'
@@ -187,19 +120,25 @@ define void @i64_double(i64 %a, <2 x i64> %b, double %c, <2 x double> %d, i48 %e
 }
 
 ; Integers of 33 to 63 bits are converted through i64.
-define void @i48(i48 %a, float %b, bfloat %c) {
+define void @i48(i48 %a, float %b, bfloat %c, <2 x float> %d, <2 x bfloat> %e) {
 ; ALL-LABEL: 'i48'
 ; ALL:  Cost Model: Found an estimated cost of 1 for instruction: %s = sitofp i48 %a to float
 ; ALL:  Cost Model: Found an estimated cost of 1 for instruction: %u = uitofp i48 %a to float
 ; ALL:  Cost Model: Found an estimated cost of 1 for instruction: %rs = fptosi float %b to i48
 ; ALL:  Cost Model: Found an estimated cost of 1 for instruction: %ru = fptoui float %b to i48
 ; ALL:  Cost Model: Found an estimated cost of 1 for instruction: %bu = fptoui bfloat %c to i48
+; ALL:  Cost Model: Found an estimated cost of 2 for instruction: %vrs = fptosi <2 x float> %d to <2 x i48>
+; ALL:  Cost Model: Found an estimated cost of 2 for instruction: %vru = fptoui <2 x float> %d to <2 x i48>
+; ALL:  Cost Model: Found an estimated cost of 2 for instruction: %vbu = fptoui <2 x bfloat> %e to <2 x i48>
 ;
   %s = sitofp i48 %a to float
   %u = uitofp i48 %a to float
   %rs = fptosi float %b to i48
   %ru = fptoui float %b to i48
   %bu = fptoui bfloat %c to i48
+  %vrs = fptosi <2 x float> %d to <2 x i48>
+  %vru = fptoui <2 x float> %d to <2 x i48>
+  %vbu = fptoui <2 x bfloat> %e to <2 x i48>
   ret void
 }
 
@@ -275,3 +214,12 @@ define void @other_widths(i128 %a, double %b, <2 x i128> %c, <2 x double> %d, fp
   %rqu = uitofp i64 %f to fp128
   ret void
 }
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; GFX11: {{.*}}
+; GFX6-SIZE: {{.*}}
+; GFX6-THROUGHPUT: {{.*}}
+; GFX7: {{.*}}
+; GFX8: {{.*}}
+; GFX9: {{.*}}
+; NATIVE-NOSDWA: {{.*}}
+; NATIVE-SDWA: {{.*}}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll b/llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
index 545643bd43e3d..e122a9b667e7f 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
@@ -1,12 +1,12 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,FULL64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64 %s
 ; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,SLOW %s
 
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,FULL64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE %s
 ; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,SLOW-SIZE %s
 ; END.
 
@@ -282,3 +282,8 @@ define i32 @fptosi_half_i64(i32 %arg) {
   %V16I64 = fptosi <16 x half> poison to <16 x i64>
   ret i32 poison
 }
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; FULL64: {{.*}}
+; FULL64-SIZE: {{.*}}
+; QUARTER64: {{.*}}
+; QUARTER64-SIZE: {{.*}}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll b/llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
index 1cd41d8376e45..3ed5d1ea77325 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
@@ -1,12 +1,12 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
-; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,FULL64 %s
+; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,FAST,QUARTER64 %s
 ; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL,SLOW %s
 
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu10.10-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.0a-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,FULL64-SIZE %s
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu9.00-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,FAST-SIZE,QUARTER64-SIZE %s
 ; RUN: opt -passes="print<cost-model>" -cost-kind=code-size 2>&1 -disable-output -mtriple=amdgpu6.01-unknown-amdhsa < %s | FileCheck -check-prefixes=ALL-SIZE,SLOW-SIZE %s
 ; END.
 
@@ -282,3 +282,8 @@ define i32 @fptoui_half_i64(i32 %arg) {
   %V16I64 = fptoui <16 x half> poison to <16 x i64>
   ret i32 poison
 }
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; FULL64: {{.*}}
+; FULL64-SIZE: {{.*}}
+; QUARTER64: {{.*}}
+; QUARTER64-SIZE: {{.*}}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
new file mode 100644
index 0000000000000..1aa34e3b2bf3b
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
@@ -0,0 +1,241 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*itofp" --version 6
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NOGFX9
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-BF16
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED-BF16
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
+
+; The RUN lines vary 16 bit instructions, SDWA, gfx9 instructions and the native bf16 conversion.
+; Subword extraction and bf16 rounding are independent costs. Native packed
+; rounding still needs one integer-to-f32 conversion for each input lane.
+define void @narrow_to_bfloat(<4 x i8> %a, <4 x i12> %b, <4 x i16> %c, <4 x i17> %d, <4 x i31> %e, <3 x i12> %f, <3 x i17> %g, <2 x i16> %h, <3 x i32> %i) {
+; NO16BIT-LABEL: 'narrow_to_bfloat'
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 2 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 2 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+; NOGFX9-LABEL: 'narrow_to_bfloat'
+; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+; SDWA-LABEL: 'narrow_to_bfloat'
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+; PACKED-LABEL: 'narrow_to_bfloat'
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+; SDWA-BF16-LABEL: 'narrow_to_bfloat'
+; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+; PACKED-BF16-LABEL: 'narrow_to_bfloat'
+; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+;
+  %as = sitofp <4 x i8> %a to <4 x bfloat>
+  %au = uitofp <4 x i8> %a to <4 x bfloat>
+  %bs = sitofp <4 x i12> %b to <4 x bfloat>
+  %bu = uitofp <4 x i12> %b to <4 x bfloat>
+  %cs = sitofp <4 x i16> %c to <4 x bfloat>
+  %cu = uitofp <4 x i16> %c to <4 x bfloat>
+  %ds = sitofp <4 x i17> %d to <4 x bfloat>
+  %du = uitofp <4 x i17> %d to <4 x bfloat>
+  %es = sitofp <4 x i31> %e to <4 x bfloat>
+  %eu = uitofp <4 x i31> %e to <4 x bfloat>
+  %fs = sitofp <3 x i12> %f to <3 x bfloat>
+  %fu = uitofp <3 x i12> %f to <3 x bfloat>
+  %gs = sitofp <3 x i17> %g to <3 x bfloat>
+  %gu = uitofp <3 x i17> %g to <3 x bfloat>
+  %hs = sitofp <2 x i16> %h to <2 x bfloat>
+  %hu = uitofp <2 x i16> %h to <2 x bfloat>
+  %is = sitofp <3 x i32> %i to <3 x bfloat>
+  %iu = uitofp <3 x i32> %i to <3 x bfloat>
+  ret void
+}
+
+define void @narrow_scalars_to_bfloat(i8 %a, i12 %b, i16 %c, i17 %d, i31 %e) {
+; NO16BIT-LABEL: 'narrow_scalars_to_bfloat'
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+; NOGFX9-LABEL: 'narrow_scalars_to_bfloat'
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+; SDWA-LABEL: 'narrow_scalars_to_bfloat'
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+; PACKED-LABEL: 'narrow_scalars_to_bfloat'
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+; SDWA-BF16-LABEL: 'narrow_scalars_to_bfloat'
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+; PACKED-BF16-LABEL: 'narrow_scalars_to_bfloat'
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+;
+  %as = sitofp i8 %a to bfloat
+  %au = uitofp i8 %a to bfloat
+  %bs = sitofp i12 %b to bfloat
+  %bu = uitofp i12 %b to bfloat
+  %cs = sitofp i16 %c to bfloat
+  %cu = uitofp i16 %c to bfloat
+  %ds = sitofp i17 %d to bfloat
+  %du = uitofp i17 %d to bfloat
+  %es = sitofp i31 %e to bfloat
+  %eu = uitofp i31 %e to bfloat
+  ret void
+}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
new file mode 100644
index 0000000000000..37ae475c9b9c8
--- /dev/null
+++ b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
@@ -0,0 +1,642 @@
+; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*itofp" --version 6
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=TRUE16
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-CVTPK
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=PACKED-CVTPK
+; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=TRUE16-CVTPK
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT-SIZE
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-SIZE
+
+; The RUN lines vary 16 bit instructions, SDWA, real true16 and the packed f16 conversion.
+
+; Lanes narrower than 16 bits are extracted before the conversion. Unsigned lanes
+; wider than a byte are zero extended.
+define void @narrow_lanes_to_fp(<4 x i8> %a, <4 x i12> %b, <3 x i16> %c, <8 x i16> %d, <8 x i8> %e) {
+; NO16BIT-LABEL: 'narrow_lanes_to_fp'
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 8 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; SDWA-LABEL: 'narrow_lanes_to_fp'
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; SDWA:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; SDWA:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; PACKED-LABEL: 'narrow_lanes_to_fp'
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; PACKED:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; PACKED:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; TRUE16-LABEL: 'narrow_lanes_to_fp'
+; TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; SDWA-CVTPK-LABEL: 'narrow_lanes_to_fp'
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; PACKED-CVTPK-LABEL: 'narrow_lanes_to_fp'
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; TRUE16-CVTPK-LABEL: 'narrow_lanes_to_fp'
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; NO16BIT-SIZE-LABEL: 'narrow_lanes_to_fp'
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; SDWA-SIZE-LABEL: 'narrow_lanes_to_fp'
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+  %as = sitofp <4 x i8> %a to <4 x half>
+  %au = uitofp <4 x i8> %a to <4 x half>
+  %bs = sitofp <4 x i12> %b to <4 x half>
+  %bu = uitofp <4 x i12> %b to <4 x half>
+  %buf = uitofp <4 x i12> %b to <4 x float>
+  %cu = uitofp <3 x i16> %c to <3 x half>
+  %ds = sitofp <8 x i16> %d to <8 x half>
+  %es = sitofp <8 x i8> %e to <8 x half>
+  ret void
+}
+
+define void @wide_lanes_to_fp(<4 x i16> %a, <4 x i17> %b, <4 x i31> %c, <3 x i17> %d) {
+; NO16BIT-LABEL: 'wide_lanes_to_fp'
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; SDWA-LABEL: 'wide_lanes_to_fp'
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; PACKED-LABEL: 'wide_lanes_to_fp'
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; TRUE16-LABEL: 'wide_lanes_to_fp'
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; SDWA-CVTPK-LABEL: 'wide_lanes_to_fp'
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; PACKED-CVTPK-LABEL: 'wide_lanes_to_fp'
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; TRUE16-CVTPK-LABEL: 'wide_lanes_to_fp'
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; NO16BIT-SIZE-LABEL: 'wide_lanes_to_fp'
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; SDWA-SIZE-LABEL: 'wide_lanes_to_fp'
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+  %asf = sitofp <4 x i16> %a to <4 x float>
+  %auf = uitofp <4 x i16> %a to <4 x float>
+  %ash = sitofp <4 x i16> %a to <4 x half>
+  %auh = uitofp <4 x i16> %a to <4 x half>
+  %bsf = sitofp <4 x i17> %b to <4 x float>
+  %buf = uitofp <4 x i17> %b to <4 x float>
+  %bsh = sitofp <4 x i17> %b to <4 x half>
+  %buh = uitofp <4 x i17> %b to <4 x half>
+  %csf = sitofp <4 x i31> %c to <4 x float>
+  %cuf = uitofp <4 x i31> %c to <4 x float>
+  %csh = sitofp <4 x i31> %c to <4 x half>
+  %cuh = uitofp <4 x i31> %c to <4 x half>
+  %dsh = sitofp <3 x i17> %d to <3 x half>
+  %duh = uitofp <3 x i17> %d to <3 x half>
+  ret void
+}
+
+define void @wide_scalars_to_fp(i16 %a, i17 %b, i31 %c, i12 %d, i32 %e, i8 %f) {
+; NO16BIT-LABEL: 'wide_scalars_to_fp'
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; SDWA-LABEL: 'wide_scalars_to_fp'
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; PACKED-LABEL: 'wide_scalars_to_fp'
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; TRUE16-LABEL: 'wide_scalars_to_fp'
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; SDWA-CVTPK-LABEL: 'wide_scalars_to_fp'
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; PACKED-CVTPK-LABEL: 'wide_scalars_to_fp'
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; TRUE16-CVTPK-LABEL: 'wide_scalars_to_fp'
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; NO16BIT-SIZE-LABEL: 'wide_scalars_to_fp'
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; SDWA-SIZE-LABEL: 'wide_scalars_to_fp'
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+  %asf = sitofp i16 %a to float
+  %auf = uitofp i16 %a to float
+  %ash = sitofp i16 %a to half
+  %auh = uitofp i16 %a to half
+  %bsf = sitofp i17 %b to float
+  %buf = uitofp i17 %b to float
+  %bsh = sitofp i17 %b to half
+  %buh = uitofp i17 %b to half
+  %bsd = sitofp i17 %b to double
+  %bud = uitofp i17 %b to double
+  %csf = sitofp i31 %c to float
+  %cuf = uitofp i31 %c to float
+  %csh = sitofp i31 %c to half
+  %cuh = uitofp i31 %c to half
+  %dsf = sitofp i12 %d to float
+  %duf = uitofp i12 %d to float
+  %dsh = sitofp i12 %d to half
+  %duh = uitofp i12 %d to half
+  %esf = sitofp i32 %e to float
+  %euf = uitofp i32 %e to float
+  %esh = sitofp i32 %e to half
+  %euh = uitofp i32 %e to half
+  %asd = sitofp i16 %a to double
+  %aud = uitofp i16 %a to double
+  %csd = sitofp i31 %c to double
+  %cud = uitofp i31 %c to double
+  %dsd = sitofp i12 %d to double
+  %dud = uitofp i12 %d to double
+  %fsf = sitofp i8 %f to float
+  %fuf = uitofp i8 %f to float
+  %fsh = sitofp i8 %f to half
+  %fuh = uitofp i8 %f to half
+  %fsd = sitofp i8 %f to double
+  %fud = uitofp i8 %f to double
+  ret void
+}

>From 8a3cb255c32c7d7484f5496c74fdbe7bc815380f Mon Sep 17 00:00:00 2001
From: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: Wed, 23 Sep 2026 17:27:13 +0200
Subject: [PATCH 2/2] apply review

---
 .../CostModel/AMDGPU/expanded-int-fp-casts.ll |   30 +-
 .../CostModel/AMDGPU/narrow-int-to-bfloat.ll  |  378 +++---
 .../CostModel/AMDGPU/narrow-int-to-fp.ll      | 1028 +++++++++--------
 3 files changed, 749 insertions(+), 687 deletions(-)

diff --git a/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll b/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
index 5e97470eea6b2..6cefebbf0fc5f 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
@@ -1,20 +1,20 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*(sitofp|uitofp|fptosi|fptoui)"
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX6-THROUGHPUT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu7.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX9
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-gfx9-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.06-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX9
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX9
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,NATIVE-SDWA
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX11
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,NATIVE-NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX6-THROUGHPUT
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu7.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-gfx9-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX8
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.06-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX950
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX11
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX7
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX9-THROUGHPUT,GFX1250
 ; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,GFX6,GFX6-SIZE
 ; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX9
 ; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.42-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX9
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,NATIVE-SDWA
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,NATIVE-NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,FULL,GFX950
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=ALL,HALF,GFX1250
 
 ; Half fits in i32. Bfloat must extend to f32 and use the full i64 expansion.
 define void @bf16_to_i64(bfloat %a, <2 x bfloat> %b, half %h) {
@@ -216,10 +216,10 @@ define void @other_widths(i128 %a, double %b, <2 x i128> %c, <2 x double> %d, fp
 }
 ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
 ; GFX11: {{.*}}
+; GFX1250: {{.*}}
 ; GFX6-SIZE: {{.*}}
 ; GFX6-THROUGHPUT: {{.*}}
 ; GFX7: {{.*}}
 ; GFX8: {{.*}}
 ; GFX9: {{.*}}
-; NATIVE-NOSDWA: {{.*}}
-; NATIVE-SDWA: {{.*}}
+; GFX950: {{.*}}
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
index 1aa34e3b2bf3b..1558eb6cd5c14 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
@@ -1,137 +1,137 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*itofp" --version 6
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NOGFX9
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-BF16
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED-BF16
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX6
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu8.03-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX8
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX950
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX1250
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX6
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX9
 
 ; The RUN lines vary 16 bit instructions, SDWA, gfx9 instructions and the native bf16 conversion.
 ; Subword extraction and bf16 rounding are independent costs. Native packed
 ; rounding still needs one integer-to-f32 conversion for each input lane.
 define void @narrow_to_bfloat(<4 x i8> %a, <4 x i12> %b, <4 x i16> %c, <4 x i17> %d, <4 x i31> %e, <3 x i12> %f, <3 x i17> %g, <2 x i16> %h, <3 x i32> %i) {
-; NO16BIT-LABEL: 'narrow_to_bfloat'
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 4 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 2 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 2 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; GFX6-LABEL: 'narrow_to_bfloat'
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 4 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 2 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 2 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; GFX6:  Cost Model: Found an estimated cost of 9 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
-; NOGFX9-LABEL: 'narrow_to_bfloat'
-; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; NOGFX9:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; GFX8-LABEL: 'narrow_to_bfloat'
+; GFX8:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; GFX8:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
-; SDWA-LABEL: 'narrow_to_bfloat'
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; GFX9-LABEL: 'narrow_to_bfloat'
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
-; PACKED-LABEL: 'narrow_to_bfloat'
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; NOSDWA-LABEL: 'narrow_to_bfloat'
+; NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
-; SDWA-BF16-LABEL: 'narrow_to_bfloat'
-; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; SDWA-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; GFX950-LABEL: 'narrow_to_bfloat'
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
-; PACKED-BF16-LABEL: 'narrow_to_bfloat'
-; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
-; PACKED-BF16:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
+; GFX1250-LABEL: 'narrow_to_bfloat'
+; GFX1250:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %cs = sitofp <4 x i16> %c to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %cu = uitofp <4 x i16> %c to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %ds = sitofp <4 x i17> %d to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %du = uitofp <4 x i17> %d to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %es = sitofp <4 x i31> %e to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 10 for instruction: %eu = uitofp <4 x i31> %e to <4 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %fs = sitofp <3 x i12> %f to <3 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %fu = uitofp <3 x i12> %f to <3 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %gs = sitofp <3 x i17> %g to <3 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %gu = uitofp <3 x i17> %g to <3 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 4 for instruction: %hs = sitofp <2 x i16> %h to <2 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 4 for instruction: %hu = uitofp <2 x i16> %h to <2 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %is = sitofp <3 x i32> %i to <3 x bfloat>
+; GFX1250:  Cost Model: Found an estimated cost of 7 for instruction: %iu = uitofp <3 x i32> %i to <3 x bfloat>
 ;
   %as = sitofp <4 x i8> %a to <4 x bfloat>
   %au = uitofp <4 x i8> %a to <4 x bfloat>
@@ -155,77 +155,77 @@ define void @narrow_to_bfloat(<4 x i8> %a, <4 x i12> %b, <4 x i16> %c, <4 x i17>
 }
 
 define void @narrow_scalars_to_bfloat(i8 %a, i12 %b, i16 %c, i17 %d, i31 %e) {
-; NO16BIT-LABEL: 'narrow_scalars_to_bfloat'
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; GFX6-LABEL: 'narrow_scalars_to_bfloat'
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; GFX6:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
-; NOGFX9-LABEL: 'narrow_scalars_to_bfloat'
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; NOGFX9:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; GFX8-LABEL: 'narrow_scalars_to_bfloat'
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; GFX8:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
-; SDWA-LABEL: 'narrow_scalars_to_bfloat'
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; GFX9-LABEL: 'narrow_scalars_to_bfloat'
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
-; PACKED-LABEL: 'narrow_scalars_to_bfloat'
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; NOSDWA-LABEL: 'narrow_scalars_to_bfloat'
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
-; SDWA-BF16-LABEL: 'narrow_scalars_to_bfloat'
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; SDWA-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; GFX950-LABEL: 'narrow_scalars_to_bfloat'
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
-; PACKED-BF16-LABEL: 'narrow_scalars_to_bfloat'
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
-; PACKED-BF16:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
+; GFX1250-LABEL: 'narrow_scalars_to_bfloat'
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %as = sitofp i8 %a to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %au = uitofp i8 %a to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %bs = sitofp i12 %b to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %bu = uitofp i12 %b to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %cs = sitofp i16 %c to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %cu = uitofp i16 %c to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %ds = sitofp i17 %d to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %du = uitofp i17 %d to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %es = sitofp i31 %e to bfloat
+; GFX1250:  Cost Model: Found an estimated cost of 1 for instruction: %eu = uitofp i31 %e to bfloat
 ;
   %as = sitofp i8 %a to bfloat
   %au = uitofp i8 %a to bfloat
diff --git a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
index 37ae475c9b9c8..3e5558bf3e622 100644
--- a/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+++ b/llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
@@ -1,15 +1,15 @@
 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py UTC_ARGS: --filter "instruction:.*itofp" --version 6
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=PACKED
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=TRUE16
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-CVTPK
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=PACKED-CVTPK
-; RUN: opt -passes="print<cost-model>" -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=TRUE16-CVTPK
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT-SIZE
-; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=SDWA-SIZE
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-16-bit-insts < %s 2>&1 | FileCheck %s --check-prefixes=NO16BIT
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX9
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.00-amd-amdhsa -mattr=-sdwa < %s 2>&1 | FileCheck %s --check-prefixes=GFX9-NOSDWA
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=GFX11-FAKE16
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu11.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX11-TRUE16
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu9.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX950
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu12.50-amd-amdhsa -mattr=-real-true16 < %s 2>&1 | FileCheck %s --check-prefixes=GFX1250-FAKE16
+; RUN: opt -passes="print<cost-model>" -cost-kind=throughput -disable-output -mtriple=amdgpu12.50-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX1250-TRUE16
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu6.01-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX6-SIZE
+; RUN: opt -passes="print<cost-model>" -cost-kind=code-size -disable-output -mtriple=amdgpu9.00-amd-amdhsa < %s 2>&1 | FileCheck %s --check-prefixes=GFX9-SIZE
 
 ; The RUN lines vary 16 bit instructions, SDWA, real true16 and the packed f16 conversion.
 
@@ -26,85 +26,95 @@ define void @narrow_lanes_to_fp(<4 x i8> %a, <4 x i12> %b, <3 x i16> %c, <8 x i1
 ; NO16BIT:  Cost Model: Found an estimated cost of 8 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
 ; NO16BIT:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; SDWA-LABEL: 'narrow_lanes_to_fp'
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; SDWA:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; SDWA:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX9-LABEL: 'narrow_lanes_to_fp'
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX9:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX9:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; PACKED-LABEL: 'narrow_lanes_to_fp'
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; PACKED:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; PACKED:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX9-NOSDWA-LABEL: 'narrow_lanes_to_fp'
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; TRUE16-LABEL: 'narrow_lanes_to_fp'
-; TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX11-FAKE16-LABEL: 'narrow_lanes_to_fp'
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; SDWA-CVTPK-LABEL: 'narrow_lanes_to_fp'
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX11-TRUE16-LABEL: 'narrow_lanes_to_fp'
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; PACKED-CVTPK-LABEL: 'narrow_lanes_to_fp'
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX950-LABEL: 'narrow_lanes_to_fp'
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX950:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX950:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; TRUE16-CVTPK-LABEL: 'narrow_lanes_to_fp'
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX1250-FAKE16-LABEL: 'narrow_lanes_to_fp'
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; NO16BIT-SIZE-LABEL: 'narrow_lanes_to_fp'
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX1250-TRUE16-LABEL: 'narrow_lanes_to_fp'
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
-; SDWA-SIZE-LABEL: 'narrow_lanes_to_fp'
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+; GFX6-SIZE-LABEL: 'narrow_lanes_to_fp'
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
+;
+; GFX9-SIZE-LABEL: 'narrow_lanes_to_fp'
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %as = sitofp <4 x i8> %a to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %au = uitofp <4 x i8> %a to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bs = sitofp <4 x i12> %b to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bu = uitofp <4 x i12> %b to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i12> %b to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %cu = uitofp <3 x i16> %c to <3 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 22 for instruction: %ds = sitofp <8 x i16> %d to <8 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 8 for instruction: %es = sitofp <8 x i8> %e to <8 x half>
 ;
   %as = sitofp <4 x i8> %a to <4 x half>
   %au = uitofp <4 x i8> %a to <4 x half>
@@ -134,133 +144,149 @@ define void @wide_lanes_to_fp(<4 x i16> %a, <4 x i17> %b, <4 x i31> %c, <3 x i17
 ; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
 ; NO16BIT:  Cost Model: Found an estimated cost of 9 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; SDWA-LABEL: 'wide_lanes_to_fp'
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; SDWA:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX9-LABEL: 'wide_lanes_to_fp'
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX9:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+;
+; GFX9-NOSDWA-LABEL: 'wide_lanes_to_fp'
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; PACKED-LABEL: 'wide_lanes_to_fp'
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; PACKED:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX11-FAKE16-LABEL: 'wide_lanes_to_fp'
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; TRUE16-LABEL: 'wide_lanes_to_fp'
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX11-TRUE16-LABEL: 'wide_lanes_to_fp'
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; SDWA-CVTPK-LABEL: 'wide_lanes_to_fp'
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX950-LABEL: 'wide_lanes_to_fp'
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX950:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; PACKED-CVTPK-LABEL: 'wide_lanes_to_fp'
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX1250-FAKE16-LABEL: 'wide_lanes_to_fp'
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; TRUE16-CVTPK-LABEL: 'wide_lanes_to_fp'
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX1250-TRUE16-LABEL: 'wide_lanes_to_fp'
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; NO16BIT-SIZE-LABEL: 'wide_lanes_to_fp'
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX6-SIZE-LABEL: 'wide_lanes_to_fp'
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 4 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 9 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
-; SDWA-SIZE-LABEL: 'wide_lanes_to_fp'
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
+; GFX9-SIZE-LABEL: 'wide_lanes_to_fp'
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp <4 x i16> %a to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp <4 x i16> %a to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %ash = sitofp <4 x i16> %a to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %auh = uitofp <4 x i16> %a to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp <4 x i17> %b to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp <4 x i17> %b to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %bsh = sitofp <4 x i17> %b to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %buh = uitofp <4 x i17> %b to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp <4 x i31> %c to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp <4 x i31> %c to <4 x float>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %csh = sitofp <4 x i31> %c to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 10 for instruction: %cuh = uitofp <4 x i31> %c to <4 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %dsh = sitofp <3 x i17> %d to <3 x half>
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 7 for instruction: %duh = uitofp <3 x i17> %d to <3 x half>
 ;
   %asf = sitofp <4 x i16> %a to <4 x float>
   %auf = uitofp <4 x i16> %a to <4 x float>
@@ -316,293 +342,329 @@ define void @wide_scalars_to_fp(i16 %a, i17 %b, i31 %c, i12 %d, i32 %e, i8 %f) {
 ; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
 ; NO16BIT:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; SDWA-LABEL: 'wide_scalars_to_fp'
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; SDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX9-LABEL: 'wide_scalars_to_fp'
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX9:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+;
+; GFX9-NOSDWA-LABEL: 'wide_scalars_to_fp'
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX9-NOSDWA:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; PACKED-LABEL: 'wide_scalars_to_fp'
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; PACKED:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX11-FAKE16-LABEL: 'wide_scalars_to_fp'
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX11-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; TRUE16-LABEL: 'wide_scalars_to_fp'
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX11-TRUE16-LABEL: 'wide_scalars_to_fp'
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX11-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; SDWA-CVTPK-LABEL: 'wide_scalars_to_fp'
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; SDWA-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX950-LABEL: 'wide_scalars_to_fp'
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX950:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; PACKED-CVTPK-LABEL: 'wide_scalars_to_fp'
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; PACKED-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX1250-FAKE16-LABEL: 'wide_scalars_to_fp'
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX1250-FAKE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; TRUE16-CVTPK-LABEL: 'wide_scalars_to_fp'
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; TRUE16-CVTPK:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX1250-TRUE16-LABEL: 'wide_scalars_to_fp'
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX1250-TRUE16:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; NO16BIT-SIZE-LABEL: 'wide_scalars_to_fp'
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; NO16BIT-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX6-SIZE-LABEL: 'wide_scalars_to_fp'
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX6-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
-; SDWA-SIZE-LABEL: 'wide_scalars_to_fp'
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
-; SDWA-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
+; GFX9-SIZE-LABEL: 'wide_scalars_to_fp'
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asf = sitofp i16 %a to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auf = uitofp i16 %a to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %ash = sitofp i16 %a to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %auh = uitofp i16 %a to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsf = sitofp i17 %b to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buf = uitofp i17 %b to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsh = sitofp i17 %b to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %buh = uitofp i17 %b to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bsd = sitofp i17 %b to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %bud = uitofp i17 %b to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csf = sitofp i31 %c to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuf = uitofp i31 %c to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csh = sitofp i31 %c to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cuh = uitofp i31 %c to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsf = sitofp i12 %d to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duf = uitofp i12 %d to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsh = sitofp i12 %d to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %duh = uitofp i12 %d to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esf = sitofp i32 %e to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euf = uitofp i32 %e to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %esh = sitofp i32 %e to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %euh = uitofp i32 %e to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %asd = sitofp i16 %a to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %aud = uitofp i16 %a to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %csd = sitofp i31 %c to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %cud = uitofp i31 %c to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dsd = sitofp i12 %d to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %dud = uitofp i12 %d to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsf = sitofp i8 %f to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuf = uitofp i8 %f to float
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsh = sitofp i8 %f to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fuh = uitofp i8 %f to half
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fsd = sitofp i8 %f to double
+; GFX9-SIZE:  Cost Model: Found an estimated cost of 1 for instruction: %fud = uitofp i8 %f to double
 ;
   %asf = sitofp i16 %a to float
   %auf = uitofp i16 %a to float



More information about the llvm-commits mailing list