summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/SIDefines.h
Commit message (Collapse)AuthorAgeFilesLines
* R600/SI: Add class intrinsicMatt Arsenault2015-01-061-0/+15
| | | | llvm-svn: 225305
* R600/SI: Move more information into SIProgramInfo structTom Stellard2014-12-021-1/+8
| | | | llvm-svn: 223154
* R600/SI: Various instruction format bit test cleanupsMatt Arsenault2014-12-011-10/+20
| | | | | | | | | | | - Fix missing SALU format bits - Remove unused isSALUInstr - Add isVALU - Switch isDS to use a bit like the others - Move SIInstrInfo::is* functions to header - Reorder so they are approximately sorted by type (SALU, VALU, memory) llvm-svn: 223038
* R600/SI: Fix printing of clamp and omodMatt Arsenault2014-09-301-0/+9
| | | | | | | | No tests for omod since nothing uses it yet, but this should get rid of the remaining annoying trailing zeros after some instructions. llvm-svn: 218692
* R600/SI: Fix hardcoded values for modifiers.Matt Arsenault2014-09-291-0/+16
| | | | | | Move enums to SIDefines.h llvm-svn: 218610
* R600/SI: Add preliminary support for flat address spaceMatt Arsenault2014-09-151-1/+2
| | | | llvm-svn: 217777
* Canonicalize header guards into a common format.Benjamin Kramer2014-08-131-3/+3
| | | | | | | | | | Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we decide they're useful) Changes made by clang-tidy with minor tweaks. llvm-svn: 215558
* R600/SI: Add isMUBUF / isMTBUFMatt Arsenault2014-07-291-1/+4
| | | | | | Also add missing comments about how the flags work. llvm-svn: 214195
* R600/SI: Use scratch memory for large private arraysTom Stellard2014-07-211-0/+4
| | | | llvm-svn: 213551
* R600/SI: Add FP mode bits to binary.Matt Arsenault2014-06-261-0/+50
| | | | | | | | The default rounding mode to initialize the mode register needs to be reported to the runtime. Fill in other bits a kernel may be interested in setting for future use. llvm-svn: 211791
* R600/SI: Prefer SALU instructions for bit shift operationsTom Stellard2013-11-131-1/+2
| | | | | | | | | | | | | | All shift operations will be selected as SALU instructions and then if necessary lowered to VALU instructions in the SIFixSGPRCopies pass. This allows us to do more operations on the SALU which will improve performance and is also required for implementing private memory using indirect addressing, since the private memory pointers must stay in the scalar registers. This patch includes some fixes from Matt Arsenault. llvm-svn: 194625
* R600/SI: Implement SIInstrInfo::verifyInstruction() for VOP*Tom Stellard2013-10-101-1/+5
| | | | | | | The function is used by the machine verifier and checks that VOP* instructions have legal operands. llvm-svn: 192367
* R600/SI: Fix broken encoding of DS_WRITE_B32Michel Danzer2013-08-161-1/+2
| | | | | | | | | | | | | | The logic in SIInsertWaits::getHwCounts() only really made sense for SMRD instructions, and trying to shoehorn it into handling DS_WRITE_B32 caused it to corrupt the encoding of that by clobbering the first operand with the second one. Undo that damage and only apply the SMRD logic to that. Fixes some derivates related piglit regressions with radeonsi. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188558
* R600/SI: Assign a register class to the $vaddr operand for MIMG instructionsTom Stellard2013-08-141-0/+6
| | | | | | | The previous code declared the operand as unknown:$vaddr, which made it possible for scalar registers to be used instead of vector registers. llvm-svn: 188425
* R600/SI: Initial local memory supportMichel Danzer2013-07-101-0/+4
| | | | | | | Enough for the radeonsi driver to use it for calculating derivatives. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 186012
* R600/SI: Emit config values in register value pairs.Tom Stellard2013-04-151-0/+22
Instead of emitting config values in a predefined order, the code emitter will now emit a 32-bit register index followed by the 32-bit config value. llvm-svn: 179546
OpenPOWER on IntegriCloud