{
unsigned int register_specifier;
unsigned int vector_length;
- unsigned int w;
+ bool w;
/* Check register specifier. */
if (i.vex.register_specifier)
/* Check the REX.W bit and VEXW. */
if (i.tm.opcode_modifier.vexw == VEXWIG)
- w = (vexwig == vexw1 || (i.rex & REX_W)) ? 1 : 0;
+ w = vexwig == vexw1 || (i.rex & REX_W);
else if (i.tm.opcode_modifier.vexw && !(i.rex & REX_W))
- w = i.tm.opcode_modifier.vexw == VEXW1 ? 1 : 0;
+ w = i.tm.opcode_modifier.vexw == VEXW1;
else
- w = (flag_code == CODE_64BIT ? i.rex & REX_W : vexwig == vexw1) ? 1 : 0;
+ w = flag_code == CODE_64BIT ? i.rex & REX_W : vexwig == vexw1;
/* Use 2-byte VEX prefix if possible. */
if (w == 0
&& (i.rex & (REX_W | REX_X | REX_B)) == 0)
{
/* 2-byte VEX prefix. */
- unsigned int r;
+ bool r;
i.vex.length = 2;
i.vex.bytes[0] = 0xc5;
/* Check the REX.R bit. */
- r = (i.rex & REX_R) ? 0 : 1;
+ r = !(i.rex & REX_R);
i.vex.bytes[1] = (r << 7
| register_specifier << 3
| vector_length << 2
static void
build_evex_prefix (void)
{
- unsigned int register_specifier, w;
+ unsigned int register_specifier;
+ bool w;
rex_byte vrex_used = 0;
/* Check register specifier. */
/* Check the REX.W bit and VEXW. */
if (i.tm.opcode_modifier.vexw == VEXWIG)
- w = (evexwig == evexw1 || (i.rex & REX_W)) ? 1 : 0;
+ w = evexwig == evexw1 || (i.rex & REX_W);
else if (i.tm.opcode_modifier.vexw && !(i.rex & REX_W))
- w = i.tm.opcode_modifier.vexw == VEXW1 ? 1 : 0;
+ w = i.tm.opcode_modifier.vexw == VEXW1;
else
- w = (flag_code == CODE_64BIT ? i.rex & REX_W : evexwig == evexw1) ? 1 : 0;
+ w = flag_code == CODE_64BIT ? i.rex & REX_W : evexwig == evexw1;
/* The third byte of the EVEX prefix. */
i.vex.bytes[2] = ((w << 7)