Skip to content

Commit 67f15f3

Browse files
committed
arc64: opcodes: Fix instruction class for push/pop
pushl_s, pushdl_s, popl_s and popdl_s instructions must be in PUSH class instead of ARITH. This was found while reworking the stack unwinder for HS6x - it ignores push instructions if they are in a wrong class. Signed-off-by: Yuriy Kolerov <[email protected]>
1 parent 0216af7 commit 67f15f3

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

opcodes/arc64-tbl.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6570,10 +6570,10 @@
65706570
{ "pop_s", 0x0000C0D1, 0x0000F8FF, ARC_OPCODE_ARC32, POP, NONE, { BLINK_S }, { C_AA_AB }},
65716571

65726572
/* popdl_s b 11000bbb1101BBB1. */
6573-
{ "popdl_s", 0x0000C0D1, 0x0000F8F1, ARC_OPCODE_ARC64, ARITH, NONE, { RBB_S_CHK }, { 0 }},
6573+
{ "popdl_s", 0x0000C0D1, 0x0000F8F1, ARC_OPCODE_ARC64, POP, NONE, { RBB_S_CHK }, { 0 }},
65746574

65756575
/* popl_s b 11000bbb1100BBB1. */
6576-
{ "popl_s", 0x0000C0C1, 0x0000F8F1, ARC_OPCODE_ARC64, ARITH, NONE, { RBB_S }, { 0 }},
6576+
{ "popl_s", 0x0000C0C1, 0x0000F8F1, ARC_OPCODE_ARC64, POP, NONE, { RBB_S }, { 0 }},
65776577

65786578
/* prealloc<.aa> b,c 00100bbbaa1100010BBBCCCCCC111110. */
65796579
{ "prealloc", 0x2031003E, 0xF83F803F,ARC_OPCODE_ARC32 | ARC_OPCODE_ARC64, MEMORY, NONE, { BRAKET, RB, RC, BRAKETdup }, { C_AA8 }},
@@ -6636,10 +6636,10 @@
66366636
{ "push_s", 0x0000C0F1, 0x0000F8FF, ARC_OPCODE_ARC32, PUSH, NONE, { BLINK_S }, { C_AA_AW }},
66376637

66386638
/* pushdl_s b 11000bbb1111BBB1. */
6639-
{ "pushdl_s", 0x0000C0F1, 0x0000F8F1, ARC_OPCODE_ARC64, ARITH, NONE, { RBB_S_CHK }, { 0 }},
6639+
{ "pushdl_s", 0x0000C0F1, 0x0000F8F1, ARC_OPCODE_ARC64, PUSH, NONE, { RBB_S_CHK }, { 0 }},
66406640

66416641
/* pushl_s b 11000bbb1110BBB1. */
6642-
{ "pushl_s", 0x0000C0E1, 0x0000F8F1, ARC_OPCODE_ARC64, ARITH, NONE, { RBB_S }, { 0 }},
6642+
{ "pushl_s", 0x0000C0E1, 0x0000F8F1, ARC_OPCODE_ARC64, PUSH, NONE, { RBB_S }, { 0 }},
66436643

66446644
/* qmach<.f> a,b,c 00101bbb00110100FBBBCCCCCCAAAAAA. */
66456645
{ "qmach", 0x28340000, 0xF8FF0000,ARC_OPCODE_ARC32 | ARC_OPCODE_ARC64, MPY, MPY9E, { RA_CHK, RB, RC }, { C_F }},

0 commit comments

Comments
 (0)