#include "decode.h"
static void update_dabt(struct hsr_dabt *dabt, int reg,
- uint8_t size, bool_t sign)
+ uint8_t size, bool sign)
{
dabt->reg = reg;
dabt->size = size;
{
case 12:
{
- bool_t sign = !!(hw1 & (1 << 8));
- bool_t load = !!(hw1 & (1 << 4));
+ bool sign = (hw1 & (1u << 8));
+ bool load = (hw1 & (1u << 4));
if ( (hw1 & 0x0110) == 0x0100 )
/* NEON instruction */
switch ( opB & 0x3 )
{
case 0: /* Non-signed word */
- update_dabt(dabt, reg, 2, 0);
+ update_dabt(dabt, reg, 2, false);
break;
case 1: /* Non-signed halfword */
- update_dabt(dabt, reg, 1, 0);
+ update_dabt(dabt, reg, 1, false);
break;
case 2: /* Non-signed byte */
- update_dabt(dabt, reg, 0, 0);
+ update_dabt(dabt, reg, 0, false);
break;
case 3: /* Signed byte */
- update_dabt(dabt, reg, 0, 1);
+ update_dabt(dabt, reg, 0, true);
break;
}
}
case 6:
/* Load/Store word immediate offset */
- update_dabt(dabt, instr & 7, 2, 0);
+ update_dabt(dabt, instr & 7, 2, false);
break;
case 7:
/* Load/Store byte immediate offset */
- update_dabt(dabt, instr & 7, 0, 0);
+ update_dabt(dabt, instr & 7, 0, false);
break;
case 8:
/* Load/Store halfword immediate offset */
- update_dabt(dabt, instr & 7, 1, 0);
+ update_dabt(dabt, instr & 7, 1, false);
break;
case 9:
/* Load/Store word sp offset */
- update_dabt(dabt, (instr >> 8) & 7, 2, 0);
+ update_dabt(dabt, (instr >> 8) & 7, 2, false);
break;
case 14:
if ( instr & (1 << 11) )