aarch64: Implement swapX instructions
authorMarek Vasut <marex@denx.de>
Sat, 27 Jun 2020 17:35:45 +0000 (19:35 +0200)
committerMarek Vasut <marex@denx.de>
Sat, 19 Sep 2020 01:08:46 +0000 (03:08 +0200)
Fill in aarch64 opcodes for swapX instructions.

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

index 35bfd12..d262768 100644 (file)
@@ -2570,11 +2570,11 @@ BINARY_LONG(mulubw,"vmull.u8",0xf3800c00, "umull", 0x2e20c000, 3)
 BINARY_LONG(mulswl,"vmull.s16",0xf2900c00, "smull", 0x0e60c000, 2)
 BINARY_LONG(muluwl,"vmull.u16",0xf3900c00, "umull", 0x2e60c000, 2)
 
-UNARY(swapw,"vrev16.i8",0xf3b00100, NULL, 0, 2)
-UNARY(swapl,"vrev32.i8",0xf3b00080, NULL, 0, 1)
-UNARY(swapq,"vrev64.i8",0xf3b00000, NULL, 0, 0)
-UNARY(swapwl,"vrev32.i16",0xf3b40080, NULL, 0, 1)
-UNARY(swaplq,"vrev64.i32",0xf3b80000, NULL, 0, 0)
+UNARY(swapw,"vrev16.i8",0xf3b00100, "rev16", 0x0e201800, 2)
+UNARY(swapl,"vrev32.i8",0xf3b00080, "rev32", 0x2e200800, 1)
+UNARY(swapq,"vrev64.i8",0xf3b00000, "rev64", 0x0e200800, 0)
+UNARY(swapwl,"vrev32.i16",0xf3b40080, "rev32", 0x2e600800, 1)
+UNARY(swaplq,"vrev64.i32",0xf3b80000, "rev64", 0x0ea00800, 0)
 
 UNARY_NARROW(select0ql,"vmovn.i64",0xf3ba0200, "xtn", 0x0ea12800, 1)
 UNARY_NARROW(select0lw,"vmovn.i32",0xf3b60200, "xtn", 0x0e612800, 2)