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 | |
| 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
| -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  | 

