i965: Optimize brw_inst_bits() and brw_compact_inst_bits().

Cuts about 1k of .text.

   text     data      bss      dec      hex  filename
5018165   197160    27672  5242997   500075  i965_dri.so before
5017141   197160    27672  5241973   4ffc75  i965_dri.so after

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Matt Turner
2015-08-10 16:57:58 -07:00
parent 1e53df7064
commit 9fa70fef22
+4 -4
View File
@@ -683,9 +683,9 @@ brw_inst_bits(const brw_inst *inst, unsigned high, unsigned low)
high %= 64;
low %= 64;
const uint64_t mask = (((1ull << (high - low + 1)) - 1) << low);
const uint64_t mask = (1ull << (high - low + 1)) - 1;
return (inst->data[word] & mask) >> low;
return (inst->data[word] >> low) & mask;
}
/**
@@ -731,9 +731,9 @@ typedef struct {
static inline unsigned
brw_compact_inst_bits(brw_compact_inst *inst, unsigned high, unsigned low)
{
const uint64_t mask = (((1ull << (high - low + 1)) - 1) << low);
const uint64_t mask = (1ull << (high - low + 1)) - 1;
return (inst->data & mask) >> low;
return (inst->data >> low) & mask;
}
/**