Skip to content

Commit f808abd

Browse files
committed
Test types where old num regs is different from current one
1 parent 040b791 commit f808abd

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
; RUN: llc -global-isel -mtriple=amdgcn-amd-amdpal -mcpu=gfx1200 < %s | FileCheck %s --check-prefixes=CHECK,PACKED16
2+
; RUN: llc -global-isel -mtriple=amdgcn-amd-amdpal -mcpu=tahiti < %s | FileCheck %s --check-prefixes=CHECK,SPLIT16
3+
4+
@global = addrspace(1) global i32 poison, align 4
5+
6+
; The hardware initializes the registers received as arguments by entry points,
7+
; so they will be counted even if unused.
8+
9+
; Vectors of i1 are always unpacked
10+
11+
; CHECK-LABEL: vec_of_i1:
12+
; CHECK: TotalNumSgprs: 8
13+
define amdgpu_ps void @vec_of_i1(<8 x i1> inreg %v8i1) {
14+
ret void
15+
}
16+
17+
; Vectors of i8 are always unpacked
18+
19+
; CHECK-LABEL: vec_of_i8:
20+
; CHECK: TotalNumSgprs: 4
21+
define amdgpu_ps void @vec_of_i8(<4 x i8> inreg %v4i8) {
22+
ret void
23+
}
24+
25+
; Vectors of 16-bit types are packed for newer architectures and unpacked for older ones.
26+
27+
; CHECK-LABEL: vec_of_16_bit_ty:
28+
; PACKED16: TotalNumSgprs: 3
29+
; SPLIT16: TotalNumSgprs: 6
30+
define amdgpu_ps void @vec_of_16_bit_ty(<2 x i16> inreg %v2i16, <4 x half> inreg %v4half) {
31+
ret void
32+
}
33+
34+
; CHECK-LABEL: buffer_fat_ptr:
35+
; CHECK: TotalNumSgprs: 5
36+
define amdgpu_ps void @buffer_fat_ptr(ptr addrspace(7) inreg %p) {
37+
ret void
38+
}

0 commit comments

Comments
 (0)