diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-10-05 20:20:06 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-10-05 20:20:06 +0000 |
| commit | a114941fa8f5702de5519ca315bb1f42e392fff0 (patch) | |
| tree | 365f58e05477e5c8ca7a573a009959cf7e8af18c /llvm/lib/Target/Hexagon | |
| parent | 391305638cfa2a0ffed1e8ade63b78974b949927 (diff) | |
| download | bcm5719-llvm-a114941fa8f5702de5519ca315bb1f42e392fff0.tar.gz bcm5719-llvm-a114941fa8f5702de5519ca315bb1f42e392fff0.zip | |
[Hexagon] Make PS_fi and PS_fia extendable (they both expand to A2_addi)
llvm-svn: 315019
Diffstat (limited to 'llvm/lib/Target/Hexagon')
| -rw-r--r-- | llvm/lib/Target/Hexagon/HexagonPseudo.td | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonPseudo.td b/llvm/lib/Target/Hexagon/HexagonPseudo.td index 094e0fbcac8..199148fde05 100644 --- a/llvm/lib/Target/Hexagon/HexagonPseudo.td +++ b/llvm/lib/Target/Hexagon/HexagonPseudo.td @@ -247,11 +247,14 @@ def PS_aligna : Pseudo<(outs IntRegs:$Rd), (ins u32_0Imm:$A), "", []>; // This simplifies the frame-index elimination code. // let isMoveImm = 1, isAsCheapAsAMove = 1, isReMaterializable = 1, - isPseudo = 1, isCodeGenOnly = 1, hasSideEffects = 0 in { + isPseudo = 1, isCodeGenOnly = 1, hasSideEffects = 0, isExtendable = 1, + isExtentSigned = 1, opExtentBits = 16, opExtentAlign = 0 in { + let opExtendable = 2 in def PS_fi : Pseudo<(outs IntRegs:$Rd), - (ins IntRegs:$fi, s32_0Imm:$off), "">; + (ins IntRegs:$fi, s32_0Imm:$off), "">; + let opExtendable = 3 in def PS_fia : Pseudo<(outs IntRegs:$Rd), - (ins IntRegs:$Rs, IntRegs:$fi, s32_0Imm:$off), "">; + (ins IntRegs:$Rs, IntRegs:$fi, s32_0Imm:$off), "">; } class CondStr<string CReg, bit True, bit New> { |

