diff options
| author | Owen Anderson <resistor@mac.com> | 2011-07-15 17:48:05 +0000 |
|---|---|---|
| committer | Owen Anderson <resistor@mac.com> | 2011-07-15 17:48:05 +0000 |
| commit | 9cf6f8a9b815096aa4af630263bb3792c12a1498 (patch) | |
| tree | fee024558fd18ee6a4058ae925e033398a7b8f91 /llvm/lib | |
| parent | 99582e9b5265417f69d295a1ea1d1f5ba4702757 (diff) | |
| download | bcm5719-llvm-9cf6f8a9b815096aa4af630263bb3792c12a1498.tar.gz bcm5719-llvm-9cf6f8a9b815096aa4af630263bb3792c12a1498.zip | |
Remove unnecessary duplicate instruction definitions that simply overloaded the type of VEXT. This can be achieved with a Pat definition, and is much more disassembler friendly.
llvm-svn: 135283
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrNEON.td | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index 977139ff9ee..a91ffcdb5e6 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -4704,11 +4704,10 @@ def VEXTd32 : VEXTd<"vext", "32", v2i32> { let Inst{11-10} = index{1-0}; let Inst{9-8} = 0b00; } -def VEXTdf : VEXTd<"vext", "32", v2f32> { - let Inst{11-10} = index{1-0}; - let Inst{9-8} = 0b00; - -} +def : Pat<(v2f32 (NEONvext (v2f32 DPR:$Vn), + (v2f32 DPR:$Vm), + (i32 imm:$index))), + (VEXTd32 DPR:$Vn, DPR:$Vm, imm:$index)>; def VEXTq8 : VEXTq<"vext", "8", v16i8> { let Inst{11-8} = index{3-0}; @@ -4721,10 +4720,10 @@ def VEXTq32 : VEXTq<"vext", "32", v4i32> { let Inst{11-10} = index{1-0}; let Inst{9-8} = 0b00; } -def VEXTqf : VEXTq<"vext", "32", v4f32> { - let Inst{11-10} = index{1-0}; - let Inst{9-8} = 0b00; -} +def : Pat<(v4f32 (NEONvext (v4f32 QPR:$Vn), + (v4f32 QPR:$Vm), + (i32 imm:$index))), + (VEXTq32 QPR:$Vn, QPR:$Vm, imm:$index)>; // VTRN : Vector Transpose |

