diff options
Diffstat (limited to 'llvm/lib/Target/ARM')
| -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>;  | 

