aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrendon Cahoon <bcahoon@codeaurora.org>2012-05-11 19:56:59 +0000
committerBrendon Cahoon <bcahoon@codeaurora.org>2012-05-11 19:56:59 +0000
commit6d532d8860c07a3af3b66339f55ab91b4618ca7d (patch)
tree60b50fe7ba7f82abdddb0ac1890cf60ba9319d30
parente1093e5503060b3031980dc14a141c3236108c50 (diff)
Hexagon constant extender support.
Patch by Jyotsna Verma. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156634 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Hexagon/CMakeLists.txt1
-rw-r--r--lib/Target/Hexagon/Hexagon.h2
-rw-r--r--lib/Target/Hexagon/HexagonCExtTable.h1898
-rw-r--r--lib/Target/Hexagon/HexagonConstExtInfo.h41
-rw-r--r--lib/Target/Hexagon/HexagonISelDAGToDAG.cpp31
-rw-r--r--lib/Target/Hexagon/HexagonImmediates.td415
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.cpp185
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.h2
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.td233
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfoV4.td381
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfoV5.td22
-rw-r--r--lib/Target/Hexagon/HexagonOptimizeConstExt.cpp261
-rw-r--r--lib/Target/Hexagon/HexagonTargetMachine.cpp7
-rw-r--r--lib/Target/Hexagon/HexagonVLIWPacketizer.cpp459
-rw-r--r--lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.cpp27
-rw-r--r--test/CodeGen/Hexagon/constext.ll70
-rw-r--r--test/CodeGen/Hexagon/dualstore.ll8
17 files changed, 3700 insertions, 343 deletions
diff --git a/lib/Target/Hexagon/CMakeLists.txt b/lib/Target/Hexagon/CMakeLists.txt
index 29cf8a76c4..8ccecb13cd 100644
--- a/lib/Target/Hexagon/CMakeLists.txt
+++ b/lib/Target/Hexagon/CMakeLists.txt
@@ -29,6 +29,7 @@ add_llvm_target(HexagonCodeGen
HexagonTargetMachine.cpp
HexagonTargetObjectFile.cpp
HexagonVLIWPacketizer.cpp
+ HexagonOptimizeConstExt.cpp
)
add_subdirectory(TargetInfo)
diff --git a/lib/Target/Hexagon/Hexagon.h b/lib/Target/Hexagon/Hexagon.h
index b8dc24fd3e..d73be80f53 100644
--- a/lib/Target/Hexagon/Hexagon.h
+++ b/lib/Target/Hexagon/Hexagon.h
@@ -36,7 +36,7 @@ namespace llvm {
FunctionPass *createHexagonSplitTFRCondSets(HexagonTargetMachine &TM);
FunctionPass *createHexagonExpandPredSpillCode(HexagonTargetMachine &TM);
-
+ FunctionPass *createHexagonOptimizeConstExt(HexagonTargetMachine &TM);
FunctionPass *createHexagonHardwareLoops();
FunctionPass *createHexagonPeephole();
FunctionPass *createHexagonFixupHwLoops();
diff --git a/lib/Target/Hexagon/HexagonCExtTable.h b/lib/Target/Hexagon/HexagonCExtTable.h
new file mode 100644
index 0000000000..4e5ac1e853
--- /dev/null
+++ b/lib/Target/Hexagon/HexagonCExtTable.h
@@ -0,0 +1,1898 @@
+//===--- HexagonCExttable.h - Instruction constant extender table info. ---===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+// HexagonCExt table maps the constant extended form of an instruction to
+// the non-extended form. In addition, it also contains other information,
+// such as the extended operand number and their min/max values.
+//===----------------------------------------------------------------------===//
+
+#ifndef HEXAGONCEXTTABLE_H
+#define HEXAGONCEXTTABLE_H
+
+const HexagonConstExtInfo HexagonCExt[] = {
+ {"PHI", -1, 0, 0, -1},
+ {"INLINEASM", -1, 0, 0, -1},
+ {"PROLOG_LABEL", -1, 0, 0, -1},
+ {"EH_LABEL", -1, 0, 0, -1},
+ {"GC_LABEL", -1, 0, 0, -1},
+ {"KILL", -1, 0, 0, -1},
+ {"EXTRACT_SUBREG", -1, 0, 0, -1},
+ {"INSERT_SUBREG", -1, 0, 0, -1},
+ {"IMPLICIT_DEF", -1, 0, 0, -1},
+ {"SUBREG_TO_REG", -1, 0, 0, -1},
+ {"COPY_TO_REGCLASS", -1, 0, 0, -1},
+ {"DBG_VALUE", -1, 0, 0, -1},
+ {"REG_SEQUENCE", -1, 0, 0, -1},
+ {"COPY", -1, 0, 0, -1},
+ {"BUNDLE", -1, 0, 0, -1},
+ {"ADD64_rr", -1, 0, 0, -1},
+ {"ADDASL", -1, 0, 0, -1},
+ {"ADD_ri", 2, -32768, 32767, Hexagon::ADD_rr},
+ {"ADD_ri_cNotPt", 3, -128, 127, Hexagon::ADD_rr_cNotPt},
+ {"ADD_ri_cPt", 3, -128, 127, Hexagon::ADD_rr_cPt},
+ {"ADD_ri_cdnNotPt", 3, -128, 127, Hexagon::ADD_rr_cdnNotPt},
+ {"ADD_ri_cdnPt", 3, -128, 127, Hexagon::ADD_rr_cdnPt},
+ {"ADD_rr", -1, 0, 0, -1},
+ {"ADD_rr_cNotPt", -1, 0, 0, -1},
+ {"ADD_rr_cPt", -1, 0, 0, -1},
+ {"ADD_rr_cdnNotPt", -1, 0, 0, -1},
+ {"ADD_rr_cdnPt", -1, 0, 0, -1},
+ {"ADDi_ASLri_V4", 1, 0, 255, -1},
+ {"ADDi_LSRri_V4", 1, 0, 255, -1},
+ {"ADDi_MPYri_V4", 1, 0, 63, -1},
+ {"ADDi_MPYrr_V4", 1, 0, 63, Hexagon::ADDr_MPYrr_V4},
+ {"ADDr_ADDri_V4", 3, -32, 31, -1},
+ {"ADDr_MPYir_V4", -1, 0, 0, -1},
+ {"ADDr_MPYri_V4", 3, 0, 63, Hexagon::ADDr_MPYrr_V4},
+ {"ADDr_MPYrr_V4", -1, 0, 0, -1},
+ {"ADDr_SUBri_V4", 2, -32, 31, -1},
+ {"ADDri_SUBr_V4", 2, -32, 31, -1},
+ {"ADDri_acc", 3, -128, 127, Hexagon::ADDrr_acc},
+ {"ADDrr_acc", -1, 0, 0, -1},
+ {"ADJCALLSTACKDOWN", -1, 0, 0, -1},
+ {"ADJCALLSTACKUP", -1, 0, 0, -1},
+ {"ADJDYNALLOC", -1, 0, 0, -1},
+ {"ALLOCFRAME", -1, 0, 0, -1},
+ {"ALL_pp", -1, 0, 0, -1},
+ {"AND_pnotp", -1, 0, 0, -1},
+ {"AND_pp", -1, 0, 0, -1},
+ {"AND_ri", 2, -512, 511, Hexagon::AND_rr},
+ {"AND_rr", -1, 0, 0, -1},
+ {"AND_rr64", -1, 0, 0, -1},
+ {"AND_rr_cNotPt", -1, 0, 0, -1},
+ {"AND_rr_cPt", -1, 0, 0, -1},
+ {"AND_rr_cdnNotPt", -1, 0, 0, -1},
+ {"AND_rr_cdnPt", -1, 0, 0, -1},
+ {"ANDd_NOTd_V4", -1, 0, 0, -1},
+ {"ANDi_ASLri_V4", 1, 0, 255, -1},
+ {"ANDi_LSRri_V4", 1, 0, 255, -1},
+ {"ANDr_ANDr_NOTr_V4", -1, 0, 0, -1},
+ {"ANDr_ANDrr_V4", -1, 0, 0, -1},
+ {"ANDr_ORrr_V4", -1, 0, 0, -1},
+ {"ANDr_XORrr_V4", -1, 0, 0, -1},
+ {"ANY_pp", -1, 0, 0, -1},
+ {"ARGEXTEND", -1, 0, 0, -1},
+ {"ASL", -1, 0, 0, -1},
+ {"ASLH", -1, 0, 0, -1},
+ {"ASLH_cNotPt_V4", -1, 0, 0, -1},
+ {"ASLH_cPt_V4", -1, 0, 0, -1},
+ {"ASLH_cdnNotPt_V4", -1, 0, 0, -1},
+ {"ASLH_cdnPt_V4", -1, 0, 0, -1},
+ {"ASL_ADD_ri", -1, 0, 0, -1},
+ {"ASL_ADD_rr", -1, 0, 0, -1},
+ {"ASL_ADDd_ri", -1, 0, 0, -1},
+ {"ASL_ADDd_rr", -1, 0, 0, -1},
+ {"ASL_AND_ri", -1, 0, 0, -1},
+ {"ASL_AND_rr", -1, 0, 0, -1},
+ {"ASL_ANDd_ri", -1, 0, 0, -1},
+ {"ASL_ANDd_rr", -1, 0, 0, -1},
+ {"ASL_OR_ri", -1, 0, 0, -1},
+ {"ASL_OR_rr", -1, 0, 0, -1},
+ {"ASL_ORd_ri", -1, 0, 0, -1},
+ {"ASL_ORd_rr", -1, 0, 0, -1},
+ {"ASL_SUB_ri", -1, 0, 0, -1},
+ {"ASL_SUB_rr", -1, 0, 0, -1},
+ {"ASL_SUBd_ri", -1, 0, 0, -1},
+ {"ASL_SUBd_rr", -1, 0, 0, -1},
+ {"ASL_XOR_ri", -1, 0, 0, -1},
+ {"ASL_XORd_ri", -1, 0, 0, -1},
+ {"ASL_rr", -1, 0, 0, -1},
+ {"ASLd", -1, 0, 0, -1},
+ {"ASLd_ri", -1, 0, 0, -1},
+ {"ASLd_rr_xor_V4", -1, 0, 0, -1},
+ {"ASRH", -1, 0, 0, -1},
+ {"ASRH_cNotPt_V4", -1, 0, 0, -1},
+ {"ASRH_cPt_V4", -1, 0, 0, -1},
+ {"ASRH_cdnNotPt_V4", -1, 0, 0, -1},
+ {"ASRH_cdnPt_V4", -1, 0, 0, -1},
+ {"ASR_ADD_ri", -1, 0, 0, -1},
+ {"ASR_ADD_rr", -1, 0, 0, -1},
+ {"ASR_ADDd_ri", -1, 0, 0, -1},
+ {"ASR_ADDd_rr", -1, 0, 0, -1},
+ {"ASR_AND_ri", -1, 0, 0, -1},
+ {"ASR_AND_rr", -1, 0, 0, -1},
+ {"ASR_ANDd_ri", -1, 0, 0, -1},
+ {"ASR_ANDd_rr", -1, 0, 0, -1},
+ {"ASR_OR_ri", -1, 0, 0, -1},
+ {"ASR_OR_rr", -1, 0, 0, -1},
+ {"ASR_ORd_ri", -1, 0, 0, -1},
+ {"ASR_ORd_rr", -1, 0, 0, -1},
+ {"ASR_SUB_ri", -1, 0, 0, -1},
+ {"ASR_SUB_rr", -1, 0, 0, -1},
+ {"ASR_SUBd_ri", -1, 0, 0, -1},
+ {"ASR_SUBd_rr", -1, 0, 0, -1},
+ {"ASR_ri", -1, 0, 0, -1},
+ {"ASR_rr", -1, 0, 0, -1},
+ {"ASRd_ri", -1, 0, 0, -1},
+ {"ASRd_rr", -1, 0, 0, -1},
+ {"ASRd_rr_xor_V4", -1, 0, 0, -1},
+ {"BARRIER", -1, 0, 0, -1},
+ {"BRCOND", -1, 0, 0, -1},
+ {"BR_JT", -1, 0, 0, -1},
+ {"CALL", -1, 0, 0, -1},
+ {"CALLR", -1, 0, 0, -1},
+ {"CALLRv3", -1, 0, 0, -1},
+ {"CALLv3", -1, 0, 0, -1},
+ {"CLRBIT", -1, 0, 0, -1},
+ {"CLRBIT_31", -1, 0, 0, -1},
+ {"CMPEHexagon4rr", -1, 0, 0, -1},
+ {"CMPEQri", 2, -512, 511, Hexagon::CMPEQrr},
+ {"CMPEQrr", -1, 0, 0, -1},
+ {"CMPGEUri", 2, 0, 255, -1},
+ {"CMPGEri", 2, -128, 127, -1},
+ {"CMPGT64rr", -1, 0, 0, -1},
+ {"CMPGTU64rr", -1, 0, 0, -1},
+ {"CMPGTUri", 2, 0, 511, Hexagon::CMPGTUrr},
+ {"CMPGTUrr", -1, 0, 0, -1},
+ {"CMPGTri", 2, -512, 511, Hexagon::CMPGTrr},
+ {"CMPGTrr", -1, 0, 0, -1},
+ {"CMPLTUrr", -1, 0, 0, -1},
+ {"CMPLTrr", -1, 0, 0, -1},
+ {"CMPbEQri_V4", -1, 0, 0, -1},
+ {"CMPbEQrr_sbsb_V4", -1, 0, 0, -1},
+ {"CMPbEQrr_ubub_V4", -1, 0, 0, -1},
+ {"CMPbGTUri_V4", 2, 0, 127, Hexagon::CMPbGTUrr_V4},
+ {"CMPbGTUrr_V4", -1, 0, 0, -1},
+ {"CMPbGTrr_V4", -1, 0, 0, -1},
+ {"CMPhEQri_V4", -1, 0, 0, -1},
+ {"CMPhEQrr_shl_V4", -1, 0, 0, -1},
+ {"CMPhEQrr_xor_V4", -1, 0, 0, -1},
+ {"CMPhGTUri_V4", 2, 0, 127, Hexagon::CMPhGTUrr_V4},
+ {"CMPhGTUrr_V4", -1, 0, 0, -1},
+ {"CMPhGTrr_shl_V4", -1, 0, 0, -1},
+ {"COMBINE_ii", -1, 0, 0, -1},
+ {"COMBINE_ir_V4", -1, 0, 0, -1},
+ {"COMBINE_ri_V4", -1, 0, 0, -1},
+ {"COMBINE_rr", -1, 0, 0, -1},
+ {"COMBINE_rr_cNotPt", -1, 0, 0, -1},
+ {"COMBINE_rr_cPt", -1, 0, 0, -1},
+ {"COMBINE_rr_cdnNotPt", -1, 0, 0, -1},
+ {"COMBINE_rr_cdnPt", -1, 0, 0, -1},
+ {"CONST32", -1, 0, 0, -1},
+ {"CONST32GP_set", -1, 0, 0, -1},
+ {"CONST32_Float_Real", -1, 0, 0, -1},
+ {"CONST32_Int_Real", -1, 0, 0, -1},
+ {"CONST32_Label", -1, 0, 0, -1},
+ {"CONST32_set", -1, 0, 0, -1},
+ {"CONST32_set_jt", -1, 0, 0, -1},
+ {"CONST64_Float_Real", -1, 0, 0, -1},
+ {"CONST64_Int_Real", -1, 0, 0, -1},
+ {"CONVERT_d2df", -1, 0, 0, -1},
+ {"CONVERT_d2sf", -1, 0, 0, -1},
+ {"CONVERT_df2d", -1, 0, 0, -1},
+ {"CONVERT_df2d_nchop", -1, 0, 0, -1},
+ {"CONVERT_df2sf", -1, 0, 0, -1},
+ {"CONVERT_df2ud", -1, 0, 0, -1},
+ {"CONVERT_df2ud_nchop", -1, 0, 0, -1},
+ {"CONVERT_df2uw", -1, 0, 0, -1},
+ {"CONVERT_df2uw_nchop", -1, 0, 0, -1},
+ {"CONVERT_df2w", -1, 0, 0, -1},
+ {"CONVERT_df2w_nchop", -1, 0, 0, -1},
+ {"CONVERT_sf2d", -1, 0, 0, -1},
+ {"CONVERT_sf2d_nchop", -1, 0, 0, -1},
+ {"CONVERT_sf2df", -1, 0, 0, -1},
+ {"CONVERT_sf2ud", -1, 0, 0, -1},
+ {"CONVERT_sf2ud_nchop", -1, 0, 0, -1},
+ {"CONVERT_sf2uw", -1, 0, 0, -1},
+ {"CONVERT_sf2uw_nchop", -1, 0, 0, -1},
+ {"CONVERT_sf2w", -1, 0, 0, -1},
+ {"CONVERT_sf2w_nchop", -1, 0, 0, -1},
+ {"CONVERT_ud2df", -1, 0, 0, -1},
+ {"CONVERT_ud2sf", -1, 0, 0, -1},
+ {"CONVERT_uw2df", -1, 0, 0, -1},
+ {"CONVERT_uw2sf", -1, 0, 0, -1},
+ {"CONVERT_w2df", -1, 0, 0, -1},
+ {"CONVERT_w2sf", -1, 0, 0, -1},
+ {"DEALLOCFRAME", -1, 0, 0, -1},
+ {"DEALLOC_RET_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cNotPt_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cNotdnPnt_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cNotdnPt_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cPt_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cdnPnt_V4", -1, 0, 0, -1},
+ {"DEALLOC_RET_cdnPt_V4", -1, 0, 0, -1},
+ {"ENDLOOP0", -1, 0, 0, -1},
+ {"FCMPOEQ32_rr", -1, 0, 0, -1},
+ {"FCMPOEQ64_rr", -1, 0, 0, -1},
+ {"FCMPOGE32_rr", -1, 0, 0, -1},
+ {"FCMPOGE64_rr", -1, 0, 0, -1},
+ {"FCMPOGT32_rr", -1, 0, 0, -1},
+ {"FCMPOGT64_rr", -1, 0, 0, -1},
+ {"FCMPUEQ32_rr", -1, 0, 0, -1},
+ {"FCMPUEQ64_rr", -1, 0, 0, -1},
+ {"FCMPUGE32_rr", -1, 0, 0, -1},
+ {"FCMPUGE64_rr", -1, 0, 0, -1},
+ {"FCMPUGT32_rr", -1, 0, 0, -1},
+ {"FCMPUGT64_rr", -1, 0, 0, -1},
+ {"FCONST32_nsdata", -1, 0, 0, -1},
+ {"FMADD_dp", -1, 0, 0, -1},
+ {"FMADD_sp", -1, 0, 0, -1},
+ {"FMAX_dp", -1, 0, 0, -1},
+ {"FMAX_sp", -1, 0, 0, -1},
+ {"FMIN_dp", -1, 0, 0, -1},
+ {"FMIN_sp", -1, 0, 0, -1},
+ {"HEXAGON_A4_cround_ri", -1, 0, 0, -1},
+ {"HEXAGON_A4_cround_rr", -1, 0, 0, -1},
+ {"HEXAGON_A4_modwrapu", -1, 0, 0, -1},
+ {"HEXAGON_A4_round_ri", -1, 0, 0, -1},
+ {"HEXAGON_A4_round_ri_sat", -1, 0, 0, -1},
+ {"HEXAGON_A4_round_rr", -1, 0, 0, -1},
+ {"HEXAGON_A4_round_rr_sat", -1, 0, 0, -1},
+ {"HEXAGON_C2_bitsclr", -1, 0, 0, -1},
+ {"HEXAGON_C2_bitsclri", -1, 0, 0, -1},
+ {"HEXAGON_C2_bitsset", -1, 0, 0, -1},
+ {"HEXAGON_M4_and_and", -1, 0, 0, -1},
+ {"HEXAGON_M4_and_andn", -1, 0, 0, -1},
+ {"HEXAGON_M4_and_or", -1, 0, 0, -1},
+ {"HEXAGON_M4_and_xor", -1, 0, 0, -1},
+ {"HEXAGON_M4_or_and", -1, 0, 0, -1},
+ {"HEXAGON_M4_or_andn", -1, 0, 0, -1},
+ {"HEXAGON_M4_or_or", -1, 0, 0, -1},
+ {"HEXAGON_M4_or_xor", -1, 0, 0, -1},
+ {"HEXAGON_M4_xor_and", -1, 0, 0, -1},
+ {"HEXAGON_M4_xor_andn", -1, 0, 0, -1},
+ {"HEXAGON_M4_xor_or", -1, 0, 0, -1},
+ {"HEXAGON_S2_brev", -1, 0, 0, -1},
+ {"HEXAGON_S2_deinterleave", -1, 0, 0, -1},
+ {"HEXAGON_S2_insert", -1, 0, 0, -1},
+ {"HEXAGON_S2_insert_rp", -1, 0, 0, -1},
+ {"HEXAGON_S2_insertp", -1, 0, 0, -1},
+ {"HEXAGON_S2_insertp_rp", -1, 0, 0, -1},
+ {"HEXAGON_S2_interleave", -1, 0, 0, -1},
+ {"HEXAGON_S2_lfsp", -1, 0, 0, -1},
+ {"HEXAGON_S2_tableidxb_goodsyntax", -1, 0, 0, -1},
+ {"HEXAGON_S2_tableidxd_goodsyntax", -1, 0, 0, -1},
+ {"HEXAGON_S2_tableidxh_goodsyntax", -1, 0, 0, -1},
+ {"HEXAGON_S2_tableidxw_goodsyntax", -1, 0, 0, -1},
+ {"HEXAGON_S2_vspliceib", -1, 0, 0, -1},
+ {"HEXAGON_S2_vsplicerb", -1, 0, 0, -1},
+ {"HEXAGON_S4_or_andi", -1, 0, 0, -1},
+ {"HEXAGON_S4_or_andix", -1, 0, 0, -1},
+ {"HEXAGON_S4_or_ori", -1, 0, 0, -1},
+ {"HI", -1, 0, 0, -1},
+ {"HI_jt", -1, 0, 0, -1},
+ {"HI_label", -1, 0, 0, -1},
+ {"HIi", -1, 0, 0, -1},
+ {"Hexagon_A2_abs", -1, 0, 0, -1},
+ {"Hexagon_A2_absp", -1, 0, 0, -1},
+ {"Hexagon_A2_abssat", -1, 0, 0, -1},
+ {"Hexagon_A2_add", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_hh", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_lh", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_sat_hh", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_sat_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_sat_lh", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_h16_sat_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_l16_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_l16_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_l16_sat_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_addh_l16_sat_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_addi", -1, 0, 0, -1},
+ {"Hexagon_A2_addp", -1, 0, 0, -1},
+ {"Hexagon_A2_addpsat", -1, 0, 0, -1},
+ {"Hexagon_A2_addsat", -1, 0, 0, -1},
+ {"Hexagon_A2_addsp", -1, 0, 0, -1},
+ {"Hexagon_A2_and", -1, 0, 0, -1},
+ {"Hexagon_A2_andir", -1, 0, 0, -1},
+ {"Hexagon_A2_andp", -1, 0, 0, -1},
+ {"Hexagon_A2_aslh", -1, 0, 0, -1},
+ {"Hexagon_A2_asrh", -1, 0, 0, -1},
+ {"Hexagon_A2_combine_hh", -1, 0, 0, -1},
+ {"Hexagon_A2_combine_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_combine_lh", -1, 0, 0, -1},
+ {"Hexagon_A2_combine_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_combineii", -1, 0, 0, -1},
+ {"Hexagon_A2_combinew", -1, 0, 0, -1},
+ {"Hexagon_A2_max", -1, 0, 0, -1},
+ {"Hexagon_A2_maxp", -1, 0, 0, -1},
+ {"Hexagon_A2_maxu", -1, 0, 0, -1},
+ {"Hexagon_A2_maxup", -1, 0, 0, -1},
+ {"Hexagon_A2_min", -1, 0, 0, -1},
+ {"Hexagon_A2_minu", -1, 0, 0, -1},
+ {"Hexagon_A2_neg", -1, 0, 0, -1},
+ {"Hexagon_A2_negp", -1, 0, 0, -1},
+ {"Hexagon_A2_negsat", -1, 0, 0, -1},
+ {"Hexagon_A2_not", -1, 0, 0, -1},
+ {"Hexagon_A2_notp", -1, 0, 0, -1},
+ {"Hexagon_A2_or", -1, 0, 0, -1},
+ {"Hexagon_A2_orir", -1, 0, 0, -1},
+ {"Hexagon_A2_orp", -1, 0, 0, -1},
+ {"Hexagon_A2_sat", -1, 0, 0, -1},
+ {"Hexagon_A2_satb", -1, 0, 0, -1},
+ {"Hexagon_A2_sath", -1, 0, 0, -1},
+ {"Hexagon_A2_satub", -1, 0, 0, -1},
+ {"Hexagon_A2_satuh", -1, 0, 0, -1},
+ {"Hexagon_A2_sub", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_hh", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_lh", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_sat_hh", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_sat_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_sat_lh", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_h16_sat_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_l16_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_l16_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_l16_sat_hl", -1, 0, 0, -1},
+ {"Hexagon_A2_subh_l16_sat_ll", -1, 0, 0, -1},
+ {"Hexagon_A2_subp", -1, 0, 0, -1},
+ {"Hexagon_A2_subri", -1, 0, 0, -1},
+ {"Hexagon_A2_subsat", -1, 0, 0, -1},
+ {"Hexagon_A2_svaddh", -1, 0, 0, -1},
+ {"Hexagon_A2_svaddhs", -1, 0, 0, -1},
+ {"Hexagon_A2_svadduhs", -1, 0, 0, -1},
+ {"Hexagon_A2_svavgh", -1, 0, 0, -1},
+ {"Hexagon_A2_svavghs", -1, 0, 0, -1},
+ {"Hexagon_A2_svnavgh", -1, 0, 0, -1},
+ {"Hexagon_A2_svsubh", -1, 0, 0, -1},
+ {"Hexagon_A2_svsubhs", -1, 0, 0, -1},
+ {"Hexagon_A2_svsubuhs", -1, 0, 0, -1},
+ {"Hexagon_A2_swiz", -1, 0, 0, -1},
+ {"Hexagon_A2_sxtb", -1, 0, 0, -1},
+ {"Hexagon_A2_sxth", -1, 0, 0, -1},
+ {"Hexagon_A2_sxtw", -1, 0, 0, -1},
+ {"Hexagon_A2_tfr", -1, 0, 0, -1},
+ {"Hexagon_A2_tfrih", -1, 0, 0, -1},
+ {"Hexagon_A2_tfril", -1, 0, 0, -1},
+ {"Hexagon_A2_tfrp", -1, 0, 0, -1},
+ {"Hexagon_A2_tfrpi", -1, 0, 0, -1},
+ {"Hexagon_A2_tfrsi", -1, 0, 0, -1},
+ {"Hexagon_A2_vabsh", -1, 0, 0, -1},
+ {"Hexagon_A2_vabshsat", -1, 0, 0, -1},
+ {"Hexagon_A2_vabsw", -1, 0, 0, -1},
+ {"Hexagon_A2_vabswsat", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddh", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddhs", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddub", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddubs", -1, 0, 0, -1},
+ {"Hexagon_A2_vadduhs", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddw", -1, 0, 0, -1},
+ {"Hexagon_A2_vaddws", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgh", -1, 0, 0, -1},
+ {"Hexagon_A2_vavghcr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavghr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgub", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgubr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavguh", -1, 0, 0, -1},
+ {"Hexagon_A2_vavguhr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavguw", -1, 0, 0, -1},
+ {"Hexagon_A2_vavguwr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgw", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgwcr", -1, 0, 0, -1},
+ {"Hexagon_A2_vavgwr", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpbeq", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpbgtu", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpheq", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmphgt", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmphgtu", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpweq", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpwgt", -1, 0, 0, -1},
+ {"Hexagon_A2_vcmpwgtu", -1, 0, 0, -1},
+ {"Hexagon_A2_vconj", -1, 0, 0, -1},
+ {"Hexagon_A2_vmaxh", -1, 0, 0, -1},
+ {"Hexagon_A2_vmaxub", -1, 0, 0, -1},
+ {"Hexagon_A2_vmaxuh", -1, 0, 0, -1},
+ {"Hexagon_A2_vmaxuw", -1, 0, 0, -1},
+ {"Hexagon_A2_vmaxw", -1, 0, 0, -1},
+ {"Hexagon_A2_vminh", -1, 0, 0, -1},
+ {"Hexagon_A2_vminub", -1, 0, 0, -1},
+ {"Hexagon_A2_vminuh", -1, 0, 0, -1},
+ {"Hexagon_A2_vminuw", -1, 0, 0, -1},
+ {"Hexagon_A2_vminw", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavgh", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavghcr", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavghr", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavgw", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavgwcr", -1, 0, 0, -1},
+ {"Hexagon_A2_vnavgwr", -1, 0, 0, -1},
+ {"Hexagon_A2_vraddub", -1, 0, 0, -1},
+ {"Hexagon_A2_vraddub_acc", -1, 0, 0, -1},
+ {"Hexagon_A2_vrsadub", -1, 0, 0, -1},
+ {"Hexagon_A2_vrsadub_acc", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubh", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubhs", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubub", -1, 0, 0, -1},
+ {"Hexagon_A2_vsububs", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubuhs", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubw", -1, 0, 0, -1},
+ {"Hexagon_A2_vsubws", -1, 0, 0, -1},
+ {"Hexagon_A2_xor", -1, 0, 0, -1},
+ {"Hexagon_A2_xorp", -1, 0, 0, -1},
+ {"Hexagon_A2_zxtb", -1, 0, 0, -1},
+ {"Hexagon_A2_zxth", -1, 0, 0, -1},
+ {"Hexagon_A4_andn", -1, 0, 0, -1},
+ {"Hexagon_A4_combineir", -1, 0, 0, -1},
+ {"Hexagon_A4_combineri", -1, 0, 0, -1},
+ {"Hexagon_A4_orn", -1, 0, 0, -1},
+ {"Hexagon_A4_rcmpeq", -1, 0, 0, -1},
+ {"Hexagon_A4_rcmpeqi", -1, 0, 0, -1},
+ {"Hexagon_A4_rcmpneq", -1, 0, 0, -1},
+ {"Hexagon_A4_rcmpneqi", -1, 0, 0, -1},
+ {"Hexagon_C2_all8", -1, 0, 0, -1},
+ {"Hexagon_C2_and", -1, 0, 0, -1},
+ {"Hexagon_C2_andn", -1, 0, 0, -1},
+ {"Hexagon_C2_any8", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpeq", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpeqi", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpeqp", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgei", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgeui", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgt", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgti", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgtp", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgtu", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgtui", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpgtup", -1, 0, 0, -1},
+ {"Hexagon_C2_cmplt", -1, 0, 0, -1},
+ {"Hexagon_C2_cmpltu", -1, 0, 0, -1},
+ {"Hexagon_C2_mask", -1, 0, 0, -1},
+ {"Hexagon_C2_mux", -1, 0, 0, -1},
+ {"Hexagon_C2_muxii", -1, 0, 0, -1},
+ {"Hexagon_C2_muxir", -1, 0, 0, -1},
+ {"Hexagon_C2_muxri", -1, 0, 0, -1},
+ {"Hexagon_C2_not", -1, 0, 0, -1},
+ {"Hexagon_C2_or", -1, 0, 0, -1},
+ {"Hexagon_C2_orn", -1, 0, 0, -1},
+ {"Hexagon_C2_pxfer_map", -1, 0, 0, -1},
+ {"Hexagon_C2_tfrpr", -1, 0, 0, -1},
+ {"Hexagon_C2_tfrrp", -1, 0, 0, -1},
+ {"Hexagon_C2_vitpack", -1, 0, 0, -1},
+ {"Hexagon_C2_vmux", -1, 0, 0, -1},
+ {"Hexagon_C2_xor", -1, 0, 0, -1},
+ {"Hexagon_C4_and_and", -1, 0, 0, -1},
+ {"Hexagon_C4_and_andn", -1, 0, 0, -1},
+ {"Hexagon_C4_and_or", -1, 0, 0, -1},
+ {"Hexagon_C4_and_orn", -1, 0, 0, -1},
+ {"Hexagon_C4_cmplte", -1, 0, 0, -1},
+ {"Hexagon_C4_cmpltei", -1, 0, 0, -1},
+ {"Hexagon_C4_cmplteu", -1, 0, 0, -1},
+ {"Hexagon_C4_cmplteui", -1, 0, 0, -1},
+ {"Hexagon_C4_cmpneq", -1, 0, 0, -1},
+ {"Hexagon_C4_cmpneqi", -1, 0, 0, -1},
+ {"Hexagon_C4_fastcorner9", -1, 0, 0, -1},
+ {"Hexagon_C4_fastcorner9_not", -1, 0, 0, -1},
+ {"Hexagon_C4_or_and", -1, 0, 0, -1},
+ {"Hexagon_C4_or_andn", -1, 0, 0, -1},
+ {"Hexagon_C4_or_or", -1, 0, 0, -1},
+ {"Hexagon_C4_or_orn", -1, 0, 0, -1},
+ {"Hexagon_M2_acci", -1, 0, 0, -1},
+ {"Hexagon_M2_accii", -1, 0, 0, -1},
+ {"Hexagon_M2_cmaci_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmacr_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmacs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmacs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cmacsc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmacsc_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyi_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyr_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyrs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyrs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyrsc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpyrsc_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpys_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpys_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpysc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cmpysc_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cnacs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cnacs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_cnacsc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_cnacsc_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyss_acc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyss_nac_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyss_rnd_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyss_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyuu_acc_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyuu_nac_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_dpmpyuu_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_hmmpyh_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_hmmpyl_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_maci", -1, 0, 0, -1},
+ {"Hexagon_M2_macsin", -1, 0, 0, -1},
+ {"Hexagon_M2_macsip", -1, 0, 0, -1},
+ {"Hexagon_M2_mmachs_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmachs_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmachs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmachs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacls_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacls_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacls_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacls_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacuhs_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacuhs_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacuhs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmacuhs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmaculs_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmaculs_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmaculs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmaculs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyh_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyh_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyl_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyl_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyuh_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyuh_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyuh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyuh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyul_rs0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyul_rs1", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyul_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mmpyul_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_acc_sat_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_nac_sat_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_rnd_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_sat_rnd_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpy_up", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_acc_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_nac_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyd_rnd_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyi", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_acc_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_nac_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyu_up", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_acc_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_hh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_hh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_hl_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_hl_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_lh_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_lh_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_ll_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyud_nac_ll_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_mpyui", -1, 0, 0, -1},
+ {"Hexagon_M2_nacci", -1, 0, 0, -1},
+ {"Hexagon_M2_naccii", -1, 0, 0, -1},
+ {"Hexagon_M2_subacc", -1, 0, 0, -1},
+ {"Hexagon_M2_vabsdiffh", -1, 0, 0, -1},
+ {"Hexagon_M2_vabsdiffw", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmac_s0_sat_i", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmac_s0_sat_r", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmpy_s0_sat_i", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmpy_s0_sat_r", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmpy_s1_sat_i", -1, 0, 0, -1},
+ {"Hexagon_M2_vcmpy_s1_sat_r", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmacs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmacs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmpyrs_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmpyrs_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmpys_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vdmpys_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2es", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2es_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2es_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2s_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vmac2s_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2es_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2es_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2s_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2s_s0pack", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2s_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vmpy2s_s1pack", -1, 0, 0, -1},
+ {"Hexagon_M2_vradduh", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmaci_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmaci_s0c", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmacr_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmacr_s0c", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpyi_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpyi_s0c", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpyr_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpyr_s0c", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpys_acc_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpys_s1", -1, 0, 0, -1},
+ {"Hexagon_M2_vrcmpys_s1rp", -1, 0, 0, -1},
+ {"Hexagon_M2_vrmac_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_vrmpy_s0", -1, 0, 0, -1},
+ {"Hexagon_M2_xor_xacc", -1, 0, 0, -1},
+ {"Hexagon_M4_xor_xacc", -1, 0, 0, -1},
+ {"Hexagon_S2_addasl_rrri", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p_acc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p_and", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p_nac", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p_or", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_p_xacc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_acc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_and", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_nac", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_or", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_sat", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_r_xacc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_vh", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_i_vw", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_p", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_p_acc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_p_and", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_p_nac", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_p_or", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r_acc", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r_and", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r_nac", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r_or", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_r_sat", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_vh", -1, 0, 0, -1},
+ {"Hexagon_S2_asl_r_vw", -1, 0, 0, -1},
+ {"Hexagon_S2_asr_i_p", -1, 0, 0, -1},
+ {"Hexagon_S2_asr_i_p_acc", -1, 0, 0, -1},
+ {"Hexagon_S2_asr_i_p_and", -1, 0, 0, -1},
+ {"Hexagon_S2_asr_i_p_nac", -1, 0, 0, -1},
+ {"Hexagon_S2_asr_i_p_or", -1, 0, 0, -1},
+ {"Hexagon