diff options
| author | Tim Northover <tnorthover@apple.com> | 2013-08-28 14:33:33 +0000 | 
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2013-08-28 14:33:33 +0000 | 
| commit | 2e02ed253a163ae9c04e2cae28bb434fb7a93971 (patch) | |
| tree | b84e82608a2c7ae06a015753cf18d2438d0d0d4d /llvm/lib/Target | |
| parent | 8854ba783797c16a812183bc7c7b6cfb7c249dc0 (diff) | |
| download | bcm5719-llvm-2e02ed253a163ae9c04e2cae28bb434fb7a93971.tar.gz bcm5719-llvm-2e02ed253a163ae9c04e2cae28bb434fb7a93971.zip | |
ARM: remove unused v(add|sub)hn and vqdml[as]l intrinsics.
Clang is now generating cleaner IR, so this removes the old variants which
should be completely unused.
llvm-svn: 189481
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrNEON.td | 14 | 
1 files changed, 6 insertions, 8 deletions
| diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index cc455adb561..49ae3348cd6 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -3973,8 +3973,7 @@ defm VQADDu   : N3VInt_QHSD<1, 0, 0b0000, 1, N3RegFrm,                              IIC_VBINi4D, IIC_VBINi4D, IIC_VBINi4Q, IIC_VBINi4Q,                              "vqadd", "u", int_arm_neon_vqaddu, 1>;  //   VADDHN   : Vector Add and Narrow Returning High Half (D = Q + Q) -defm VADDHN   : N3VNInt_HSD<0,1,0b0100,0, "vaddhn", "i", -                            int_arm_neon_vaddhn, 1>; +defm VADDHN   : N3VNInt_HSD<0,1,0b0100,0, "vaddhn", "i", null_frag, 1>;  //   VRADDHN  : Vector Rounding Add and Narrow Returning High Half (D = Q + Q)  defm VRADDHN  : N3VNInt_HSD<1,1,0b0100,0, "vraddhn", "i",                              int_arm_neon_vraddhn, 1>; @@ -4140,8 +4139,8 @@ defm VMLALslu : N3VLMulOpSL_HS<1, 0b0010, "vmlal", "u", NEONvmullu, add>;  //   VQDMLAL  : Vector Saturating Doubling Multiply Accumulate Long (Q += D * D)  defm VQDMLAL  : N3VLInt3_HS<0, 1, 0b1001, 0, IIC_VMACi16D, IIC_VMACi32D, -                            "vqdmlal", "s", int_arm_neon_vqdmlal>; -defm VQDMLALsl: N3VLInt3SL_HS<0, 0b0011, "vqdmlal", "s", int_arm_neon_vqdmlal>; +                            "vqdmlal", "s", null_frag>; +defm VQDMLALsl: N3VLInt3SL_HS<0, 0b0011, "vqdmlal", "s", null_frag>;  def : Pat<(v4i32 (int_arm_neon_vqadds (v4i32 QPR:$src1),                       (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn), @@ -4216,8 +4215,8 @@ defm VMLSLslu : N3VLMulOpSL_HS<1, 0b0110, "vmlsl", "u", NEONvmullu, sub>;  //   VQDMLSL  : Vector Saturating Doubling Multiply Subtract Long (Q -= D * D)  defm VQDMLSL  : N3VLInt3_HS<0, 1, 0b1011, 0, IIC_VMACi16D, IIC_VMACi32D, -                            "vqdmlsl", "s", int_arm_neon_vqdmlsl>; -defm VQDMLSLsl: N3VLInt3SL_HS<0, 0b111, "vqdmlsl", "s", int_arm_neon_vqdmlsl>; +                            "vqdmlsl", "s", null_frag>; +defm VQDMLSLsl: N3VLInt3SL_HS<0, 0b111, "vqdmlsl", "s", null_frag>;  def : Pat<(v4i32 (int_arm_neon_vqsubs (v4i32 QPR:$src1),                       (v4i32 (int_arm_neon_vqdmull (v4i16 DPR:$Vn), @@ -4301,8 +4300,7 @@ defm VQSUBu   : N3VInt_QHSD<1, 0, 0b0010, 1, N3RegFrm,                              IIC_VSUBi4D, IIC_VSUBi4D, IIC_VSUBi4Q, IIC_VSUBi4Q,                              "vqsub", "u", int_arm_neon_vqsubu, 0>;  //   VSUBHN   : Vector Subtract and Narrow Returning High Half (D = Q - Q) -defm VSUBHN   : N3VNInt_HSD<0,1,0b0110,0, "vsubhn", "i", -                            int_arm_neon_vsubhn, 0>; +defm VSUBHN   : N3VNInt_HSD<0,1,0b0110,0, "vsubhn", "i", null_frag, 0>;  //   VRSUBHN  : Vector Rounding Subtract and Narrow Returning High Half (D=Q-Q)  defm VRSUBHN  : N3VNInt_HSD<1,1,0b0110,0, "vrsubhn", "i",                              int_arm_neon_vrsubhn, 0>; | 

