diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2014-08-08 16:43:49 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2014-08-08 16:43:49 +0000 |
commit | 0013b9292d1bdd6e06b34b629b29ad5243ce615e (patch) | |
tree | 77bd6b1b08a738a8b1dea78f50549911221c0968 /llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp | |
parent | 676223170f929b95d3860a2751ac670f7a7e9236 (diff) | |
download | bcm5719-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.cpp | 9 |
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 || |