Home | History | Annotate | Download | only in Hexagon
      1 //=- HexagonIntrinsicsV3.td - Target Description for Hexagon -*- tablegen -*-=//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 //
     10 // This file describes the Hexagon V3 Compiler Intrinsics in TableGen format.
     11 //
     12 //===----------------------------------------------------------------------===//
     13 
     14 
     15 
     16 
     17 // MTYPE / COMPLEX / Vector reduce complex multiply real or imaginary.
     18 def Hexagon_M2_vrcmpys_s1:
     19   di_MInst_disi_s1_sat            <"vrcmpys",  int_hexagon_M2_vrcmpys_s1>;
     20 def Hexagon_M2_vrcmpys_acc_s1:
     21   di_MInst_didisi_acc_s1_sat      <"vrcmpys",  int_hexagon_M2_vrcmpys_acc_s1>;
     22 def Hexagon_M2_vrcmpys_s1rp:
     23   si_MInst_disi_s1_rnd_sat        <"vrcmpys",  int_hexagon_M2_vrcmpys_s1rp>;
     24 
     25 
     26 
     27 
     28 /********************************************************************
     29 *            MTYPE/VB                                               *
     30 *********************************************************************/
     31 
     32 // MTYPE / VB / Vector reduce add unsigned bytes.
     33 def Hexagon_M2_vradduh:
     34   si_MInst_didi                   <"vradduh",  int_hexagon_M2_vradduh>;
     35 
     36 
     37 /********************************************************************
     38 *            ALU64/ALU                                              *
     39 *********************************************************************/
     40 
     41 // ALU64 / ALU / Add.
     42 def Hexagon_A2_addsp:
     43   di_ALU64_sidi                   <"add",      int_hexagon_A2_addsp>;
     44 def Hexagon_A2_addpsat:
     45   di_ALU64_didi                   <"add",      int_hexagon_A2_addpsat>;
     46 
     47 def Hexagon_A2_maxp:
     48   di_ALU64_didi                   <"max",      int_hexagon_A2_maxp>;
     49 def Hexagon_A2_maxup:
     50   di_ALU64_didi                   <"maxu",     int_hexagon_A2_maxup>;
     51