Sparc: Add the "alternate address space" load/store instructions.
authorJames Y Knight <jyknight@google.com>
Mon, 18 May 2015 16:35:04 +0000 (16:35 +0000)
committerJames Y Knight <jyknight@google.com>
Mon, 18 May 2015 16:35:04 +0000 (16:35 +0000)
commitee058202fa7a4960d7601ccb0bc06674460a2da4
tree68200c225ab7a8aa41059240fbc296efd52cfe1f
parentf272788a95f234054e2420c8c22ceec93298c6eb
Sparc: Add the "alternate address space" load/store instructions.

- Adds support for the asm syntax, which has an immediate integer
  "ASI" (address space identifier) appearing after an address, before
  a comma.

- Adds the various-width load, store, and swap in alternate address
  space instructions. (ldsba, ldsha, lduba, lduha, lda, stba, stha,
  sta, swapa)

This does not attempt to hook these instructions up to pointer address
spaces in LLVM, although that would probably be a reasonable thing to
do in the future.

Differential Revision: http://reviews.llvm.org/D8904

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237581 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
lib/Target/Sparc/SparcInstr64Bit.td
lib/Target/Sparc/SparcInstrFormats.td
lib/Target/Sparc/SparcInstrInfo.td
test/MC/Disassembler/Sparc/sparc-mem.txt
test/MC/Sparc/sparc-atomic-instructions.s
test/MC/Sparc/sparc-mem-instructions.s
test/MC/Sparc/sparcv9-atomic-instructions.s [new file with mode: 0644]