disasm.c (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) disasm.c (ecaa054fc4c65ad337ec57aef2c6b041e0ef8f91)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * several functions that help interpret ARC instructions
4 * used for unaligned accesses, kprobes and kgdb
5 *
6 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
7 */
8

--- 352 unchanged lines hidden (view full) ---

361 state->src1 = get_reg(FIELD_S_C(state->words[0]), regs, cregs);
362 state->src2 = get_reg(FIELD_S_B(state->words[0]), regs, cregs);
363 state->src3 = FIELD_S_u6(state->words[0]);
364 break;
365
366 case op_SP: /* LD_S|LDB_S b,[sp,u7], ST_S|STB_S b,[sp,u7] */
367 /* note: we are ignoring possibility of:
368 * ADD_S, SUB_S, PUSH_S, POP_S as these should not
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * several functions that help interpret ARC instructions
4 * used for unaligned accesses, kprobes and kgdb
5 *
6 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
7 */
8

--- 352 unchanged lines hidden (view full) ---

361 state->src1 = get_reg(FIELD_S_C(state->words[0]), regs, cregs);
362 state->src2 = get_reg(FIELD_S_B(state->words[0]), regs, cregs);
363 state->src3 = FIELD_S_u6(state->words[0]);
364 break;
365
366 case op_SP: /* LD_S|LDB_S b,[sp,u7], ST_S|STB_S b,[sp,u7] */
367 /* note: we are ignoring possibility of:
368 * ADD_S, SUB_S, PUSH_S, POP_S as these should not
369 * cause unaliged exception anyway */
369 * cause unaligned exception anyway */
370 state->write = BITS(state->words[0], 6, 6);
371 state->zz = BITS(state->words[0], 5, 5);
372 if (state->zz)
373 break; /* byte accesses should not come here */
374 if (!state->write) {
375 state->src1 = get_reg(28, regs, cregs);
376 state->src2 = FIELD_S_u7(state->words[0]);
377 state->dest = FIELD_S_B(state->words[0]);

--- 158 unchanged lines hidden ---
370 state->write = BITS(state->words[0], 6, 6);
371 state->zz = BITS(state->words[0], 5, 5);
372 if (state->zz)
373 break; /* byte accesses should not come here */
374 if (!state->write) {
375 state->src1 = get_reg(28, regs, cregs);
376 state->src2 = FIELD_S_u7(state->words[0]);
377 state->dest = FIELD_S_B(state->words[0]);

--- 158 unchanged lines hidden ---