summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-08-08 16:43:49 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-08-08 16:43:49 +0000
commit0013b9292d1bdd6e06b34b629b29ad5243ce615e (patch)
tree77bd6b1b08a738a8b1dea78f50549911221c0968 /llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
parent676223170f929b95d3860a2751ac670f7a7e9236 (diff)
downloadbcm5719-llvm-0013b9292d1bdd6e06b34b629b29ad5243ce615e.tar.gz
bcm5719-llvm-0013b9292d1bdd6e06b34b629b29ad5243ce615e.zip
Add support for SPE load/store from memory.
llvm-svn: 215220
Diffstat (limited to 'llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
index 8b342effc67..f99a3aa6634 100644
--- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
+++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
@@ -413,6 +413,15 @@ public:
bool isU5Imm() const { return Kind == Immediate && isUInt<5>(getImm()); }
bool isS5Imm() const { return Kind == Immediate && isInt<5>(getImm()); }
bool isU6Imm() const { return Kind == Immediate && isUInt<6>(getImm()); }
+ bool isU6ImmX2() const { return Kind == Immediate &&
+ isUInt<6>(getImm()) &&
+ (getImm() & 1) == 0; }
+ bool isU7ImmX4() const { return Kind == Immediate &&
+ isUInt<7>(getImm()) &&
+ (getImm() & 3) == 0; }
+ bool isU8ImmX8() const { return Kind == Immediate &&
+ isUInt<8>(getImm()) &&
+ (getImm() & 7) == 0; }
bool isU16Imm() const { return Kind == Expression ||
(Kind == Immediate && isUInt<16>(getImm())); }
bool isS16Imm() const { return Kind == Expression ||
OpenPOWER on IntegriCloud