aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-01-18 20:45:56 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-01-18 20:45:56 +0000
commita461d4222877f43588da38c466145f38dd74e229 (patch)
tree4b76c21206e79f775997c85bc06796738c0d972d /utils
parentff12a8bd999569ce76b3a9f5e167f6e89280e9d9 (diff)
downloadexternal_llvm-a461d4222877f43588da38c466145f38dd74e229.zip
external_llvm-a461d4222877f43588da38c466145f38dd74e229.tar.gz
external_llvm-a461d4222877f43588da38c466145f38dd74e229.tar.bz2
Add support for parsing and encoding ARM's official syntax for the BFI instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123770 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/ARMDecoderEmitter.cpp4
-rw-r--r--utils/TableGen/EDEmitter.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/utils/TableGen/ARMDecoderEmitter.cpp b/utils/TableGen/ARMDecoderEmitter.cpp
index 0c88a31..21af620 100644
--- a/utils/TableGen/ARMDecoderEmitter.cpp
+++ b/utils/TableGen/ARMDecoderEmitter.cpp
@@ -1560,6 +1560,10 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
// which is a better design and less fragile than the name matchings.
if (Bits.allInComplete()) return false;
+ // Ignore "asm parser only" instructions.
+ if (Def.getValueAsBit("isAsmParserOnly"))
+ return false;
+
if (TN == TARGET_ARM) {
// FIXME: what about Int_MemBarrierV6 and Int_SyncBarrierV6?
if ((Name != "Int_MemBarrierV7" && Name != "Int_SyncBarrierV7") &&
diff --git a/utils/TableGen/EDEmitter.cpp b/utils/TableGen/EDEmitter.cpp
index c439143..353dbd6 100644
--- a/utils/TableGen/EDEmitter.cpp
+++ b/utils/TableGen/EDEmitter.cpp
@@ -566,6 +566,8 @@ static int ARMFlagFromOpName(LiteralConstantEmitter *type,
IMM("i32imm");
IMM("i32imm_hilo16");
IMM("bf_inv_mask_imm");
+ IMM("lsb_pos_imm");
+ IMM("width_imm");
IMM("jtblock_operand");
IMM("nohash_imm");
IMM("p_imm");