summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode/binaryIntInstructions.3.2.ll.bc
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2016-10-31 14:21:36 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2016-10-31 14:21:36 +0000
commitec5d779eb84e34d7ef6cfc3d17b23576a9134303 (patch)
treea4e39d11fb72d8c2599e5918fe03272873385e9d /llvm/test/Bitcode/binaryIntInstructions.3.2.ll.bc
parent15604b996f37a730e60da7e02e6093a91b2258fd (diff)
downloadbcm5719-llvm-ec5d779eb84e34d7ef6cfc3d17b23576a9134303.tar.gz
bcm5719-llvm-ec5d779eb84e34d7ef6cfc3d17b23576a9134303.zip
[SystemZ] Fix encoding of MVCK and .insn ss
LLVM currently treats the first operand of MVCK as if it were a regular base+index+displacement address. However, it is in fact a base+displacement combined with a length register field. While the two might look syntactically similar, there are two semantic differences: - %r0 is a valid length register, even though it cannot be used as an index register. - In an expression with just a single register like 0(%rX), the register is treated as base with normal addresses, while it is treated as the length register (with an empty base) for MVCK. Fixed by adding a new operand parser class BDRAddr and reworking the assembler parser to distinguish between address + length register operands and regular addresses. llvm-svn: 285574
Diffstat (limited to 'llvm/test/Bitcode/binaryIntInstructions.3.2.ll.bc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud