summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp
diff options
context:
space:
mode:
authorDavid Peixotto <dpeixott@codeaurora.org>2014-01-07 18:19:23 +0000
committerDavid Peixotto <dpeixott@codeaurora.org>2014-01-07 18:19:23 +0000
commita872e0e0a6e8e60273ae5f3234ce9ba6153b28bd (patch)
treed16c73b67bbe2eda5daa3ec3e311b1fc308e449a /clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp
parent2da1021355394805fccfef5a0a83718be1e6b925 (diff)
downloadbcm5719-llvm-a872e0e0a6e8e60273ae5f3234ce9ba6153b28bd.tar.gz
bcm5719-llvm-a872e0e0a6e8e60273ae5f3234ce9ba6153b28bd.zip
Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64
This commit adds the pre-UAL aliases of fconsts and fconstd for vmov.f32 and vmov.f64. They use an InstAlias rather than a MnemonicAlias to properly support the predicate operand. We need to support encoded 8-bit constants in order to implement the pre-UAL fconsts/fconstd aliases for vmov.f32/vmov.f64, so this commit also fixes parsing of encoded floating point constants used in vmov.f32/vmov.f64 instructions. Now we can support assembly code like this: fconsts s0, #0x70 which is equivalent to vmov.f32 s0, #1.0. Most of the code was already in place to support this feature. Previously the code was trying to accept encoded 8-bit float constants for the vmov.f32/vmov.f64 instructions. It looks like the support for parsing encoded floats was lost in a refactoring in commit r148556 and we did not have any tests in place to catch it. The change in this commit is to keep the parsed value as a 32-bit float instead of a 64-bit double because that is what the isFPImm() function expects to find. There is no loss of precision by using a 32-bit float here because we are still limited to an 8-bit encoded value in the end. Additionally, we explicitly reject encoded 8-bit floats for vmovf.32/64. This is the same as the current behavior, but we now do it explicitly rather than accidently. llvm-svn: 198697
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud