summaryrefslogtreecommitdiff
path: root/orc
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2020-06-26 03:43:41 +0200
committerMarek Vasut <marex@denx.de>2020-09-19 02:48:02 +0200
commit21b973aeae8c8b17d3722589c03cebb72cabfced (patch)
tree857b8e8e949266ed695b7139d58baec7ffa2b8cf /orc
parent73eccb6c0e4dabc0ea17db21245ff5669d9512b4 (diff)
downloadorc-21b973aeae8c8b17d3722589c03cebb72cabfced.tar.gz
aarch64: Implement subX instructions
Fill in aarch64 opcodes for subX instructions. Signed-off-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'orc')
-rw-r--r--orc/orcrules-neon.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/orc/orcrules-neon.c b/orc/orcrules-neon.c
index f67a45a..314985d 100644
--- a/orc/orcrules-neon.c
+++ b/orc/orcrules-neon.c
@@ -2360,9 +2360,9 @@ BINARY(orb,"vorr",0xf2200110, "orr", 0x0ea01c00, 3)
/* LSHIFT(shlb,"vshl.i8",0xf2880510, NULL, 0, 3) */
/* RSHIFT(shrsb,"vshr.s8",0xf2880010,8, NULL, 0, 3) */
/* RSHIFT(shrub,"vshr.u8",0xf3880010,8, NULL, 0, 3) */
-BINARY(subb,"vsub.i8",0xf3000800, NULL, 0, 3)
-BINARY(subssb,"vqsub.s8",0xf2000210, NULL, 0, 3)
-BINARY(subusb,"vqsub.u8",0xf3000210, NULL, 0, 3)
+BINARY(subb,"vsub.i8",0xf3000800, "sub", 0x2e208400, 3)
+BINARY(subssb,"vqsub.s8",0xf2000210, "sqsub", 0x0e202c00, 3)
+BINARY(subusb,"vqsub.u8",0xf3000210, "uqsub", 0x2e202c00, 3)
BINARY(xorb,"veor",0xf3000110, "eor", 0x2e201c00, 3)
UNARY(absw,"vabs.s16",0xf3b50300, "abs", 0x0e60b800, 2)
@@ -2385,9 +2385,9 @@ BINARY(orw,"vorr",0xf2200110, "orr", 0x0ea01c00, 2)
/* LSHIFT(shlw,"vshl.i16",0xf2900510, NULL, 0, 2) */
/* RSHIFT(shrsw,"vshr.s16",0xf2900010,16, NULL, 0, 2) */
/* RSHIFT(shruw,"vshr.u16",0xf3900010,16, NULL, 0, 2) */
-BINARY(subw,"vsub.i16",0xf3100800, NULL, 0, 2)
-BINARY(subssw,"vqsub.s16",0xf2100210, NULL, 0, 2)
-BINARY(subusw,"vqsub.u16",0xf3100210, NULL, 0, 2)
+BINARY(subw,"vsub.i16",0xf3100800, "sub", 0x2e608400, 2)
+BINARY(subssw,"vqsub.s16",0xf2100210, "sqsub", 0x0e602c00, 2)
+BINARY(subusw,"vqsub.u16",0xf3100210, "uqsub", 0x2e602c00, 2)
BINARY(xorw,"veor",0xf3000110, "eor", 0x2e201c00, 2)
UNARY(absl,"vabs.s32",0xf3b90300, "abs", 0x0ea0b800, 1)
@@ -2410,9 +2410,9 @@ BINARY(orl,"vorr",0xf2200110, "orr", 0x0ea01c00, 1)
/* LSHIFT(shll,"vshl.i32",0xf2a00510, NULL, 0, 1) */
/* RSHIFT(shrsl,"vshr.s32",0xf2a00010,32, NULL, 0, 1) */
/* RSHIFT(shrul,"vshr.u32",0xf3a00010,32, NULL, 0, 1) */
-BINARY(subl,"vsub.i32",0xf3200800, NULL, 0, 1)
-BINARY(subssl,"vqsub.s32",0xf2200210, NULL, 0, 1)
-BINARY(subusl,"vqsub.u32",0xf3200210, NULL, 0, 1)
+BINARY(subl,"vsub.i32",0xf3200800, "sub", 0x2ea08400, 1)
+BINARY(subssl,"vqsub.s32",0xf2200210, "sqsub", 0x0ea02c00, 1)
+BINARY(subusl,"vqsub.u32",0xf3200210, "uqsub", 0x2ea02c00, 1)
BINARY(xorl,"veor",0xf3000110, "eor", 0x2e201c00, 1)
/* UNARY(absq,"vabs.s64",0xf3b10300, "abs", 0xee0b800, 0) */
@@ -2431,9 +2431,9 @@ MOVE(copyq,"vmov",0xf2200110, "mov", 0x0ea01c00, 0)
/* BINARY(minuq,"vmin.u64",0xf3000610, NULL, 0, 0) */
/* BINARY(mullq,"vmul.i64",0xf2000910, NULL, 0, 0) */
BINARY(orq,"vorr",0xf2200110, "orr", 0x0ea01c00, 0)
-BINARY(subq,"vsub.i64",0xf3300800, NULL, 0, 0)
-/* BINARY(subssq,"vqsub.s64",0xf2000210, NULL, 0, 0) */
-/* BINARY(subusq,"vqsub.u64",0xf3000210, NULL, 0, 0) */
+BINARY(subq,"vsub.i64",0xf3300800, "sub", 0x2ee08400, 0)
+/* BINARY(subssq,"vqsub.s64",0xf2000210, "sqsub", 0x0ee00c00, 0) */
+/* BINARY(subusq,"vqsub.u64",0xf3000210, "uqsub", 0x2ee00c00, 0) */
BINARY(xorq,"veor",0xf3000110, "eor", 0x2e201c00, 0)
UNARY_LONG(convsbw,"vmovl.s8",0xf2880a10, "sshll", 0x0f08a400, 3)