544 changes: 419 additions & 125 deletions llvm/lib/Target/AMDGPU/VOP2Instructions.td

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions llvm/test/CodeGen/AMDGPU/max-sgprs.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s

; GCN-LABEL: {{^}}max_sgprs_gfx10:
; GCN: NumSgprs: 108
define amdgpu_kernel void @max_sgprs_gfx10() #0 {
call void asm sideeffect "", "~{s[0:7]}" ()
call void asm sideeffect "", "~{s[8:15]}" ()
call void asm sideeffect "", "~{s[16:23]}" ()
call void asm sideeffect "", "~{s[24:31]}" ()
call void asm sideeffect "", "~{s[32:39]}" ()
call void asm sideeffect "", "~{s[40:47]}" ()
call void asm sideeffect "", "~{s[48:55]}" ()
call void asm sideeffect "", "~{s[56:63]}" ()
call void asm sideeffect "", "~{s[64:71]}" ()
call void asm sideeffect "", "~{s[72:79]}" ()
call void asm sideeffect "", "~{s[80:87]}" ()
call void asm sideeffect "", "~{s[88:95]}" ()
call void asm sideeffect "", "~{s[96:99]}" ()
call void asm sideeffect "", "~{s[100:104]}" ()
call void asm sideeffect "", "~{s105}" ()
call void asm sideeffect "", "~{vcc}" ()
ret void
}

attributes #0 = { nounwind "target-cpu"="gfx1010" }
7 changes: 7 additions & 0 deletions llvm/test/MC/Disassembler/AMDGPU/null-reg.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1010 -show-encoding --disassemble < %s | FileCheck -check-prefix=GFX10 %s

0x7d,0x04,0x00,0x10
# GFX10: v_mul_f32_e32 v0, null, v2 ; encoding: [0x7d,0x04,0x00,0x10]

0x7d,0x7d,0x7d,0x80
# GFX10: s_add_u32 null, null, null ; encoding: [0x7d,0x7d,0x7d,0x80]