|
From: Julian S. <js...@ac...> - 2012-06-15 22:40:09
|
On Saturday, June 16, 2012, Florian Krohm wrote:
> On 06/15/2012 11:43 PM, John Reiser wrote:
> >> - if ((e->Iex.Binop.op == Iop_CmpF64) |
> >> - (e->Iex.Binop.op == Iop_CmpD64) |
> >> + if ((e->Iex.Binop.op == Iop_CmpF64) ||
> >> + (e->Iex.Binop.op == Iop_CmpD64) ||
> >>
> >> (e->Iex.Binop.op == Iop_CmpD128)) {
> BEAM is not insisting on anything. We could easily switch that complaint
> off if we wanted to. But I don't think we want to do that.
> Mixing boolean and bitwise expressions is a known source of trouble. If
> you look around VEX code, || is used across the board when boolean
> expressions are combined. So we should be consistent with existing
> practice.
Yeah. Besides, this is in an instruction selector, which is hardly a
hot path. Register allocation is expensive, but insn selection barely
comes on the scale. I'd go for the simple version until such time
as we have profile data saying that insn selection is a bottleneck.
J
|