mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	This was done using the Sparc and PowerPC AsmParsers as guides. So far it is very simple and only supports sopp instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221994 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| ============================
 | |
| User Guide for R600 Back-end
 | |
| ============================
 | |
| 
 | |
| Introduction
 | |
| ============
 | |
| 
 | |
| The R600 back-end provides ISA code generation for AMD GPUs, starting with
 | |
| the R600 family up until the current Sea Islands (GCN Gen 2).
 | |
| 
 | |
| 
 | |
| Assembler
 | |
| =========
 | |
| 
 | |
| The assembler is currently a work in progress and not yet complete.  Below
 | |
| are the currently supported features.
 | |
| 
 | |
| SOPP Instructions
 | |
| -----------------
 | |
| 
 | |
| Unless otherwise mentioned, all SOPP instructions that with an operand
 | |
| accept a integer operand(s) only.  No verification is performed on the
 | |
| operands, so it is up to the programmer to be familiar with the range
 | |
| or acceptable values.
 | |
| 
 | |
| s_waitcnt
 | |
| ^^^^^^^^^
 | |
| 
 | |
| s_waitcnt accepts named arguments to specify which memory counter(s) to
 | |
| wait for.
 | |
| 
 | |
| .. code-block:: nasm
 | |
| 
 | |
|    // Wait for all counters to be 0
 | |
|    s_waitcnt 0
 | |
| 
 | |
|    // Equivalent to s_waitcnt 0.  Counter names can also be delimited by
 | |
|    // '&' or ','.
 | |
|    s_waitcnt vmcnt(0) expcnt(0) lgkcmt(0)
 | |
| 
 | |
|    // Wait for vmcnt counter to be 1.
 | |
|    s_waitcnt vmcnt(1)
 | |
| 
 |