mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 02:29:18 +00:00
R600/SI: Remove handling of fpimm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229136 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1751616522
commit
941454f17f
@ -31,12 +31,6 @@ using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
/// \brief Helper type used in encoding
|
||||
typedef union {
|
||||
int64_t I;
|
||||
double F;
|
||||
} IntFloatUnion;
|
||||
|
||||
class SIMCCodeEmitter : public AMDGPUMCCodeEmitter {
|
||||
SIMCCodeEmitter(const SIMCCodeEmitter &) LLVM_DELETED_FUNCTION;
|
||||
void operator=(const SIMCCodeEmitter &) LLVM_DELETED_FUNCTION;
|
||||
@ -217,19 +211,15 @@ void SIMCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS,
|
||||
continue;
|
||||
|
||||
// Yes! Encode it
|
||||
IntFloatUnion Imm;
|
||||
int64_t Imm = 0;
|
||||
|
||||
if (Op.isImm())
|
||||
Imm.I = Op.getImm();
|
||||
else if (Op.isFPImm())
|
||||
Imm.F = Op.getFPImm();
|
||||
else {
|
||||
assert(Op.isExpr());
|
||||
// This will be replaced with a fixup value.
|
||||
Imm.I = 0;
|
||||
}
|
||||
Imm = Op.getImm();
|
||||
else if (!Op.isExpr()) // Exprs will be replaced with a fixup value.
|
||||
llvm_unreachable("Must be immediate or expr");
|
||||
|
||||
for (unsigned j = 0; j < 4; j++) {
|
||||
OS.write((uint8_t) ((Imm.I >> (8 * j)) & 0xff));
|
||||
OS.write((uint8_t) ((Imm >> (8 * j)) & 0xff));
|
||||
}
|
||||
|
||||
// Only one literal value allowed
|
||||
|
Loading…
Reference in New Issue
Block a user