R600/SI: Fix incorrect encoding of DS_WRITE_B32 instructions
authorTom Stellard <thomas.stellard@amd.com>
Fri, 16 Aug 2013 01:12:20 +0000 (01:12 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 16 Aug 2013 01:12:20 +0000 (01:12 +0000)
commit82bef57f2047a96f301130fafc8cb3d38e6238c5
treedee4f37f1c75264044807e7f4ecf0fa2cd8f6432
parentb03edeca6731856fe43e8aca739957c482a6257c
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.

llvm-svn: 188522
llvm/lib/Target/R600/SIInsertWaits.cpp
llvm/lib/Target/R600/SIInstrInfo.td
llvm/lib/Target/R600/SIInstructions.td
llvm/test/CodeGen/R600/local-memory.ll