[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 09/30] Hexagon HVX (target/hexagon) C preprocessor for decode
From: |
Taylor Simpson |
Subject: |
[PATCH v4 09/30] Hexagon HVX (target/hexagon) C preprocessor for decode tree |
Date: |
Tue, 12 Oct 2021 05:10:47 -0500 |
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
---
target/hexagon/gen_dectree_import.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/target/hexagon/gen_dectree_import.c
b/target/hexagon/gen_dectree_import.c
index 5b7ecfc..ee35467 100644
--- a/target/hexagon/gen_dectree_import.c
+++ b/target/hexagon/gen_dectree_import.c
@@ -40,6 +40,11 @@ const char * const opcode_names[] = {
* Q6INSN(A2_add,"Rd32=add(Rs32,Rt32)",ATTRIBS(),
* "Add 32-bit registers",
* { RdV=RsV+RtV;})
+ * HVX instructions have the following form
+ * EXTINSN(V6_vinsertwr, "Vx32.w=vinsert(Rt32)",
+ * ATTRIBS(A_EXTENSION,A_CVI,A_CVI_VX,A_CVI_LATE),
+ * "Insert Word Scalar into Vector",
+ * VxV.uw[0] = RtV;)
*/
const char * const opcode_syntax[XX_LAST_OPCODE] = {
#define Q6INSN(TAG, BEH, ATTRIBS, DESCR, SEM) \
@@ -105,6 +110,14 @@ static const char *get_opcode_enc(int opcode)
static const char *get_opcode_enc_class(int opcode)
{
+ const char *tmp = opcode_encodings[opcode].encoding;
+ if (tmp == NULL) {
+ const char *test = "V6_"; /* HVX */
+ const char *name = opcode_names[opcode];
+ if (strncmp(name, test, strlen(test)) == 0) {
+ return "EXT_mmvec";
+ }
+ }
return opcode_enc_class_names[opcode_encodings[opcode].enc_class];
}
--
2.7.4
- [PATCH v4 15/30] Hexagon HVX (target/hexagon) helper overrides - vector assign & cmov, (continued)
- [PATCH v4 15/30] Hexagon HVX (target/hexagon) helper overrides - vector assign & cmov, Taylor Simpson, 2021/10/12
- [PATCH v4 19/30] Hexagon HVX (target/hexagon) helper overrides - vector logical ops, Taylor Simpson, 2021/10/12
- [PATCH v4 17/30] Hexagon HVX (target/hexagon) helper overrides - vector shifts, Taylor Simpson, 2021/10/12
- [PATCH v4 20/30] Hexagon HVX (target/hexagon) helper overrides - vector compares, Taylor Simpson, 2021/10/12
- [PATCH v4 08/30] Hexagon HVX (target/hexagon) semantics generator - part 2, Taylor Simpson, 2021/10/12
- [PATCH v4 30/30] Hexagon HVX (tests/tcg/hexagon) histogram test, Taylor Simpson, 2021/10/12
- [PATCH v4 21/30] Hexagon HVX (target/hexagon) helper overrides - vector splat and abs, Taylor Simpson, 2021/10/12
- [PATCH v4 09/30] Hexagon HVX (target/hexagon) C preprocessor for decode tree,
Taylor Simpson <=
- [PATCH v4 23/30] Hexagon HVX (target/hexagon) helper overrides - vector stores, Taylor Simpson, 2021/10/12
- [PATCH v4 27/30] Hexagon HVX (tests/tcg/hexagon) vector_add_int test, Taylor Simpson, 2021/10/12
- [PATCH v4 24/30] Hexagon HVX (target/hexagon) import semantics, Taylor Simpson, 2021/10/12
- [PATCH v4 28/30] Hexagon HVX (tests/tcg/hexagon) hvx_misc test, Taylor Simpson, 2021/10/12
- [PATCH v4 25/30] Hexagon HVX (target/hexagon) instruction decoding, Taylor Simpson, 2021/10/12
- [PATCH v4 29/30] Hexagon HVX (tests/tcg/hexagon) scatter_gather test, Taylor Simpson, 2021/10/12
- [PATCH v4 26/30] Hexagon HVX (target/hexagon) import instruction encodings, Taylor Simpson, 2021/10/12