This patch adjusts the cost model to account for the ability of the AMDGPU optimizer to group together i8 values into i32 values. Co-authored-by: Erich Keane <ekeane@nvidia.com>
412 lines
29 KiB
LLVM
412 lines
29 KiB
LLVM
; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
|
|
; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=amdgcn-unknown-amdhsa -mcpu=gfx90a < %s | FileCheck %s --check-prefixes=GFX90A
|
|
|
|
define void @stores_i1(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_i1'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i1 poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <2 x i1> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <3 x i1> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i1> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store i1 poison, ptr poison
|
|
store <2 x i1> poison, ptr poison
|
|
store <3 x i1> poison, ptr poison
|
|
store <4 x i1> poison, ptr poison
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_i8(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_i8'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store i8 poison, ptr poison
|
|
store <2 x i8> poison, ptr poison
|
|
store <3 x i8> poison, ptr poison
|
|
store <4 x i8> poison, ptr poison
|
|
|
|
store i8 poison, ptr poison, align 1
|
|
store <2 x i8> poison, ptr poison, align 1
|
|
store <3 x i8> poison, ptr poison, align 1
|
|
store <4 x i8> poison, ptr poison, align 1
|
|
|
|
store i8 poison, ptr poison, align 4
|
|
store <2 x i8> poison, ptr poison, align 4
|
|
store <3 x i8> poison, ptr poison, align 4
|
|
store <4 x i8> poison, ptr poison, align 4
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_i16(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_i16'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 poison, ptr poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store i16 poison, ptr poison
|
|
store <2 x i16> poison, ptr poison
|
|
store <3 x i16> poison, ptr poison
|
|
store <4 x i16> poison, ptr poison
|
|
|
|
store i16 poison, ptr poison, align 1
|
|
store <2 x i16> poison, ptr poison, align 1
|
|
store <3 x i16> poison, ptr poison, align 1
|
|
store <4 x i16> poison, ptr poison, align 1
|
|
|
|
store i16 poison, ptr poison, align 4
|
|
store <2 x i16> poison, ptr poison, align 4
|
|
store <3 x i16> poison, ptr poison, align 4
|
|
store <4 x i16> poison, ptr poison, align 4
|
|
|
|
store i16 poison, ptr poison, align 8
|
|
store <2 x i16> poison, ptr poison, align 8
|
|
store <3 x i16> poison, ptr poison, align 8
|
|
store <4 x i16> poison, ptr poison, align 8
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_i32(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_i32'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store i32 poison, ptr poison
|
|
store <2 x i32> poison, ptr poison
|
|
store <3 x i32> poison, ptr poison
|
|
store <4 x i32> poison, ptr poison
|
|
|
|
store i32 poison, ptr poison, align 1
|
|
store <2 x i32> poison, ptr poison, align 1
|
|
store <3 x i32> poison, ptr poison, align 1
|
|
store <4 x i32> poison, ptr poison, align 1
|
|
|
|
store i32 poison, ptr poison, align 4
|
|
store <2 x i32> poison, ptr poison, align 4
|
|
store <3 x i32> poison, ptr poison, align 4
|
|
store <4 x i32> poison, ptr poison, align 4
|
|
|
|
store i32 poison, ptr poison, align 8
|
|
store <2 x i32> poison, ptr poison, align 8
|
|
store <3 x i32> poison, ptr poison, align 8
|
|
store <4 x i32> poison, ptr poison, align 8
|
|
|
|
store i32 poison, ptr poison, align 16
|
|
store <2 x i32> poison, ptr poison, align 16
|
|
store <3 x i32> poison, ptr poison, align 16
|
|
store <4 x i32> poison, ptr poison, align 16
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_addrspace_1(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_addrspace_1'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i8> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i16> poison, ptr addrspace(1) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> poison, ptr addrspace(1) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <2 x i1> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr addrspace(1) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr addrspace(1) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr addrspace(1) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <3 x i1> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr addrspace(1) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr addrspace(1) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr addrspace(1) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i1> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr addrspace(1) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr addrspace(1) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr addrspace(1) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <8 x i1> poison, ptr addrspace(1) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i8> poison, ptr addrspace(1) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> poison, ptr addrspace(1) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i32> poison, ptr addrspace(1) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <16 x i1> poison, ptr addrspace(1) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i8> poison, ptr addrspace(1) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i16> poison, ptr addrspace(1) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i32> poison, ptr addrspace(1) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store <32 x i1> poison, ptr addrspace(1) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i8> poison, ptr addrspace(1) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i16> poison, ptr addrspace(1) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i32> poison, ptr addrspace(1) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 64 for instruction: store <64 x i1> poison, ptr addrspace(1) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <64 x i8> poison, ptr addrspace(1) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i16> poison, ptr addrspace(1) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i32> poison, ptr addrspace(1) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 128 for instruction: store <128 x i1> poison, ptr addrspace(1) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <128 x i8> poison, ptr addrspace(1) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i16> poison, ptr addrspace(1) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i32> poison, ptr addrspace(1) poison, align 512
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store <1 x i1> poison, ptr addrspace(1) poison
|
|
store <1 x i8> poison, ptr addrspace(1) poison
|
|
store <1 x i16> poison, ptr addrspace(1) poison
|
|
store <1 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <2 x i1> poison, ptr addrspace(1) poison
|
|
store <2 x i8> poison, ptr addrspace(1) poison
|
|
store <2 x i16> poison, ptr addrspace(1) poison
|
|
store <2 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <3 x i1> poison, ptr addrspace(1) poison
|
|
store <3 x i8> poison, ptr addrspace(1) poison
|
|
store <3 x i16> poison, ptr addrspace(1) poison
|
|
store <3 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <4 x i1> poison, ptr addrspace(1) poison
|
|
store <4 x i8> poison, ptr addrspace(1) poison
|
|
store <4 x i16> poison, ptr addrspace(1) poison
|
|
store <4 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <8 x i1> poison, ptr addrspace(1) poison
|
|
store <8 x i8> poison, ptr addrspace(1) poison
|
|
store <8 x i16> poison, ptr addrspace(1) poison
|
|
store <8 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <16 x i1> poison, ptr addrspace(1) poison
|
|
store <16 x i8> poison, ptr addrspace(1) poison
|
|
store <16 x i16> poison, ptr addrspace(1) poison
|
|
store <16 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <32 x i1> poison, ptr addrspace(1) poison
|
|
store <32 x i8> poison, ptr addrspace(1) poison
|
|
store <32 x i16> poison, ptr addrspace(1) poison
|
|
store <32 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <64 x i1> poison, ptr addrspace(1) poison
|
|
store <64 x i8> poison, ptr addrspace(1) poison
|
|
store <64 x i16> poison, ptr addrspace(1) poison
|
|
store <64 x i32> poison, ptr addrspace(1) poison
|
|
|
|
store <128 x i1> poison, ptr addrspace(1) poison
|
|
store <128 x i8> poison, ptr addrspace(1) poison
|
|
store <128 x i16> poison, ptr addrspace(1) poison
|
|
store <128 x i32> poison, ptr addrspace(1) poison
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_addrspace_3(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_addrspace_3'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i8> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i16> poison, ptr addrspace(3) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> poison, ptr addrspace(3) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <2 x i1> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr addrspace(3) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr addrspace(3) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr addrspace(3) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <3 x i1> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr addrspace(3) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr addrspace(3) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr addrspace(3) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i1> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr addrspace(3) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr addrspace(3) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr addrspace(3) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <8 x i1> poison, ptr addrspace(3) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i8> poison, ptr addrspace(3) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> poison, ptr addrspace(3) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i32> poison, ptr addrspace(3) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <16 x i1> poison, ptr addrspace(3) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i8> poison, ptr addrspace(3) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i16> poison, ptr addrspace(3) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i32> poison, ptr addrspace(3) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store <32 x i1> poison, ptr addrspace(3) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <32 x i8> poison, ptr addrspace(3) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i16> poison, ptr addrspace(3) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i32> poison, ptr addrspace(3) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 64 for instruction: store <64 x i1> poison, ptr addrspace(3) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <64 x i8> poison, ptr addrspace(3) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i16> poison, ptr addrspace(3) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i32> poison, ptr addrspace(3) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 128 for instruction: store <128 x i1> poison, ptr addrspace(3) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <128 x i8> poison, ptr addrspace(3) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i16> poison, ptr addrspace(3) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i32> poison, ptr addrspace(3) poison, align 512
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store <1 x i1> poison, ptr addrspace(3) poison
|
|
store <1 x i8> poison, ptr addrspace(3) poison
|
|
store <1 x i16> poison, ptr addrspace(3) poison
|
|
store <1 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <2 x i1> poison, ptr addrspace(3) poison
|
|
store <2 x i8> poison, ptr addrspace(3) poison
|
|
store <2 x i16> poison, ptr addrspace(3) poison
|
|
store <2 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <3 x i1> poison, ptr addrspace(3) poison
|
|
store <3 x i8> poison, ptr addrspace(3) poison
|
|
store <3 x i16> poison, ptr addrspace(3) poison
|
|
store <3 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <4 x i1> poison, ptr addrspace(3) poison
|
|
store <4 x i8> poison, ptr addrspace(3) poison
|
|
store <4 x i16> poison, ptr addrspace(3) poison
|
|
store <4 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <8 x i1> poison, ptr addrspace(3) poison
|
|
store <8 x i8> poison, ptr addrspace(3) poison
|
|
store <8 x i16> poison, ptr addrspace(3) poison
|
|
store <8 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <16 x i1> poison, ptr addrspace(3) poison
|
|
store <16 x i8> poison, ptr addrspace(3) poison
|
|
store <16 x i16> poison, ptr addrspace(3) poison
|
|
store <16 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <32 x i1> poison, ptr addrspace(3) poison
|
|
store <32 x i8> poison, ptr addrspace(3) poison
|
|
store <32 x i16> poison, ptr addrspace(3) poison
|
|
store <32 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <64 x i1> poison, ptr addrspace(3) poison
|
|
store <64 x i8> poison, ptr addrspace(3) poison
|
|
store <64 x i16> poison, ptr addrspace(3) poison
|
|
store <64 x i32> poison, ptr addrspace(3) poison
|
|
|
|
store <128 x i1> poison, ptr addrspace(3) poison
|
|
store <128 x i8> poison, ptr addrspace(3) poison
|
|
store <128 x i16> poison, ptr addrspace(3) poison
|
|
store <128 x i32> poison, ptr addrspace(3) poison
|
|
|
|
ret void
|
|
}
|
|
|
|
define void @stores_addrspace_5(i32 %arg) {
|
|
; GFX90A-LABEL: 'stores_addrspace_5'
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i1> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i8> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i16> poison, ptr addrspace(5) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <1 x i32> poison, ptr addrspace(5) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <2 x i1> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i8> poison, ptr addrspace(5) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i16> poison, ptr addrspace(5) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <2 x i32> poison, ptr addrspace(5) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <3 x i1> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i8> poison, ptr addrspace(5) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i16> poison, ptr addrspace(5) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <3 x i32> poison, ptr addrspace(5) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <4 x i1> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i8> poison, ptr addrspace(5) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i16> poison, ptr addrspace(5) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <4 x i32> poison, ptr addrspace(5) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <8 x i1> poison, ptr addrspace(5) poison, align 1
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <8 x i8> poison, ptr addrspace(5) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i16> poison, ptr addrspace(5) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <8 x i32> poison, ptr addrspace(5) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <16 x i1> poison, ptr addrspace(5) poison, align 2
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <16 x i8> poison, ptr addrspace(5) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i16> poison, ptr addrspace(5) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <16 x i32> poison, ptr addrspace(5) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store <32 x i1> poison, ptr addrspace(5) poison, align 4
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 8 for instruction: store <32 x i8> poison, ptr addrspace(5) poison, align 32
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i16> poison, ptr addrspace(5) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store <32 x i32> poison, ptr addrspace(5) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 64 for instruction: store <64 x i1> poison, ptr addrspace(5) poison, align 8
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 16 for instruction: store <64 x i8> poison, ptr addrspace(5) poison, align 64
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i16> poison, ptr addrspace(5) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 2 for instruction: store <64 x i32> poison, ptr addrspace(5) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 128 for instruction: store <128 x i1> poison, ptr addrspace(5) poison, align 16
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 32 for instruction: store <128 x i8> poison, ptr addrspace(5) poison, align 128
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i16> poison, ptr addrspace(5) poison, align 256
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 4 for instruction: store <128 x i32> poison, ptr addrspace(5) poison, align 512
|
|
; GFX90A-NEXT: Cost Model: Found an estimated cost of 10 for instruction: ret void
|
|
;
|
|
store <1 x i1> poison, ptr addrspace(5) poison
|
|
store <1 x i8> poison, ptr addrspace(5) poison
|
|
store <1 x i16> poison, ptr addrspace(5) poison
|
|
store <1 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <2 x i1> poison, ptr addrspace(5) poison
|
|
store <2 x i8> poison, ptr addrspace(5) poison
|
|
store <2 x i16> poison, ptr addrspace(5) poison
|
|
store <2 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <3 x i1> poison, ptr addrspace(5) poison
|
|
store <3 x i8> poison, ptr addrspace(5) poison
|
|
store <3 x i16> poison, ptr addrspace(5) poison
|
|
store <3 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <4 x i1> poison, ptr addrspace(5) poison
|
|
store <4 x i8> poison, ptr addrspace(5) poison
|
|
store <4 x i16> poison, ptr addrspace(5) poison
|
|
store <4 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <8 x i1> poison, ptr addrspace(5) poison
|
|
store <8 x i8> poison, ptr addrspace(5) poison
|
|
store <8 x i16> poison, ptr addrspace(5) poison
|
|
store <8 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <16 x i1> poison, ptr addrspace(5) poison
|
|
store <16 x i8> poison, ptr addrspace(5) poison
|
|
store <16 x i16> poison, ptr addrspace(5) poison
|
|
store <16 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <32 x i1> poison, ptr addrspace(5) poison
|
|
store <32 x i8> poison, ptr addrspace(5) poison
|
|
store <32 x i16> poison, ptr addrspace(5) poison
|
|
store <32 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <64 x i1> poison, ptr addrspace(5) poison
|
|
store <64 x i8> poison, ptr addrspace(5) poison
|
|
store <64 x i16> poison, ptr addrspace(5) poison
|
|
store <64 x i32> poison, ptr addrspace(5) poison
|
|
|
|
store <128 x i1> poison, ptr addrspace(5) poison
|
|
store <128 x i8> poison, ptr addrspace(5) poison
|
|
store <128 x i16> poison, ptr addrspace(5) poison
|
|
store <128 x i32> poison, ptr addrspace(5) poison
|
|
|
|
ret void
|
|
}
|