llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc
Matt Arsenault 4bd7236193 AMDGPU: Fix handling of 16-bit immediates
Since 32-bit instructions with 32-bit input immediate behavior
are used to materialize 16-bit constants in 32-bit registers
for 16-bit instructions, determining the legality based
on the size is incorrect. Change operands to have the size
specified in the type.

Also adds a workaround for a disassembler bug that
produces an immediate MCOperand for an operand that
is supposed to be OPERAND_REGISTER.

The assembler appears to accept out of bounds immediates and
truncates them, but this seems to be an issue for 32-bit
already.

llvm-svn: 289306
2016-12-10 00:39:12 +00:00
..
AMDGPUAsmBackend.cpp AMDGPU/SI: Emit fixups for long branches 2016-10-07 16:01:18 +00:00
AMDGPUELFObjectWriter.cpp [AMDGPU] Add 32-bit lo/hi got and pc relative variant kinds and emit appropriate relocations 2016-10-14 04:21:32 +00:00
AMDGPUELFStreamer.cpp AMDGPU/SI: Add support for AMD code object version 2. 2016-05-05 17:03:33 +00:00
AMDGPUELFStreamer.h AMDGPU/SI: Add support for AMD code object version 2. 2016-05-05 17:03:33 +00:00
AMDGPUFixupKinds.h AMDGPU/SI: Refactor fixup handling for constant addrspace variables 2016-06-14 20:29:59 +00:00
AMDGPUMCAsmInfo.cpp AMDGPU: Set MinInstAlignment 2016-06-27 21:42:49 +00:00
AMDGPUMCAsmInfo.h AMDGPU: R600 code splitting cleanup 2016-03-11 08:00:27 +00:00
AMDGPUMCCodeEmitter.cpp
AMDGPUMCCodeEmitter.h Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86. 2016-11-19 13:05:44 +00:00
AMDGPUMCTargetDesc.cpp Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
AMDGPUMCTargetDesc.h Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
AMDGPUTargetStreamer.cpp [AMDGPU] TargetStreamer: Fix .note section name 2016-11-11 13:41:52 +00:00
AMDGPUTargetStreamer.h AMDGPU: Emit runtime metadata as a note element in .note section 2016-11-10 21:18:49 +00:00
CMakeLists.txt
LLVMBuild.txt Fix requirements. 2016-11-10 23:53:45 +00:00
R600MCCodeEmitter.cpp Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86. 2016-11-19 13:05:44 +00:00
SIMCCodeEmitter.cpp AMDGPU: Fix handling of 16-bit immediates 2016-12-10 00:39:12 +00:00