diff options
author | Brendon Cahoon <bcahoon@codeaurora.org> | 2012-05-11 19:56:59 +0000 |
---|---|---|
committer | Brendon Cahoon <bcahoon@codeaurora.org> | 2012-05-11 19:56:59 +0000 |
commit | 6d532d8860c07a3af3b66339f55ab91b4618ca7d (patch) | |
tree | 60b50fe7ba7f82abdddb0ac1890cf60ba9319d30 | |
parent | e1093e5503060b3031980dc14a141c3236108c50 (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.txt | 1 | ||||
-rw-r--r-- | lib/Target/Hexagon/Hexagon.h | 2 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonCExtTable.h | 1898 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonConstExtInfo.h | 41 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonISelDAGToDAG.cpp | 31 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonImmediates.td | 415 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfo.cpp | 185 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfo.h | 2 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfo.td | 233 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfoV4.td | 381 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfoV5.td | 22 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonOptimizeConstExt.cpp | 261 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonTargetMachine.cpp | 7 | ||||
-rw-r--r-- | lib/Target/Hexagon/HexagonVLIWPacketizer.cpp | 459 | ||||
-rw-r--r-- | lib/Target/Hexagon/InstPrinter/HexagonInstPrinter.cpp | 27 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/constext.ll | 70 | ||||
-rw-r--r-- | test/CodeGen/Hexagon/dualstore.ll | 8 |
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 |