aarch64: Implement mulX instructions
authorMarek Vasut <marex@denx.de>
Fri, 26 Jun 2020 16:46:52 +0000 (18:46 +0200)
committerMarek Vasut <marex@denx.de>
Sat, 19 Sep 2020 01:08:46 +0000 (03:08 +0200)
Fill in aarch64 opcodes for mulX instructions.

Signed-off-by: Marek Vasut <marex@denx.de>
orc/orcrules-neon.c

index 0cb7914..418c4c3 100644 (file)
@@ -2465,7 +2465,7 @@ BINARY(maxsb,"vmax.s8",0xf2000600, "smax", 0x0e206400, 3)
 BINARY(maxub,"vmax.u8",0xf3000600, "umax", 0x2e206400, 3)
 BINARY(minsb,"vmin.s8",0xf2000610, "smin", 0x0e206c00, 3)
 BINARY(minub,"vmin.u8",0xf3000610, "umin", 0x2e206c00, 3)
-BINARY(mullb,"vmul.i8",0xf2000910, NULL, 0, 3)
+BINARY(mullb,"vmul.i8",0xf2000910, "mul", 0x0e209c00, 3)
 BINARY(orb,"vorr",0xf2200110, "orr", 0x0ea01c00, 3)
 /* LSHIFT(shlb,"vshl.i8",0xf2880510, NULL, 0, 3) */
 /* RSHIFT(shrsb,"vshr.s8",0xf2880010,8, NULL, 0, 3) */
@@ -2490,7 +2490,7 @@ BINARY(maxsw,"vmax.s16",0xf2100600, "smax", 0x0e606400, 2)
 BINARY(maxuw,"vmax.u16",0xf3100600, "umax", 0x2e606400, 2)
 BINARY(minsw,"vmin.s16",0xf2100610, "smin", 0x0e606c00, 2)
 BINARY(minuw,"vmin.u16",0xf3100610, "umin", 0x2e606c00, 2)
-BINARY(mullw,"vmul.i16",0xf2100910, NULL, 0, 2)
+BINARY(mullw,"vmul.i16",0xf2100910, "mul", 0x0e609c00, 2)
 BINARY(orw,"vorr",0xf2200110, "orr", 0x0ea01c00, 2)
 /* LSHIFT(shlw,"vshl.i16",0xf2900510, NULL, 0, 2) */
 /* RSHIFT(shrsw,"vshr.s16",0xf2900010,16, NULL, 0, 2) */
@@ -2515,7 +2515,7 @@ BINARY(maxsl,"vmax.s32",0xf2200600, "smax", 0x0ea06400, 1)
 BINARY(maxul,"vmax.u32",0xf3200600, "umax", 0x2ea06400, 1)
 BINARY(minsl,"vmin.s32",0xf2200610, "smin", 0x0ea06c00, 1)
 BINARY(minul,"vmin.u32",0xf3200610, "umin", 0x2ea06c00, 1)
-BINARY(mulll,"vmul.i32",0xf2200910, NULL, 0, 1)
+BINARY(mulll,"vmul.i32",0xf2200910, "mul", 0x0ea09c00, 1)
 BINARY(orl,"vorr",0xf2200110, "orr", 0x0ea01c00, 1)
 /* LSHIFT(shll,"vshl.i32",0xf2a00510, NULL, 0, 1) */
 /* RSHIFT(shrsl,"vshr.s32",0xf2a00010,32, NULL, 0, 1) */
@@ -2539,7 +2539,7 @@ MOVE(copyq,"vmov",0xf2200110, "mov", 0x0ea01c00, 0)
 /* BINARY(maxuq,"vmax.u64",0xf3000600, "umax", 0x2ee06400, 0) */
 /* BINARY(minsq,"vmin.s64",0xf2000610, "smin", 0x0ee06c00, 0) */
 /* BINARY(minuq,"vmin.u64",0xf3000610, "umin", 0x2ee06c00, 0) */
-/* BINARY(mullq,"vmul.i64",0xf2000910, NULL, 0, 0) */
+/* BINARY(mullq,"vmul.i64",0xf2000910, "mul", 0x0ee09c00, 0) */
 BINARY(orq,"vorr",0xf2200110, "orr", 0x0ea01c00, 0)
 BINARY(subq,"vsub.i64",0xf3300800, "sub", 0x2ee08400, 0)
 /* BINARY(subssq,"vqsub.s64",0xf2000210, "sqsub", 0x0ee00c00, 0) */