summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-03R600: Fix up test/CodeGen/R600/llvm.pow.ll for r177730HEADmesa-9.1.1masterMichel Danzer1-1/+1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177736 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 21675c8ab0e2ec788caed6c0d88b20f6e5ebdbda)
2013-04-03R600: Use legacy (0 * anything = 0) MUL instructions for pow intrinsicsMichel Danzer4-15/+5
Fixes wrong lighting in some corner cases with r600g and radeonsi, e.g. manifested by failure of two piglit/glean tests and intermittent black patches in many apps. Tested on SI and RS880. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62012 [radeonsi] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58150 [r600g] NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Christian König <christian.koenig@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177730 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit c446baa0be1ed2a3bf157519f89a65d348aad17c)
2013-04-03R600/SI: Use source schedulerMichel Danzer1-0/+2
This is certainly not the last word on scheduling for this target, but right now this allows a few apps to run / finish with radeonsi, most notably UT2004 / Lightsmark. They fail to compile some shaders with the default scheduler because it ends up trying to spill registers, which we don't support yet (and which is probably a bad idea in general for performance if it can be avoided). NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176687 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit d787c047bcc5d0d81743f9d4403d5c54fe4757fe)
2013-04-03R600: Add support for indirect addressing of non default const bufferVincent Lejeune2-7/+8
NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176484 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 3f7f8e814ef49b79b9c41e75df40be3bdb3612f5)
2013-04-03R600/SI: fix VOP3b encoding v2Christian Konig2-6/+32
v2: document why we hardcode VCC for now. This is a candidate for the mesa-stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176099 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 749428f852b63a98e872ba69b0c576b26b7b7518)
2013-04-03R600/SI: fix and cleanup SI register definition v2Christian Konig2-97/+135
Prevent producing real strange tablegen code by using proper register sizes, alignments and hierarchy. Also cleanup the unused definitions and add some comments. v2: add SGPR 512 bit registers, stop registers from wrapping around, fix SGPR alignment This is a candidate for the mesa-stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176098 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 6fd49bc89adb515ae389f34f18b3c52c13b579fa)
2013-04-03R600/SI: fix stupid typoChristian Konig1-1/+1
This is a candidate for the mesa-stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176097 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a25b8d4c0b4f6422c58c0ca5c003757bfbf636ac)
2013-04-03R600/SI: add all the other missing asm operands v2Christian Konig2-22/+29
v2: put implicit parameters in [] Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175754 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 53f22df199542f6fc4e0edc5b7cecbeacea11ada)
2013-04-03R600/SI: add the missing M*BUF|IMG asm operandsChristian Konig1-4/+8
Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175753 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit ee44118ef7a917b2fd94f40e5a07d8b5f420acf2)
2013-04-03R600/SI: add the missing S_* asm operandsChristian Konig1-18/+34
Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175752 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit f17d0d6f806e7e215c8fb17120ed18c22e957771)
2013-04-03R600/SI: rework VOP3 classesChristian Konig1-14/+14
Order the classes and add asm operands. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175751 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit b4dc10c8c5df75c0b281e0d815018b5830b965b9)
2013-04-03R600/SI: simplify VOPC_* pattern v2Christian Konig3-255/+217
Fixing asm operation names. v2: fix name of the e64 encoding, also add asm operands Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175750 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 7b3dab2673128257b6bf9a3eaa4fe5aad9c9a675)
2013-04-03R600/SI: rework VOP2_* pattern v2Christian Konig2-21/+19
Fixing asm operation names. v2: use ZERO constant, also add asm operands Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175749 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 477963aff4f7fd93c3dfdb253c2983dc9f0450f9)
2013-04-03R600/SI: rework VOP1_* patterns v2Christian Konig1-17/+21
Fixing asm operation names. v2: use ZERO constant, also add asm operands Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175748 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a38ccb4b32fca60264b734090a00cb850bcfbaf7)
2013-04-03R600/SI: add constant for inline zero operandChristian Konig1-4/+3
Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175747 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 7fa9957b16ee314b294da8abbec70bd2f1dfa608)
2013-04-03R600/SI: cleanup SIInstrInfo.td and SIInstrFormat.tdChristian Konig2-488/+527
Those two files got mixed up. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175746 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 8c0b3a0d31f2eb04d96f63b72e189fe82f8b4a4f)
2013-02-27R600/SI: Add pattern for sign extension of i1 to i32.mesa-9.1Michel Danzer1-0/+5
16 more little piglits with radeonsi. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175887 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 890dc926808587a193d705b89163b5a0c64444d9)
2013-02-27R600/SI: Add pattern for logical or of i1 values.Michel Danzer1-0/+4
24 more little piglits with radeonsi. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175886 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit dd24703f95676c148171f2c0b8431b7c1baf6601)
2013-02-27R600/SI: Add pattern for fceil.Michel Danzer1-1/+3
9 more little piglits with radeonsi. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175885 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 86f7e67db3d226be6529acb54c24d1058823beb9)
2013-02-27R600/SI: replace SI_V_CNDLT with a patternChristian Konig3-31/+5
It actually fixes quite a bunch of piglit tests. This is a candidate for the mesa-stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175756 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 1fbb3b3ce5629b22129a47c83bc84e2d783dde57)
2013-02-26R600: Move intrinsic definitions into the R600 target directory9.1-abi-fixTom Stellard3-37/+23
There were only a few intrinsics defined in include/llvm and they didn't have any corresponding clang __builtins, so there is no reason to keep them there.
2013-02-26Revert "Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics."Tom Stellard2-24/+0
This reverts commit 4f0a34e93e0c78320545f7a31fd35c7efc597d1a. This patch breaks ABI compatibility with the official LLVM 3.2 release.
2013-02-21R600: Fix for Unigine when MachineSched is enabledTom Stellard2-0/+29
Fixes for-loop.cl piglit test Patch By: Vincent Lejeune Reviewed-by: Tom Stellard <thomas.stellard@amd.com> NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175742 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 70a9ca9420b1428147da512721b4456f8836586e)
2013-02-21R600/SI: Make sure M0 is loaded for V_INTERP_MOV_F32Michel Danzer2-1/+25
NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175733 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 74bf7a8467262ad60c8b13582bd6b07fd30b5550)
2013-02-19R600: Add AR_X to the R600_TReg_X register class.tstellar1-1/+1
NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175519 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 615fb7f5f450db487a6837878c83057b3edb5d73)
2013-02-19R600: Mark all members of the TRegMem register class as reservedtstellar1-0/+6
This stops the Machine Verifier from complaining about uses of undefined physical registers. NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175518 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit f29f24339d64d5530a8ead396598ea76af717f50)
2013-02-19R600: Fix scheduler crash caused by invalid MachinePointerInfotstellar1-1/+1
Kernel function arguments are lowered to loads from the PARAM_I address space. When creating these load instructions, we were initializing their MachinePointerInfo with an Arguement object that was not attached to any function. This was causing the MachineScheduler to crash when it tried to access the parent of the Arguement. This has been fixed by initializing the MachinePointerInfo with a UndefValue instead. NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175517 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 9210b2a84f16fa442102b477205e366a12a6823a)
2013-02-19R600: Fix tracking of implicit defs in the IndirectAddressing pasststellar1-7/+25
In some cases, we were losing track of live implicit registers which was creating dead defs and causing the scheduler to produce invalid code. NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175516 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit f68580f371d52fef8618e6d2dc15d4392c623e5a)
2013-02-19R600: Support for TBOvljn3-1/+58
NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard at amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175445 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 610c20caf61a78e205347fdf56b27fa4ac2ad15d)
2013-02-19R600/SI: Add pattern to simplify i64 loadingckoenig2-0/+9
This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175356 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 404ec62807f28de722ee2be0bc14c55c680a6b8d)
2013-02-19R600/SI: nuke SReg_1 v3ckoenig7-118/+23
It's completely unnecessary and can be replace with proper SReg_64 handling instead. This actually fixes a piglit test on SI. v2: use correct register class in addRegisterClass, set special classes as not allocatable v3: revert setting special classes as not allocateable This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175355 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit baa6f0f0f7263425bc0c0ab6434599d1e2d825ae)
2013-02-19R600/SI: cleanup literal handling v3ckoenig10-197/+179
Seems to be allot simpler, and also paves the way for further improvements. v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW, use VGPR0 in dummy EXP, avoid compiler warning, break after encoding the first literal. v3: correctly use V_ADD_F32_e64 This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175354 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 6f171f9803ebeb4dd36b6051244c809081ca5f30) Conflicts: lib/Target/R600/SIInstrInfo.cpp lib/Target/R600/SILowerLiteralConstants.cpp
2013-02-19R600/SI: replace AllReg_* with [SV]Src_* v2ckoenig3-85/+89
Mark all the operands that can also have an immediate. v2: SOFFSET is also an SSrc_32 operand This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175353 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 1935052c4174a0c02fd24866bbeb20cde621f5b1)
2013-02-19R600/SI: fix VOPC encoding v2ckoenig1-37/+16
Previously it only worked because of coincident. v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0 for the unused SRC2 This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175352 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit e2bd6eecf85510fbee0f071665125651a36b5cae)
2013-02-19R600/SI: move *_Helper definitions to SIInstrFormat.tdckoenig2-66/+66
This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175351 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 245404ff0a962068b458d459bd2165cf90dffa85)
2013-02-19R600/SI: remove some more unused codeckoenig2-52/+0
This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175350 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 5946c6fae4b708179782f04afb151a8fc1a0f632)
2013-02-19R600/structurizer: improve inverting conditionsckoenig1-1/+39
Stop adding more instructions than necessary. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175349 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit ee16b32089843751148b61fc3889f26965dc9a5f)
2013-02-19R600/structurizer: improve loop handlingckoenig1-195/+147
Generate more than one loop if it seems to make sense. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175348 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit ea6f283cda3d25eeb7df7f642a34786972fdfa18) Conflicts: lib/Target/R600/AMDGPUStructurizeCFG.cpp
2013-02-19R600/structurizer: improve finding condition valuesckoenig1-9/+22
Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175347 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit f9459f12d2eefd122a797051be0e2704c249ae13) Conflicts: lib/Target/R600/AMDGPUStructurizeCFG.cpp
2013-02-19R600/structurizer: improve PHI value findingckoenig1-0/+6
Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175346 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit fe8baf459f6e9f52ef8e5cc630e567f38ad196fa)
2013-02-19R600/structurizer: add class to find the Nearest Common Dominatorckoenig1-0/+66
This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175345 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a11f07b12419d900376b6206a8cf1711ff1445d9)
2013-02-19R600/SI: Fix int_SI_fs_interp_constantdaenzer5-37/+34
The important fix is that the constant interpolation value is stored in the parameter slot P0, which is encoded as 2. In addition, drop the SI_INTERP_CONST pseudo instruction, pass the parameter slot as an operand to V_INTERP_MOV_F32 instead of hardcoding it there, and add a special operand class for the parameter slots for type checking and pretty printing. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175193 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 97eba4246d0c41dd718ffff1e0f4011c986c2fe8)
2013-02-19R600: Do not fold single instruction with more that 3 kcache readvljn3-1/+55
It fixes around 100 tfb piglit tests and 16 glean tests. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard at amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175183 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a9025ac78c7882532ccce35be268661e396e4858)
2013-02-19R600: Do not fold modifier/litterals in vector instvljn1-2/+5
This fixes a couple of regressions on (probably not just) cayman NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard at amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175180 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a0a54acc145853cfab62a54de076b92914c85501)
2013-02-13R600: Add support for 128-bit parameterststellar3-0/+23
NOTE: This is a candidate for the Mesa stable branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175096 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 238e0a81bdeaf53ea2fdcd236a7610c1d9aefaf0)
2013-02-13R600: Fix regression with shadow array sampler on pre-SI GPUs.daenzer1-1/+1
'R600/SI: Use proper instructions for array/shadow samplers.' removed two cases from TEX_SHADOW. Vincent Lejeune reported on IRC that this broke some shadow array piglit tests with the r600g driver. Reinstating the removed cases should fix this, and still works with radeonsi as well. I will follow up with some lit tests which would have caught the regression. NOTE: This is a candidate for the Mesa stable branch. Tested-by: Vincent Lejeune <vljn@ovi.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174963 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit c276b1671d13def6dd142a76f49ec51dd6eaef6f)
2013-02-13R600/SI: Use V_ADD_F32 instead of V_MOV_B32 for clamp/neg/abs modifiers.daenzer1-15/+9
The modifiers don't seem to have any effect with V_MOV_B32, supposedly it's meant to just move bits untouched. Fixes 46 piglit tests with radeonsi, though unfortunately 11 of those had just regressed because they started using the clamp modifier. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174890 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit e86fd521b4d9c980433289809a7a593d36fb329e)
2013-02-08R600: Dump the function name when TargetLowering::LowerCall() failststellar1-0/+5
Also output a more useful error message. NOTE: This is a candidate for the Mesa stable branch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174763 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a525c98b8a871d706291222d53cb137798f612f6)
2013-02-07Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.Craig Topper2-0/+24
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168025 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-06R600: rework flow creation in the structurizer v2Christian König1-177/+195
This fixes a couple of bugs and incorrect assumptions, in total four more piglit tests now pass. v2: fix small bug in the dominator updating Signed-off-by: Christian König <christian.koenig@amd.com>