diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-08-16 01:12:20 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-08-16 01:12:20 +0000 |
commit | a6a39ced095c2f453624ce62c4aead25db41a18f (patch) | |
tree | b7ae0e904a814233601cf7c343a860bbf5f64809 /test/CodeGen/R600 | |
parent | 30d84d8dfa0433088d541c66b92af0da3855bc9c (diff) | |
download | llvm-a6a39ced095c2f453624ce62c4aead25db41a18f.tar.gz llvm-a6a39ced095c2f453624ce62c4aead25db41a18f.tar.bz2 llvm-a6a39ced095c2f453624ce62c4aead25db41a18f.tar.xz |
R600/SI: Fix incorrect encoding of DS_WRITE_B32 instructions
The SIInsertWaits pass was overwriting the first operand (gds bit) of
DS_WRITE_B32 with the second operand (value to write). This meant that
any time the value to write was stored in an odd number VGPR, the gds
bit would be set causing the instruction to write to GDS instead of LDS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188522 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/R600')
-rw-r--r-- | test/CodeGen/R600/local-memory.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGen/R600/local-memory.ll b/test/CodeGen/R600/local-memory.ll index 5458fb9057..ca322ab82a 100644 --- a/test/CodeGen/R600/local-memory.ll +++ b/test/CodeGen/R600/local-memory.ll @@ -13,7 +13,7 @@ ; SI-CHECK-NEXT: .long 32768 ; EG-CHECK: LDS_WRITE -; SI-CHECK: DS_WRITE_B32 +; SI-CHECK: DS_WRITE_B32 0 ; GROUP_BARRIER must be the last instruction in a clause ; EG-CHECK: GROUP_BARRIER @@ -21,7 +21,7 @@ ; SI-CHECK: S_BARRIER ; EG-CHECK: LDS_READ_RET -; SI-CHECK: DS_READ_B32 +; SI-CHECK: DS_READ_B32 VGPR{{[0-9]}}, 0 define void @local_memory(i32 addrspace(1)* %out) { entry: |