Hi,

On 2013-01-16 01:28:09 -0500, Tom Lane wrote:
> It's a compiler bug.

Gah. Not again. Not that I am surprised, but still.

> icc 11.1 apparently thinks that this loop in doPickSplit:

> (Why does it think it needs to prefetch an array it's only going to
> write into?  Is IA64's cache hardware really that stupid?)

I think it is. They had that strange model of putting all the
intelligence into the compiler and make the hardware relatively
dumb. Worked well I'd say.

> And it makes use of IA64's bizarre scheme for software-unrolling
> loops, which I am going to do my darnedest to forget now that I've
> learned it;
> ...
> Diagnosis: icc 11.1 is not ready for prime time.

Consider me impressed. I tried to see what went wrong from a code
generation POV with the original bug but I have to admit I gave up with
only an inkling of an idea what it could be (I think it miscalculate the
starting offset when copying the whole 'result' memory at once).
That instruction set is just plain too crazy for my brain.

The consequence seems to be icc on IA-64 in general is not ready for
prime time... I doubt they are still investigating significant resources
into it anyway.

> I shall now retire with a glass of wine and attempt to forget everything
> I just learned about IA64.  What a bizarre architecture ...

The explanation/problem alone leaves me in want of something stronger,
only its 1pm here...

Nice work,

Andres

-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to