By: Linus Torvalds (torvalds.delete@this.linux-foundation.org), November 17, 2010 7:03 pm
Room: Moderated Discussions
anon (anon@anon.com) on 11/17/10 wrote:
>
>Couldn't they just tweak compilers to be more like x86 one
>in terms of when a predicated sequence is considered a win?
Oh, absolutely. I'm not saying OoO is impossible. But some
of the architecture design goals were definitely either
actively anti-OoO, or just didn't think things through.
And "just recompile" is not a good thing to tell people.
It's been done before (early RISC was famous for it), but
there's a few sales lost every time. And Itanium can't
afford to do that.
Anyway, you can certainly just handle the data dependencies
of predication. It's not like compilers use predication
exclusively, and conditional branches haven't gone away. So
you can definitely do an OoO Itanium. It's just that I
suspect predication makes it a bit more challenging, and
the upsides aren't as wonderful.
Linus
>
>Couldn't they just tweak compilers to be more like x86 one
>in terms of when a predicated sequence is considered a win?
Oh, absolutely. I'm not saying OoO is impossible. But some
of the architecture design goals were definitely either
actively anti-OoO, or just didn't think things through.
And "just recompile" is not a good thing to tell people.
It's been done before (early RISC was famous for it), but
there's a few sales lost every time. And Itanium can't
afford to do that.
Anyway, you can certainly just handle the data dependencies
of predication. It's not like compilers use predication
exclusively, and conditional branches haven't gone away. So
you can definitely do an OoO Itanium. It's just that I
suspect predication makes it a bit more challenging, and
the upsides aren't as wonderful.
Linus