diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-08-10 16:46:36 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-08-10 16:46:36 +0000 |
commit | a3386501afd12a5680545c9c462fac67561a48fa (patch) | |
tree | f93b1e2df00cf61ee5c224d03ac3ff7fc5361b6b /llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp | |
parent | b2a9c0252179d9334967266182bad77c1d3e6579 (diff) | |
download | bcm5719-llvm-a3386501afd12a5680545c9c462fac67561a48fa.tar.gz bcm5719-llvm-a3386501afd12a5680545c9c462fac67561a48fa.zip |
[Hexagon] Use integer instructions for floating point immediates
Floating point instructions use general purpose registers, so the few
instructions that can put floating point immediates into registers are,
in fact, integer instruction. Use them explicitly instead of having
pseudo-instructions specifically for dealing with floating point values.
Simplify the constant loading instructions (from sdata) to have only two:
one for 32-bit values and one for 64-bit values: CONST32 and CONST64.
llvm-svn: 278244
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp b/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp index 608f29184e5..02e08bafb5d 100644 --- a/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp +++ b/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp @@ -1490,8 +1490,8 @@ bool HexagonHardwareLoops::checkForImmediate(const MachineOperand &MO, case TargetOpcode::COPY: case Hexagon::A2_tfrsi: case Hexagon::A2_tfrpi: - case Hexagon::CONST32_Int_Real: - case Hexagon::CONST64_Int_Real: { + case Hexagon::CONST32: + case Hexagon::CONST64: { // Call recursively to avoid an extra check whether operand(1) is // indeed an immediate (it could be a global address, for example), // plus we can handle COPY at the same time. |