Slashdot Mirror


AMD Alleges Intel Compilers Create Slower AMD Code

edxwelch writes "In AMD's recient anti-trust lawsuit AMD have examined the Intel compiler and found that it deliberatly runs code slower when it detects that the processor is an AMD. "To achieve this, Intel designed the compiler to compile code along several alternate code paths. ... By design, the code paths were not created equally. If the program detects a "Genuine Intel" microprocessor, it executes a fully optimized code path and operates with the maximum efficiency. However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash.""

912 comments

  1. Simply ludicrous by DeadSea · · Score: 5, Funny

    That is an outragous claim! No company would stoop so low. Why, that would be like claiming that Microsoft configured its servers to give broken HTML to browsers other than Internet Explorer. That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players. That would be like saying that Adobe publishes pdfs that b0rk XPDF.

    Anybody can see that this claim is ludicrous and that things like this just don't happen. (but I hope I'm not giving anybody any ideas.)

    Type your currency conversion into a free form text box

    1. Re:Simply ludicrous by cwebb1977 · · Score: 5, Funny

      Hey, Microsoft doesn't even know the difference between correct and broken HTML!

      --
      www.weberseite.at
    2. Re:Simply ludicrous by RootsLINUX · · Score: 5, Interesting

      Well, I don't think they would make such a claim without at least some sort of evidence. And we all know that Intel is a corporation that doesn't like to play nice with the other kids. During my senior year of undergrad my computer architecture professor consistently refered to Intel as "the evil empire", so who knows. I'd like to see AMD present some hard evidence though.

      --
      Hero of Allacrost, a FOSS RPG for *NIX/*BSD/OS X/Win
    3. Re:Simply ludicrous by ssyladin · · Score: 5, Funny

      Neither does Slashdot.

    4. Re:Simply ludicrous by Calyth · · Score: 1

      Maybe I'm an uptight SOB, but Microsoft manage to make IE non-compliant enough that servers often send out HTML that doesn't render properly for compliant browsers. I thought I saw jhymn have to strip the info off a free AAC given away by iTMS, and I've tried to read PDF that's fscked up in xpdf/gpdf....
      oh wait.... hardy har har

    5. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      I have and still use an original Rio Volt 120 cd mp3 player, one of Creative's 20GB players, and a Sans mp3 player memory stick player.
      Why should I pay 3x market price for a logo of a half-eaten piece of fruit?

    6. Re:Simply ludicrous by wo1verin3 · · Score: 5, Funny

      >> Well, I don't think they would make such a claim
      >> without at least some sort of evidence

      We agree.

      - darl

    7. Re:Simply ludicrous by 10000000000000000000 · · Score: 1

      Really, the question is why do people do this?

      How can people that make such stupid, short-sighted decisions work in sectors of the economy generally associated with intelligence?

      this goes for scientific skewing as well.

      WHY?

      perhaps not enough people realized that happiness==success. not money.

    8. Re:Simply ludicrous by utnow · · Score: 0, Interesting

      You paid 1/3 less than $300 for a full color unit, with 15hour battery life, tv-out, and a 20gig drive? nice :D

    9. Re:Simply ludicrous by mbbac · · Score: 1

      "That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players."

      When did this happen?

      --

      mbbac

    10. Re:Simply ludicrous by codeguy007 · · Score: 4, Informative

      This won't be hard to prove. Pretty much anyone who wants fast 32Bit code uses the Intel Compilers, even on AMD. However it is a known fact that you need to force the compiler to use optimizations if an Intel Processor is not detected.

    11. Re:Simply ludicrous by jefe7777 · · Score: 3, Funny

      That is an outragous claim! No company would stoop so low. Why, that would be like claiming that Microsoft configured its servers to give broken HTML to browsers other than Internet Explorer. That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players. That would be like saying that Adobe publishes pdfs that b0rk XPDF.

      (that should have been followed by the obligatory:)

      oh wait...

    12. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      >> Well, I don't think they would make such a claim >> without at least some sort of evidence We agree. - darl

      Well, I thought you were funny anyway.. no mods points at the moment though.

    13. Re:Simply ludicrous by emandres · · Score: 2, Informative

      I guess it depends on what you're calling "correct" HTML. If you're going by the W3C standard, very, very few sites are up to snuff. I worked as my school's web master for a couple of years, and because I had nothing to do, I decided to bring the code up to W3C XHTML standard.

      Wow.

      That process of rewriting the code to standards was not only a pain in the butt, but it also broke it on IE. This was one of my many aggravations while working at that job (that and traversing the byzantine bureaucracy (cool... alliteration)). Microsoft goes off on their own weird tangents with IE and throws the standard to the wind, while Firefox sticks with it, but at the same time is choking itself because very few sites out there write to standards.

      --
      The only way to tell the difference between a hamster and a gerbil is that the hamster has more white meat.
    14. Re:Simply ludicrous by Anonymous Coward · · Score: 1, Informative

      Dear AMD,

      please show us what compilers you have developed that take full advantage of your oh-so-superior CPUs.

      Well?

      Nothing, huh?

      Not even one fucking compiler.

      Thought so.

    15. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      You forgot that Microsoft deliberately made win.com GPF when running on non-MSDOS pcs.

    16. Re:Simply ludicrous by team99parody · · Score: 5, Informative

      If you're too lazy to read the postings here shows such evidence.

      It's an example showing the poor assembly-language code when it detects an AMD chip. And notice in that posting that the complier is perfectly capabile of producing efficient AMD code as well. It's sad but funny that the workaround to produce fast code for the AMD chip is to add the string "__intel_cpu_indicator=-512".

    17. Re:Simply ludicrous by creativity · · Score: 0

      Looks like AMD is going SCO's way. I love AMD chips but the problem with them is they just do not have enough capacity to produce them to keep up with the market demand. Hence they go and file a lawsuit trying to slow the juggernaut down. Instead of that maybe they should have joined with IBM and used their Fabs. The two bruised "Apples" might actually produce a great new chip.

    18. Re:Simply ludicrous by yomahz · · Score: 5, Interesting

      Yes but, they knew enough to block W3C's validator from their site:

      http://validator.w3.org/check?uri=http%3A%2F%2Fwww .slashdot.org%2F

      --
      "A mind is a terrible thing to taste."
    19. Re:Simply ludicrous by RealityMogul · · Score: 2, Insightful

      Define "force the compiler". Is it a command line switch, or something else?

    20. Re:Simply ludicrous by Atzanteol · · Score: 1

      perhaps not enough people realized that happiness==success. not money.

      I would love to have enough money to test this hypothesis of yours...

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    21. Re:Simply ludicrous by PhoenixPath · · Score: 2, Insightful

      Yeah...the fab they've been opening up apparently have nothing to do with capacity. Moron. AMD has more then enough capacity. The lawsuit is in an effort to make *use* of that capacity. Apple would have been a drop in thte bucket to AMD, but Apple needs chipsets as well, which is *one* of the reasons they chose Intel. Do some actual research before spewing FUD, okay?

    22. Re:Simply ludicrous by Anonymous Coward · · Score: 0
      As an engineer at a Fortune 500 company (no I will not say which one) I have contacts with both AMD and Intel - AMD's right, Intel's compiler does indeed generate slower code when run on an AMD architecture, and the Integrated Performance Primitives do indeed run slower. If you hand code the assembler, the AMD architecture blows the doors off of Intel's. The MS compiler, despite not optimizing code very well, does not do this, nor does gcc.

      I may end up testifying for AMD against Intel. In this case, they are demonstrably correct. I can prove it with Benchmarks, and I'm independent.

    23. Re:Simply ludicrous by HunterZ · · Score: 5, Funny
      --
      Arguing about vi versus Emacs is like arguing whether it's better to make fire by rubbing sticks or banging rocks.
    24. Re:Simply ludicrous by codeguy007 · · Score: 2, Informative

      command line switches to turn on support for various things.

    25. Re:Simply ludicrous by smittyoneeach · · Score: 1
      The lawsuit is in an effort to make *use* of that capacity.
      A well-pinstriped lawsuit is an advertising campaign that buys its own champaign.
      The Ultimate Linux Box used a Tyan motherboard and four AMD64 chips this year.
      Who gives a flying French frobnication about what Steve Jobby and Intel are up to?
      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    26. Re:Simply ludicrous by absinthminded64 · · Score: 1

      I'm sure they have some idea of what broken HTML looks like but we couldn't pursue legal action.

      We would chase Bill down the freeway and spend millions of taxpayer's dollars on a media frenzy of a trial only to find that broken HTML simple wouldn't fit on his 640x480 screen.

      Prosecutors clearly wouldn't have a chance.

    27. Re:Simply ludicrous by pixelbeat · · Score: 2, Insightful

      Here's a script to auto gen those options for gcc:
      http://www.pixelbeat.org/scripts/gcccpuopt

    28. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      I seriously doubt that Intel's compiler includes a switch to turn AMD optimizations on.

    29. Re:Simply ludicrous by mrbrown1602 · · Score: 1, Informative

      Try it with http://slashdot.org/ - www.slashdot.org redirects to slashdot.org.

    30. Re:Simply ludicrous by mrbrown1602 · · Score: 1

      I stand corrected.

    31. Re:Simply ludicrous by 10000000000000000000 · · Score: 1

      ;) happiness is not having what you want. It's wanting what you have.

    32. Re:Simply ludicrous by 10Ghz · · Score: 4, Insightful
      Pretty much anyone who wants fast 32Bit code uses the Intel Compilers, even on AMD


      yes, ICC generates faster code even on AMD-CPU's than GCC (for example) does. But that's not the point AMD is making. AMD claims that ICC detects whether the CPU is an AMD-CPU. If it is, it generates slower executables, even though there's no real technical reason to do so. It does so merely to put AMD at a disadvantage. Yes, the code might still be faster than GCC-generated code (you could say that it tells quite a bit about GCC as well....), but it's still crippled when compared to Intel-code.
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    33. Re:Simply ludicrous by operagost · · Score: 1

      HTML 3.0 ... how quaint.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    34. Re:Simply ludicrous by iPatch · · Score: 5, Informative

      A good investigation can be found at http://www.swallowtail.org/naughty-intel.html

    35. Re:Simply ludicrous by PhoenixPath · · Score: 1
      Er... How about anyone who wants to buy an AMD system from a decent PC manufacturer? All of whom are currently avoiding AMD like the plague due to Intel's tactics.

      Dell boxes, for instance, may have their issues, but for the most-part, they are incredibly stable, reliable beasts. I'd love one. But I will not buy a system with an Intel Processor, so I, along with countless others, ain't getting a Dell.

      Dell has hinted at their desire to use AMD many times, but is unable to, their options being severely limited by Intel. They can continue to be an Intel Only shop to remain competitive and retain discounts, or they can add AMD to their lineup, effectively killing their Intel line which would then no longer be competitive. Thus becoming an AMD Only shop which would also kill them, due to the fact that most average PC buyers will balk at anyhting not "Intel".

    36. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      they are talking about the intel compiler about an intel compiler specific problem

    37. Re:Simply ludicrous by parvenu74 · · Score: 1

      Maybe I am not getting something here, but why the hell is AMD complaining about Intel's compiler? If they were so concerned about performance why are they not making their own compilers optimised to their own chips? That way, they can turn off the optimisations for Intel CPUs since they probably aren't aware of possible optimizations available inside the competitor's chips?

      This whole argument sounds about as logical as if I were to claim Toyota were anti-competitive because their (insert car part type here) doesn't work as well on my Honda/Ford/BMW as well as it does on Toyota's cars...

      I think it's just all a bunch of sour grapes.

    38. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Apple gave away free MP3s that work in the Ipod but that crash other music players

      They don't though. They give away (and sell) m4p files, which no other player even claims to support.

      Likewise, Adobe publishes PDFs according to the standard, which XPDF does not fully support.

      The Microsoft example, though, is accurate in my experience.

    39. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      The HTML standard shold be changed to reflect it's use on Slashdot.

    40. Re:Simply ludicrous by RWerp · · Score: 0, Troll

      My God! I mean, you have to use a compiler switch to generate optimized code?! Outrageous! P-o-s-i-t-i-v-e-l-y o-u-t-r-a-g-e-o-u-s!!! I mean, all these years I used GCC and I never had to use any switches to generate the fastest code possible. We're suing the bastards!!

      --
      "Long run is a misleading guide to current affairs. In the long run we are all dead." (John Maynard Keynes)
    41. Re:Simply ludicrous by UltraAyla · · Score: 1

      something that finally makes me feel like my own site's 26 errors are something to be proud of

    42. Re:Simply ludicrous by creativity · · Score: 0

      Tell me something if AMD has more than enough Fab capacity then why have we still not seen X2 prices drop, the price is almost double that of Intel.
      And so you think AMD is hiding its capacity behind some shielded doors ??
      If you want some real info before calling ppl names read this http://www.extremetech.com/article2/0,1558,1820856 ,00.asp
      And if it had excess capacity why plan for another fab (http://www.extremetech.com/article2/0,1558,182884 7,00.asp)

    43. Re:Simply ludicrous by Nogami_Saeko · · Score: 3, Insightful

      It's not so much a matter of making an optimized compiler, it's a matter of a compiler specifically crippling itself if "genuineintel" isn't detected.

      What they SHOULD be doing is checking the supported features of the chip and enabling the extensions dynamically as the features are available or not.

      To just say "oh, it's not Intel, therefore we'll just use a standard x86 instruction set, no matter what the chip reports it's actually capable of" is the kind of BS that gets companies in hot water. If they want to prove how good their CPU is, then they should be trying to do that as fairly as possible. Playing compiler tricks will only fool people in the shortterm and will catch up with them...

      N.

      --
      "Nothing strengthens authority so much as silence." - Charles de Gaulle
    44. Re:Simply ludicrous by Kiryat+Malachi · · Score: 1

      It'd be a lot more like a Toyota powertrain control module sensing whether it was working with a Toyota or 3rd-party ECU; if it was a Toyota ECU, it would use every trick it knew, and if it wasn't, it intentionally would run it in such a fashion as to produce the worst emissions, reliability, power, and efficiency.

      --

      ---
      Mod me down, you fucking twits. Go ahead. I dare you.
      (I read with sigs off.)
    45. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Slashdot has gone downhill lately. On top of the 500 or 503 errors that crop up, now people have to reset their dial-up or DSL connections to get a new IP address to bypass these insanely long wait periods between comments. Add the stupid and sometimes illegible "i'm not a script" images, and it seems the best days of Slashdot are behind us.

      Overall, Slashdot has potential, but it's time the developers sat back and really thought hard about how to resolve the problems. All the piles of quick fixes are getting old and indicates the site is really aging poorly, right now.

      One other comment: in fixing things, they need to preserve the things that make Slashdot attractive, such as the "light" mode and generally lightweight design for reading comments.

    46. Re:Simply ludicrous by Anonymous Coward · · Score: 2, Interesting

      I used to work at Intel and when I was there I know they compiled the MSVCRT file in Windows to work better on Intel chips than on AMD chips.

      I think the statement was, "If you can't optimize it for Intel, then at least cripple it for AMD", or something to that effect.

      I'm sure they do the same thing with their compiler and other things.

    47. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      I think you're jumping to conclusions. Ask this simple question, does Intel sell their compilers for their architecture or for EVERY x86 processor? The answer is simple, they sell compilers for THEIR processors. They are optimized for Intel processors, it says so right on the box. AMD is going to have a hard time using the compiler argument in a court of law. If AMD wants AMD optimized compilers then maybe AMD should write some!

    48. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      No, it's ignoring the compiler switches if it detects an AMD chip. That's the whole point. Even with the compiler switches set to full optimization it outputs bad code fro AMD chips. However if you spoof the chip detection to pretend it found an intel chip it generates good code.

    49. Re:Simply ludicrous by thilde · · Score: 1

      see Caldera(DR-DOS) vs. Microsoft

    50. Re:Simply ludicrous by stanmann · · Score: 1

      Perhaps if you would register and not troll you wouldn't have these problems. I've posted as much as 45 times in 2 hours and not needed a new IP.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    51. Re:Simply ludicrous by dnoyeb · · Score: 1

      Probably it tries to comply with American With Disabilities Act. Which will require certain things to make it easier on screen readers. So that adds a bit of complexity. But its a good thing.

    52. Re:Simply ludicrous by codeguy007 · · Score: 1

      You misunderstood me. I saying that is pretty obvious that Intel is doing something because you need to force ICC compiler to use proper optimization on an opteron. Whether or not, you still get the best optimization, I'm not sure but you could probably find out fairly easily by comparing the binary from code compiled on a Xeon and code compiled on an Opteron.

    53. Re:Simply ludicrous by part_of_you · · Score: 0
      People use their brains for the making of money. I know it's stupid, but it is how the world is going at the moment.

      An equally stupid thing is when people like you try to express reality to these stupid people. Remember, this is only slashdot. Anything that is said, no matter how profound, will be forgotten in about 15 minutes, unless you really hit a nerve.
      ....at which point, it will be remembered for 25 minutes.

    54. Re:Simply ludicrous by blue+trane · · Score: 1

      Excellent write-up. The "swallowtail" home page however is teh lamest evar!

    55. Re:Simply ludicrous by ICECommander · · Score: 1

      I try to steer clear of URLs that contain the words "swallow," "naughty," and "tail."

      --
      All your Sybase are belong to us.
    56. Re:Simply ludicrous by Anarke_Incarnate · · Score: 1
      Think of it this way as a dumb example

      Oscar Meyer has 83% of the luncheon meat industry (just as an example, I have no idea and do not care).
      In order to produce more demand for their product, they have a bread division. Hilshire Farms has a far tastier roast turkey breast, but cannot afford a bread division.
      Oscar Meyer in turn decides to make their bread recipe so that when it is paired with Hilshire farms turkey, it tastes like puke warmed over. It couldn't just be bread tasting, it combines with the sugars in the glaze on the turkey and gives off foul odors and bad tastes to make people think that Hilshire Farms food sucks.

      Is that competitive or just plain wrong?

    57. Re:Simply ludicrous by Kazymyr · · Score: 2, Insightful

      So is the issue with the compiler at compile time or at runtime? In other words, is it:

      a. compile on an AMD CPU, compiler detects that it runs on an AMD and generates a binary that runs slower on both AMD and Intel CPUs, or...

      b. compile anywhere, generated binary checks whether it runs on Intel or AMD and runs slower on AMD?

      First one is easy to check for - compile the same source on each of the 2 architectures and compare binaries. If not the same, QED. The second one is sneakier and needs debug/tracing.

      --
      I hadn't known there were so many idiots in the world until I started using the Internet -Stanislaw Lem
    58. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      read the parent post again. maybe you'll even understand what he's saying this time.

    59. Re:Simply ludicrous by parvenu74 · · Score: 1

      And you can't just buy another brand of bread to render the whole thing mute?

      Intel isn't the only player in the x86 compiler game, and I find it impossible to believe that a company like AMD can make microprocessors but not have the savvy to make their own compilers. They are making a perfectly stupid argument, IMO, to call foul that thier competitor is not making things easy for them! If that's all they have to go on, then perhaps they should go out of business...

    60. Re:Simply ludicrous by cuerty · · Score: 1

      Just install this firefox extension and see if every page that you visit is valid ;)

      --
      >Linux is not user-friendly.
      It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
    61. Re:Simply ludicrous by stunted · · Score: 1

      In other words, is it:

      a. compile on an AMD CPU, compiler detects that it runs on an AMD and generates a binary that runs slower on both AMD and Intel CPUs, or...

      b. compile anywhere, generated binary checks whether it runs on Intel or AMD and runs slower on AMD?


      Can someone answer this?

      I hope these allegations are unfounded but if they turn out to be true I hope the European and American courts give Intel such a kicking as to seriously discourage such underhand tactics, they should probably impose permanent financial, environmental and moral auditors on the lot of them as they seem incapable of playing nice.

      --
      In order to save our freedom it was necessary to destroy it.
    62. Re:Simply ludicrous by FxChiP · · Score: 1

      The problem as I see it is that Intel's optimizations would work perfectly fine on an AMD processor, but Intel is purposely crippling the generated code for AMD processors through their compiler.

      I suppose what is meant here is that you'd think Intel compilers generate optimized code while assuming by default (as it should) that the program is being compiled specifically for Intel [Celeron/Pentium 4/Xeon] processors. In other words: ICC should generate Intel-optimized machine code blindly, without a care as to what processor is being used.

      Instead, what ICC does do is check the CPUID for "GenuineIntel" and if it doesn't see it, then it uses generic/crippled/much slower x86 code. It's not blindly optimizing (and if it was, then it would be much harder if not impossible for AMD to make a case), it's purposely making sure that the optimizations are being run only on Intel even though they'd work on competing processors (which, as far as I know, only AMD makes at the moment).

    63. Re:Simply ludicrous by noidentity · · Score: 1, Redundant

      In case of Slashdotting of the validation website, here's a Coral Cache of the HTML validation of the Coral Cache of Slashdot's home page:

      http://validator.w3.org.nyud.net:8090/check?uri=ht tp://slashdot.org.nyud.net:8090/

    64. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Or a girlfriend.

    65. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Why, it's like creating applications that run on Windows but not on OS/2.

      Whoops. MS did that!

    66. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      "Hello computer."

    67. Re:Simply ludicrous by Anarke_Incarnate · · Score: 1

      The point is not whether or not their competitor has to make things easy, the point (which was obviously lost on you; look into retaking school grades 4 onward) but rather the point that their competitor, made things difficult for the sake of being difficult.
      There are lots of compilers, however the point is simply such that intel is known as a leader in the compiler area of x86 CPUs. Their product is a standard for highly optimized software creation. For them to break the trust of their customers on the software side, simply to make their mediocre products look better next to superior competition is dishonest and dirty.

    68. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      I used to work at Flying Butt Monkey and when I was there, they compiled AOL.EXE file in Windows to work better on Intel chips than on AMD chips.

      I think the statement was, "If you can't make up credible FUD, at least slander Wintel", or something to that effect.

      I'm sure that my one unsubstantiated example represents everything in teh world!1!!

    69. Re:Simply ludicrous by cakesy · · Score: 1

      See, should'nt AMD write their own compiler anyway. Surely they are the best people to write optimized code for their processors.

    70. Re:Simply ludicrous by RWerp · · Score: 1

      OK, OK. I was just making fun.

      --
      "Long run is a misleading guide to current affairs. In the long run we are all dead." (John Maynard Keynes)
    71. Re:Simply ludicrous by denmarkw00t · · Score: 1

      For the record, it was HTML 3.2

    72. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Not when you're writing the homepage of the "Americans United to Conspire Against Americans With Disabilities."

    73. Re:Simply ludicrous by denmarkw00t · · Score: 1

      Surely they are the best people to write optimized code for their processors, but, when the majority of software developers are handed compilers from Intel, why not just use those? I'm not going to go out of my way to find an AMD compiler when Intel is going to give theirs to me for buying 3-thousand Itaniums. Puh-lease.

    74. Re:Simply ludicrous by Anonymous Coward · · Score: 0

      Dear Anonymous Coward,

      please tell me what the fuck that's supposed to have to do with anything.

      Well?

      Nothing, huh?

      It's completely irrelevant.

      Thought so.

  2. How can this be done? by haluness · · Score: 3, Interesting

    Not being a compiler or chip guru, how does one work out that a compiler favors a specific chip? I can understand that it might be easy to detect code that looks for a specific chip, but then how do they determine that the resultant code is being optimized based on that detection?

    1. Re:How can this be done? by bdow · · Score: 1

      fool the detection and then compare results on the same hardware

    2. Re:How can this be done? by Roland+Piquepaille · · Score: 2, Informative

      Not being a compiler or chip guru, how does one work out that a compiler favors a specific chip? I can understand that it might be easy to detect code that looks for a specific chip, but then how do they determine that the resultant code is being optimized based on that detection?

      Usually by decompiling the code produced. AMD probably made a test program, compiled it, found a chip test routine in the resulting binary, then decompiled the 2 code paths it could follow.

      For example, the "intel" code path could, for example, make full use of the math coprocessor to perform a division, while the "non-intel" code path could use only the 16 bit registers and make multi-precision divisions with only the basic x86 instruction set. I'm sure the actual de-optimization (if it occured) involves higher, cleverer functions than just divisions, but that's the general idea.

    3. Re:How can this be done? by 91degrees · · Score: 1

      No need to try to fool it. Simply run it on two different processors with the same compiler flags. The code created should be identical. Compilers should not be designed to assume software is going to be run on the system used for compilation.

    4. Re:How can this be done? by retsaMedoC · · Score: 1

      Well, considering that the AMD parts they are talking about are based upon Intel's x86 standard, the compiled result should be pretty similar if not exact when compiled with Intel hardware. That would explain differences in compliation. Stability and speed could be checked with a few benchmarks.

    5. Re:How can this be done? by pcidevel · · Score: 4, Informative

      Because a compiler just spits out machine instructions, it's a trivial task to compare the instructions from one code path to another.

      For example, you write some code that would typically use SSE2 regisers when compiled, then you compile the code for each processor, and check to see if it used SSE2 registers on each, or if it ouput slower "emulation" style instructions on the AMD.

      --

      I thought someone said there was going to be free beer!

    6. Re:How can this be done? by the_weasel · · Score: 5, Interesting

      Which is exactly what we did when we discovered this. And sure enough, when the Intel compiler thought our AMD was a Genuine Intel certain functions increased dramatically.

      The company I work for submitted a few reports on this a few months ago, as I am sure did many others. I am very pleased to see them following up on it.

      --
      - sarcasm is just one more service we offer -
    7. Re:How can this be done? by truesaer · · Score: 3, Informative
      Its easy to write a compiler that generates working code for a processor (My team of 3 people in a Compilers class wrote an x86 compiler, front to back, in about 8 weeks). It is much much harder to write a compiler that generated good and fast code (now you need hundreds of experienced engineers working for years). Essentially what you do is use really basic and crappy alogorithms for one code path, then use your best optimization algorithms for another path. Now, you just use the crappy path for one processor and the good path for the other, based on the value returned by the CPUID instruction. Viola!


      Also, the lawsuit claims that Intel's compiler wont use x86 ISA extensions such as SSE2 even when they're available on AMD processors. There is a reason we have these kinds of ISA extensions, and it is becaue performance is much much better when you use them.

    8. Re:How can this be done? by morgan_greywolf · · Score: 2, Informative

      The compiler optimizes for the Intel by using CPU-specific extensions to the x86 architecture such as SSE, MMX, 64-bit capabilties, etc. The Intel compiler simply fails to detect the capabilities in AMD chips (by not identifying AMD chips as supporting those features, and sticking with generic 386 or 586 code), and thus the result is code that runs slower.

    9. Re:How can this be done? by Anonymous Coward · · Score: 1, Informative

      Normally for a particular block of C code the complier only generates one block of machine code. There are places you could generate better optimized machine code but doing so depends on the features exisiting in the CPU that do not exisit in all CPUs. To get around this you and generate both the optimized machine code as well as the generic machine code and place a condition that determines during runtime what code gets executed.

    10. Re:How can this be done? by thalakan · · Score: 4, Informative
      Because the Intel compiler actually generates multiple copies of routines, then figures out which one to call at run-time based on a processor detection routine they stick in the program. Example:
      [thalakan@shaitan ~]> icc -axKWNPB -c test5.c -o test5.o
      test5.c(3) : (col. 16) remark: main has been targeted for automatic cpu dispatch.
      [thalakan@shaitan ~]> nm test5.o
      00000000 r _2il0floatpacket.1
      00000008 r _2il0floatpacket.3
      00000020 r _2il0floatpacket.5
      00000028 r _2il0floatpacket.7
      U __intel_cpu_indicator
      U __intel_cpu_indicator_init
      U __intel_proc_init
      00000000 T main
      000000f2 t main.A <-- SSE version
      00000028 t main.H <-- x87 version
      U printf
      U rand
      U targets
      U time
      [thalakan@shaitan ~]>
      The remark about automatic CPU dispatch is the compiler notifying you it's going to generate multiple copies of the routine.
      --
      -- thalakan
    11. Re:How can this be done? by saigon_from_europe · · Score: 3, Interesting
      And sure enough, when the Intel compiler thought our AMD was a Genuine Intel certain functions increased dramatically.
      How did you make it believe it was Intel, not AMD?

      My company writes some code that depends on SSE2 instructions. We bought one AMD (64-bit) machine, but code was slower on Athlon64 3200 than on P4 3000 (under WinXP, not on some 64-bit system). We heavily depend on every tact, so I would really like to know how to trick Intel's compiler to believe that AMD is P4.
      --
      No sig today.
    12. Re:How can this be done? by LWATCDR · · Score: 1

      Most compilers will output multiple code paths. Sort of like Apples fat binaries. Think about it. Things like sse2 would be useless unless you got a special version of the program for the P4 that would then not run on the Athlons.
      What is being claimed is if you compile a program with the Intel Compiler the resulting executable will treat an Athlon64 like a 386 or Pentium. The real issue is not that the compiler is optimized for Intel cpus but that it seem like it goes out of it's way to produce bad code for the Athlon.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    13. Re:How can this be done? by DrSkwid · · Score: 2, Informative

      > It is much much harder to write a compiler that generated good and fast code (now you need hundreds of experienced engineers working for years)

      This assumption is wrong

      see here and here

      if it wasn't for licensing hiccups the plan9 c compiler would be OpenBSD's default by now :

      "I am sorry for the strong minded way in which I am approaching this,
      but I am very dissapointed [sic] that after years of requesting that the
      plan9 c compiler become free so that we can start extending it and
      working with it... that we could be rebuffed in such a way because the
      lawyers have not been properly reined in." Theo de Raadt

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    14. Re:How can this be done? by team99parody · · Score: 1
      Thank you for having reported this.

      The first thing we're doing now is Baning the use of the Intel compliers in our company; as some of our customers may be running AMD chips.

      It's too bad because the intel compiler seems to have good code; but if they're sabotaging our customers by injecting bad code in our product, that's one of the most unacceptable things I've ever heard of!!!!! If this is as bad as it sounds, I'd like to see and join a class-action lawsuit of any company who released a product that used this compiler.

    15. Re:How can this be done? by jejones · · Score: 3, Informative

      Take a look at this page for an example. Also, try here.

    16. Re:How can this be done? by Rycross · · Score: 5, Informative

      Maybe you can do what this guy did, if you haven't already seen it.

    17. Re:How can this be done? by SCPRedMage · · Score: 1

      Bzzt, wrong answer. AMD chips report support for instruction sets the same way Intel procs do, meaning any code that checks for support for SSE2 will work on both Intal and AMD chips. That means if the AMD chips aren't using SSE2, it's because of another reason entirely. It isn't a simple matter of "not detecting" it, it's a matter of specifically crippling AMD chips.

      --
      My sig can beat up your sig.
    18. Re:How can this be done? by danheskett · · Score: 1

      The first thing we're doing now is Baning the use of the Intel compliers in our company; as some of our customers may be running AMD chips.
      The first thing you should do is investigate the claim, and determine if it's true!

    19. Re:How can this be done? by Atzanteol · · Score: 1

      That's the rub then isn't it? Whether the compiler simply "doesn't recognize" AMD's chips and treats them as generic 586, or whether there's a "if (amd_cpu) { generate_extra_crappy_code() }" routine in there somewhere.

      If it is as you describe it, then it sounds like AMD whining. Why would I buy an Intel compiler and expect it to work well for an AMD/Cyrix/Transmeta CPU?

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    20. Re:How can this be done? by Anonymous Coward · · Score: 0

      I know how:

      gcc

    21. Re:How can this be done? by Anonymous Coward · · Score: 0

      The Plan 9 compiler is not especially good. It's just portable, and Theo has better chances of obtaining it under a BSD-style license than he does of obtaining GCC under a BSD-style license. Since Theo is a license zealot, he would drop GCC for a portable C compiler if the license was right.

    22. Re:How can this be done? by pohl · · Score: 2, Funny

      Dude, Ken Thompson wrote that compiler. That is the same thing as throwing hundreds of ordinary engineers at the problem.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    23. Re:How can this be done? by budgenator · · Score: 1

      If the Intel compiler compiled code specificaly optimized to run faster on Intel chips, using specific intel features not found in amd chips, it wouldn't be a problem, they would be competeing on technical superiority of the Intel optimizations as appossed the code for generic x86. What the claim seems to be saying is that if the Intel compiled code detects a non-"Genuine Intel" chip, the resulting generic code path is purposely engineered to run slower than would be expected of generic x86 code. The machine code for a -386 should follow the same code path if running on a -386, a pentium, athlon or a Opteron. If the code -386 executes a different path based on if its running on a pentium or an athlon/Opteron then obviously it's not -386 code!
      The real test would be to compile a program with the Intel compiler, flagged to generate no Intel specific code optimization, -386 code, then run the code on an AMD chip that reported "Genuine AMD" and an AMD chip specificaly burned to report "Genuine Intel" to the code checks and see if the two identical processors run the same code paths at the same speeds. If they are different then Intel has been a bit naughty, there is a difference between optimizing code for an architecture, and sabotaging code for an architcture.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    24. Re:How can this be done? by Anonymous Coward · · Score: 0

      please post your results back

    25. Re:How can this be done? by Anonymous Coward · · Score: 0

      After you bane them, I suggets you think about banning them too.

    26. Re:How can this be done? by hackstraw · · Score: 1


      I guess I'm in the vast minority here, but I would _never_ use the Intel compiler on an AMD based system. Brief background, I work in the HPC market, and compiler decisions are important there. I am looking at possibly buying Opterons on the next purchase.

      I've never heard of these issues until today, but I would never assume that the Intel compiler would be the best choice for AMD or other x86 chips. Again, I'm in the minority here, but under what assumption would someone think that the Intel compiler would be best compiler for other processors?

      For Alpha's, I use the Compaq compiler that is for Alpha CPUs. For Intel machines, I use the Intel compiler. On Sparcs, I use Sun's compiler. I'm looking at buying Opterons, and I never considered using the Intel compiler on those machines. Why? There are no flags or optimized code generation for the Opteron or their specific way that they do 64bit instructions. Now the Portland Group compiler and the PathScale compiler are highly optimized for both AMD and Intel chips.

      Now, what do I use for general non-performance specific codes?

      GCC. I use GCC on Sparcs, Alphas, PPC, AMD and Intel processors daily. I nowhere expect GCC to perform as well as the Sun's compiler for Sparcs, or any other architecture specific. I just expect it to work, and the flags and warning and error messages are things that I'm familiar with.

      Oh, and for what its worth, I have not seen anywhere on Intel's compiler site, nor in its documentation where it even mentions AMD processors or optimizations.

    27. Re:How can this be done? by truesaer · · Score: 1
      You've made a good decision. The Intel compiler may not be the best choice for AMD chips. However, imagine that you're a software developer and your products use the Intel compiler. You're considering getting some AMD systems due to their superior performance. Switching compilers is no easy task. And not only that, but you probably want to buy a system or two and test your same codebase on both to benchmark them.


      So, this issue still matters. As I'm sure you know, as your program gets more complex you rely on specific compiler features more and more to ensure a correct result. So transitioning isn't necessarily a simple task. Nerfing code in the Intel compiler deters people from using AMD products.

    28. Re:How can this be done? by afidel · · Score: 1

      I assume that they hooked the Windows CPUID function and returned Genuine Intel blah instead of the real CPUID return from the CPU, that or they patched the object file to always use the Intel codepath.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    29. Re:How can this be done? by jejones · · Score: 1

      I'm looking at buying Opterons, and I never considered using the Intel compiler on those machines. Why? There are no flags or optimized code generation for the Opteron or their specific way that they do 64bit instructions.

      Agreed...but there are features common to Intel and AMD x86-family processors that are identifiable in a non-manufacturer-specific way. Apparently the code Intel's compiler generates, or a library function they wrote, detects said features in a way that works only for Intel processors. Since there is a non-manufacturer-specific method, it's arguable that they went out of their way to gratuitously make AMD processors that have the very same features (SSE, SSE2, SSE3, etc.) look bad. That is what people find objectionable.

    30. Re:How can this be done? by DrSkwid · · Score: 1

      > The Plan 9 compiler is not especially good.

      Are you sure about that ?

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    31. Re:How can this be done? by bleppie · · Score: 1

      Please tell us how to do this. I'm running into the exact same problem---Intel compiler on an AMD platform---and would love any pointers in the right direction.

      Much obliged.

    32. Re:How can this be done? by Anonymous Coward · · Score: 0

      Viola!

      Considering "viola" means "raped" in french, this actually might actually be a better pick than "Voila!"...

      Typo gone insightful! :)

    33. Re:How can this be done? by mink · · Score: 1

      Games now a days won't work if you don't have an SSE2 capable chip. I had to replace my 1.3 GHZ thunder bird with a 1.5 GHZ AthalonXP2000 or several games in the last year would not run (or install).

      --
      Well I've wrestled with reality for thirty five years doctor, and I'm happy to say I finally won out over it.
    34. Re:How can this be done? by jeryan2 · · Score: 1

      check out http://www.swallowtail.org/naughty-intel.html [swallowtail.org] Read carefully

  3. SSE2 by APE992 · · Score: 1

    I heard on Intel procs it used SSE2 and on AMD it didn't. Would create a nice "broken" compiler and a definite time difference.

  4. Apparently they learned from Microsoft... by Linurati · · Score: 1

    Judging by the performance of using Novell Netware shares under Windows compared to a Windows server...

    --
    Milo
  5. Intel is perpetrating a cover up... by j14ast · · Score: 0

    I click on read more and all I see is
    "Nothing for you to see here. Please move along."

    Dear god Im at work and have no tinfoil.

    --
    Damn the man!
    1. Re:Intel is perpetrating a cover up... by op12 · · Score: 1

      Fool! My cubicle is covered in tinfoil!

  6. Never by Astroturf_Alert · · Score: 2, Insightful

    ... attribute to malice that which can be fully explained by incompetence.

    - some great thinker I'm misquoting

    --
    The Astroturf_Alert is accepting nominations.
    1. Re:Never by slavemowgli · · Score: 4, Insightful

      They key point here is that in order to invoke Hanlon's razor, you have to be able to *adequately* explain the issue by assuming stupidity instead of malice, though. In other words, the explanation of the issue by means of stupidity must be reasonable; if you (as an unprejudiced, objective person) can instantly dismiss that explanation because it's obviously untrue, then Hanlon's razor does not apply.

      Now ask yourself again: do you believe that it's PURE COINCIDENCE that Intel's compiler produces slow code for its competitor's processors? Code that even a novice Assembler programmer would be able to improve instantly (see the rep movsb vs. rep movsd issue mentioned in a comment above, for example?) Do you believe that, for some funny reason, they never happened to notice? That noone ever complained to them about it? That they're really just an innocent victim here?

      Well, do you? If yes, please get back to me, I have a used car to sell you. :)

      --
      quidquid latine dictum sit altum videtur.
    2. Re:Never by joebutton · · Score: 1
      http://en.wikipedia.org/wiki/Hanlon's_razor

      Or alternatively: http://en.wikiquote.org/wiki/Napoleon_Bonaparte

    3. re: Never by morgajel · · Score: 1

      ...except in the business world.

      --
      Looking for Book Reviews? Check out Literary Escapism.
    4. Re:Never by networkBoy · · Score: 0

      It's not coincidence, nor is it malice.

      The simple fact is that the compiler does something along the lines of the following:
      if (CPUID == Intel){optimize}
      else{generic x86 code to support all other processors /*AMD, VIA, Transmetta, etc.*/}

      It is in this way that Intel can optimize their processors without worrying about anything else.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    5. Re:Never by slavemowgli · · Score: 1

      As I said, that's not true. Can you name a processor on which, say, rep movsd wouldn't work? I'm not sure it would on a 286, but that's about it, and I don't think you seriously want to suggest that Intel is trying to keep their compiler compatible with that one...

      --
      quidquid latine dictum sit altum videtur.
    6. Re:Never by networkBoy · · Score: 2, Interesting

      I don't know the anser but what about some of the weider ones out there:
      IDT Winchip, Cyrix 486/133 and other oddball cpus?

      My point is that I don't believe Intel intentionally broke the compiler for AMD, I think they took the approach of supporting their hardware fully, while using the _most compatible_ paths for everyone else. If that is what they did then AMD's argument is worthless. That doesn't change the end result, but it does insulate Intel from any legal wrongdoing.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    7. Re:Never by homer_ca · · Score: 1

      If AMD's claim is true, it would be SOOO easy to prove. Just disassemble the "optimized" binary. There's only so much you can do to obfuscate a CPUID check. If all the Intel compiler does is disable SSE and SSE2 instructions on AMD, they would have plausible deniability of disabling SSE for compatibility reasons, unless they find a smoking gun memo that says "we know AMD's SSE and SSE2 is compatible, but disable it anyway".

    8. Re:Never by saider · · Score: 1
      Modern compilers optimize code not just by choosing the instructions, but also by ordering them so that they use the CPU's pipeline logic to the best effect.

      So the intel optimized code might have well organized instructions preceding it, whereas the "other" code would have a poorly designed set of instructions preceding it.

      The big question is does the compiler source look like
      if( cpu_type == intel_cpu )
      optimize();
      else
      generic_code();
      Which is fine, or if it looks like
      switch(cpu_type)
      {
      case intel_cpu:
      optimize();
      break;
      case amd_cpu:
      junk_code();
      break;
      default:
      normal_code();
      break;
      }
      Which would indicate some bad behavior on intel's part.

      --


      Remember, You are unique...just like everyone else.
    9. Re:Never by GlassHeart · · Score: 1
      Here's how it might go if I was the one writing the compiler. The first version is meant to achieve correctness. This means that I will write the simplest (if slowest) code to make sure that my compiler and test suite give me the correct results. The speed is irrelevant because I don't ever intend to use that code for one of our real CPUs. Next, for each supported CPU I'll write a version that is optimal, essentially bumping my original slow code to the 'else' section of a long strand of 'if' statements.

      This has the net effect of a compatible but undetected CPU falling into the slow 'else' case. Sure, they might complain, but it doesn't do me enough good to fix that and test it on competing CPUs. I might lose some customers, but I'll lose a great deal more by actively helping my competitor.

      While I sympathize with AMD, it's plainly unreasonable to force Intel to support AMD chips with the same vigor as they do their own. I think a nice compromise would be for Intel to accept input from AMD (which must do its own testing of the Intel compiler) indicating which of AMD's CPUs map exactly to which Intel CPU. AMD would then shoulder all support expenses of using Intel's compiler on AMD chips, particularly if AMD's mapping was not entirely correct. I doubt AMD will get a better deal (in practice) than that even if they win in court.

    10. Re:Never by hackstraw · · Score: 2, Interesting

      Now ask yourself again: do you believe that it's PURE COINCIDENCE that Intel's compiler produces slow code for its competitor's processors?

      Do you believe that it is pure coincidence that Intel's compiler produces fast code for their processor?

    11. Re:Never by m50d · · Score: 1

      The code checks for genuine intel, then if it is checks for sse support, then does sse code if the processor says it supports it. But the check for genuine intel is superfluous in this case - the correct thing to do is just check for sse support. If the processor says it supports sse, you should chuck sse code at it.

      --
      I am trolling
    12. Re:Never by VGPowerlord · · Score: 1

      If you're compiling code that only works on Prescott Pentium 4s, blindly checking the manufacturer would work. However, here's a little chart showing when instruction sets were introduced:

      MMX - Intel Pentium MMX / AMD K6
      SSE - Intel Pentium 3 / AMD Athlon XP
      SSE2 - Pentium 4 / AMD Sempron Paris / AMD Athlon 64
      SSE3 - Pentium 4 Prescott / AMD Athlon 64 Revision E

      Even if the chip is a P4, Intel's compiler can't just assume it supports SSE3. At some point, it must check the CPUID for supported instruction sets. If the CPUID alone were checked, the code compiled would optimize correctly on AMD Chips.

      Therefore, it certainly looks to me like AMD has a case.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    13. Re:Never by snorklewacker · · Score: 1

      How ironic, that a bogus user that exists to foment allegations of an "astroturfing conspiracy" quotes Hanlon's Razor at us.

      --
      I am no longer wasting my time with slashdot
  7. Old News by Araxen · · Score: 0, Troll

    This was listed in the anti-trust lawsuit and discussed already.

  8. Wow by Ryvar · · Score: 1, Interesting

    I think I speak for nearly every person as naive as I was five minutes ago when I say, "holy fucking shit!"

    If true - and that's a big 'if' - I know a lot a lot of people who will soon stop using Intel compilers. This could lead to some significant changes across a large portion of the gaming industry, for starters.

    --Ryv

    1. Re:Wow by CaymanIslandCarpedie · · Score: 1

      First off, I tend to buy AMD whenever possible as like to support the little guy and I think AMD is far better in many ways.

      That said, I don't really see the issue here. Its an Intel compiler, so it knows how to optimize for Intel chips. I would have been AMAZED if they took the time to also optimize for thier main competitors chips. Intel and other chips don't all implement the exact same things in the exact same ways so the optimizations for Intel chips may fail for other chips. As long as the compiler gives optimized output for Intel chips and all other chips get "generic" output, I'd say that is fine. Now if they can prove the complier specifically targets AMD chips in some way that would be a different matter. Howerver, just because an Intel compiler optimized for Intel chips and not others doesn't seem too suprising ;-)

      --
      "reality has a well-known liberal bias" - Steven Colbert
    2. Re:Wow by digidave · · Score: 1

      The problem is that their compiler specifically excludes AMD chips from taking code paths that work perfectly on it, such as SSE2 optimizations. I think that's much different than, say, not running a particular FP operation on AMD chips because it relies on a P4 trick, or something like that.

      The Intel compiler should check for features, not chip brand. Eg, if SSE2 is reported as available, then use it, else use the generic code path.

      --
      The global economy is a great thing until you feel it locally.
    3. Re:Wow by Anonymous Coward · · Score: 0

      Most people (including game development shops) use the Microsoft compiler when working under Windows... so... meh...

    4. Re:Wow by EastCoastSurfer · · Score: 1

      To play devils advocate here: How is Intel supposed to know which code paths work perfectly on an AMD chip? I would think Intel writes their compilers to take full advantage of their chips. Should they also be examining the AMD chips to make sure that all the optimizations that work on Intel will continue to work properly on AMD?

    5. Re:Wow by CaymanIslandCarpedie · · Score: 1

      The Intel compiler should check for features, not chip brand. Eg, if SSE2 is reported as available, then use it, else use the generic code path.

      Yeah, I COMPLETELY agree with that. However, not knowing anything about how it actually works I'll reserve judgement on what it is (evil, illegal, stupid, lazy, just fine) until more evidence is shown. In my mind if it is something like:

      If(Chip is Intel)
      { Run SSE2 code; }
      else
      { Run generic code; }

      Then it may be at worst stupid or lazy, but at least not evil or illegal. However, if its more like:

      If(Chip has SSE2 && Is Not AMD)
      { Run SSE2 code; }
      else
      { Run generic code; }

      Then we are looking at evil and or illegal.

      --
      "reality has a well-known liberal bias" - Steven Colbert
    6. Re:Wow by dbrutus · · Score: 1

      There are feature flags that the chip reports when queried. The code should check if a code extension is present. If the chip reports that it's there, then the optimized path should be used. No "brand check" should determine code paths.

    7. Re:Wow by gnasher719 · · Score: 1

      "I would think Intel writes their compilers to take full advantage of their chips. Should they also be examining the AMD chips to make sure that all the optimizations that work on Intel will continue to work properly on AMD?"

      The Intel compiler team has two choices: The can choose not to test on AMD chips at all. Which is fine, since these chips are supposed to be Intel compatible, so all the Intel code should work just fine. The other choice is, they test on AMD.

      If they test on AMD, it doesn't make any difference to the testing effort whether the compiler uses the Intel optimised code paths on AMD as well and the compiler team tests whether the Intel optimised code runs correctly on AMD, or whether they use a slow code path on AMD and test that slow code path.

      In other words, testing effort is in no way an excuse for what Intel is accused of doing.

    8. Re:Wow by SCPRedMage · · Score: 1

      Well, if AMD chips claim support, and that support is buggy at best, Intel should do everything they can to expose that, and they would, and they couldn't be held responsible.

      Basically what I'm trying to say is, Intel could enable those optimizations on any proc that claims to support them, and couldn't be held responsible if they don't support the instruction set properly. After all, THEY made the instruction set, THEY have the final say on how it should work. If they're disabling the optimizations on non-Intel chips, it isn't because they're trying to cover their asses...

      --
      My sig can beat up your sig.
    9. Re:Wow by SCPRedMage · · Score: 1

      It's the latter; if they did the former, even the old original Pentium (heck, ever the MUCH older Intel chips) would try to use SSE2, and we know how that'd end up...

      --
      My sig can beat up your sig.
    10. Re:Wow by LarsG · · Score: 2, Insightful

      If the comments and links I've read are correct, the check is like this:

      If (GenuineIntel)
      { supported_extentions = Check_CPU_Capabilities();
      Run_optimised_code(supported_extentions);
      }
      else
      { Run_generic_x86_code(); }

      So on any non-Intel CPU, the generic x86 code path will be chosen, but on Intel it will use the best supported (MMX/SSE/etc) code path.

      So no specific test for AMD, but at the same time 'willful ignorance' of the x86 extensions supported by non-Intel CPUs. Definately not playing nice, and something that Intel compiler customers certainly are in their right to complain about. But I kind of doubt that it is illegal for Intel to do so, unless there is supporting evidence of Intel going beyond generic x86 in sabotaging AMD CPUs (e.g. generic x86 code especially crafted to run bad on AMD CPUs, smoking gun internal emails etc).

      Being an AMD only customer for the last 5 years, I hope AMD has facts to back their claim.

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  9. So.. wait by Anonymous Coward · · Score: 1, Interesting

    It does this if it's compiling the code targeting AMD or if it's compiling the code and an AMD chip is running the compiler?

    If the latter... wow.

    Between this and exactly how brazen it looks like their contract abuse was, you'd think Intel could have learned to be less baldfaced about this. Even Microsoft hasn't been this unsubtle since the 80s.

    1. Re:So.. wait by Jonny_eh · · Score: 2, Informative

      It doesn't matter what CPU is used for compiling. It happens when the code is executed. The code looks at what CPU it is running on, if it's an Intel, it runs the good code, if it's an AMD, it runs the bad code. At least that's what AMD is claiming.

    2. Re:So.. wait by Anonymous+Custard · · Score: 1

      It does this if it's compiling the code targeting AMD or if it's compiling the code and an AMD chip is running the compiler?

      If the latter... wow.


      No, the compiler software doesn't care which processor it's running on (though I guess it might if the compiler software was compiled with itself). It's the compiled code - the actual produced software - that does the check and deliberately and needlessly cripples non-Intel processors.

    3. Re:So.. wait by Mysticalfruit · · Score: 1

      Here's the question, do they need to be subtle? This isn't the same as bullying OEM's to use Intel chips or they'd lose they're nice juicy discounts.

      This is designing your product so that when it runs on your compeditors product it goes into sabatoge mode.

      Now, while I think this behavior is morally dubious, I'm not entirely sure it constitues being illegal.

      --
      Yes Francis, the world has gone crazy.
  10. Bastards. by luna69 · · Score: 2, Interesting

    If this is true, Intel deserves to be hung out to dry.

    I'm glad AMD is pursuing this action against Intel just because I like rooting for underdogs, but this lends them the moral high ground they might have been seen to be lacking by some in the tech media.

    --
    No gods, no demons, and no masters. Secular Humanism!
    1. Re:Bastards. by Anonymous Coward · · Score: 0

      Why? Why do you claim that Intel can't put whatever they want in their compiler? It's not like anybody is putting a gun to your head to force you to use the Intel compiler, or Intel chips for that matter.

    2. Re:Bastards. by dpilot · · Score: 1

      Intel would be perfectly well within their rights to have a compiler with code-switching amoung the various Pentia versions. They're also within their rights to detect a non-Intel CPU and fail, on that bases. Furthermore, they're within their rights to take non-Intel CPUs and put them on the least-optimized Intel code-path.

      What they did was to put an entirely separate code-path in for non-Intel CPUs. The real question is: "Is the non-Intel code path really the most robust possible code, most likely to work on ANY x86 clone?" If so, then their real crime is of not warning the user that they're getting slow, unoptimized code.

      --
      The living have better things to do than to continue hating the dead.
    3. Re:Bastards. by hendridm · · Score: 1

      I don't get it. So when using their compiler it optimizes code for their CPU. Outrageous! Can't you use a different compiler?

    4. Re:Bastards. by team99parody · · Score: 1
      I think customers of the Intel compiler should be suing too.

      Effectively, if you released a product using the Intel complier, Intel sabotaged your product ('or cause it to crash' in TFA) for their own political agenda. Surely that's illegal.

    5. Re:Bastards. by luna69 · · Score: 1

      The problem is not that their compiler optimizes code for their compiler. It's that their compiler intentionally breaks code for other CPUs that are capable of running the optimized code.

      --
      No gods, no demons, and no masters. Secular Humanism!
    6. Re:Bastards. by Jugalator · · Score: 0, Troll

      RTFA...

      --
      Beware: In C++, your friends can see your privates!
  11. CmdrTaco == automated script by dame4jc · · Score: 4, Funny

    if ($submission) {
    $gotaco = "submit";
    $spellcheck = "no";
    $dupecheck = "definitelynot";
    } else {
    // I got nothing. *shrugs*
    }

    1. Re:CmdrTaco == automated script by Andrewkov · · Score: 5, Funny

      Hey, don't blame Taco, maybe the Intel perl compiler insterts random spelling errors into text strings!

    2. Re:CmdrTaco == automated script by JohnBaleshiski · · Score: 1

      It wouldn't be a Perl compiler. If anything, that's php. If it was perl, the subject would be "CmdrTaco eq automated script" :P

  12. Where is all this going by 1967mustangman · · Score: 3, Interesting

    I am huge AMD fan myself, but this has me a little worried. If they can really prove their claims great for AMD, but if not I fear they risk looking like SCO and becoming the brunt of many jokes.

    --
    Madre de Dios! Es El Pollo Diablo! -- Captain Blondebeard
    1. Re:Where is all this going by Rosco+P.+Coltrane · · Score: 5, Funny

      I am huge AMD fan myself

      Well, they do require quite a lot of cooling, don't they?

      --
      "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    2. Re:Where is all this going by Anonymous Coward · · Score: 0
      I am huge AMD fan myself, but...


      Wow, THAT huge?, what core are you cooling exactly??
    3. Re:Where is all this going by faraway · · Score: 4, Informative

      Not for the last few years, in fact AMDs x64 line runs a lot cooler than any Intel processor I've seen.

    4. Re:Where is all this going by pyrrhonist · · Score: 1
      I fear they risk looking like SCO and becoming the brunt of many jokes.

      You can rest assured that the butt of AMD's legal strategy will be significantly better than SCO's.

      --
      Show me on the doll where his noodly appendage touched you.
    5. Re:Where is all this going by Anonymous Coward · · Score: 0

      "Exactly how are you a 'fan'? In what way do you resemble a means to keep oneself cool?"
      --Charles Dickens, in Doctor Who

    6. Re:Where is all this going by emandres · · Score: 1, Informative

      Well, they do require quite a lot of cooling, don't they?

      Have you ever looked at a P4 mother board? The real estate for the fan is easily double what it is on an Athlon motherboard.

      --
      The only way to tell the difference between a hamster and a gerbil is that the hamster has more white meat.
    7. Re:Where is all this going by DavesWorld334 · · Score: 1

      Unlike the SCO silliness, the allegations being levied have substantial physical, technical, and witness evidence to support them.

      Intel deserves to go down. Since it's AMD suing in civil court, Intel can't do what M$ did and make deals with the government to kill the suit.

      Go AMD!

    8. Re:Where is all this going by Anonymous Coward · · Score: 0

      I think you mean the butt of many jokes. Or, that they will bear the brunt of many jokes.

    9. Re:Where is all this going by Anonymous Coward · · Score: 0

      If it were IBM, AMD == Air Movement Device == Fan
      So it should be cool by definition.

    10. Re:Where is all this going by Wilk4 · · Score: 1
      read the legal complaint. sounds like there is quite a bit of damning stuff they have against Intel. If they can prove a quarter of it Intel should be in serious trouble (IMO)

      for a legal document, that was *really* interesting reading... I don't take it all as gospel of course, but very interesting...

    11. Re:Where is all this going by springbox · · Score: 1

      but if not I fear they risk looking like SCO and becoming the brunt of many jokes

      And unlike SCO, they actually have a case

    12. Re:Where is all this going by HermanAB · · Score: 2, Funny

      I wonder how much of that cooler operation is due to the inefficient code? ;-)

      --
      Oh well, what the hell...
    13. Re:Where is all this going by toddestan · · Score: 1

      Not for the last few years, in fact AMDs x64 line runs a lot cooler than any Intel processor I've seen.

      Well, I don't care HOW big my CPU cooling fan is. I just don't want it posting to slashdot, that's all.

    14. Re:Where is all this going by Anonymous Coward · · Score: 0

      Cooler that my beloved i386 SX 16 MHz ?

    15. Re:Where is all this going by Anonymous Coward · · Score: 0

      And my Amiga 500 (7 MHz M68000) was fanless.

    16. Re:Where is all this going by Anonymous Coward · · Score: 0

      So you probably haven't bought a, err, laptop in the last couple of years then...

    17. Re:Where is all this going by tgrimley · · Score: 1

      must.. clean.. monitor..

  13. Wouldn't We Notice It? by th1ckasabr1ck · · Score: 3, Insightful
    However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash.

    If that statement is true, wouldn't there be programs all over that ran fine on Intel but crashed on AMD? Maybe there are and I haven't noticed? Maybe not many people use Intel compilers?

    1. Re:Wouldn't We Notice It? by digidave · · Score: 3, Interesting

      Not to mention the fact that AMD still benchmarks very favorably in games and other CPU-intensive applications, so the slowdown can't be huge.

      However, I doubt AMD would claim this if it weren't true. They still have a business to run, unlike SCO, and don't want to damage their reputation.

      I suspect that the "crash" part is more conjecture than fact, since the unoptimized code paths might be assumed to be lower quality in many ways. Or perhaps AMD found a single instance of a crash that occurs in one of the unoptimized code paths and even if Intel didn't mean for it to be there, they're still on the hook for that path in the first place.

      I have a feeling AMD has been working on this lawsuit for several years, so it will be interesting when they do finally submit the evidence to the court.

      --
      The global economy is a great thing until you feel it locally.
    2. Re:Wouldn't We Notice It? by Beatbyte · · Score: 2, Insightful

      They won't crash. They will use slower methods of moving and processing data.

    3. Re:Wouldn't We Notice It? by hackstraw · · Score: 1

      However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash.

      If that statement is true, wouldn't there be programs all over that ran fine on Intel but crashed on AMD? Maybe there are and I haven't noticed? Maybe not many people use Intel compilers?


      I don't know if this is true or not. AMD used to feel very comfortable using Intel's compiler to publish their benchmarks to SPEC and whatnot. Maybe they will have to use their own (after they make it).

      Now, there is some nonconspiracy theory here. AMD and Intel chips do have different capabilities, and I would assume that Intel's compiler would use, at most, zero of those that are exclusive to AMD and all of the bells and whistles of all of the Intel chips.

    4. Re:Wouldn't We Notice It? by UnknowingFool · · Score: 1
      If that statement is true, wouldn't there be programs all over that ran fine on Intel but crashed on AMD? Maybe there are and I haven't noticed? Maybe not many people use Intel compilers?

      The programs may not have crashed but just ran slower. The actual performance degradation may not be very noticeable. It may take 6 seconds instead of 5 seconds to do a particular task. It may have also been offset by the processor in certain types of tasks meaning that a "faster" AMD processor performed the same as a "slower" Intel processor so that the benchmarks appear roughly equal. However if the two CPUs were doing millions of tasks like in grid computing, the difference would be more noticeable.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    5. Re:Wouldn't We Notice It? by BRSloth · · Score: 1

      Maybe not many people use Intel compilers?

      Or the people using AMD really thought it was a operating system problem. Or even if it was really a processor problem.

    6. Re:Wouldn't We Notice It? by Anonymous Coward · · Score: 0

      I think you missed the key word: "or"

      In some high percent of the cases, the optimizations likely do not cause crashes but rather performace degrading. So perhaps some in some miniscule case it cases crashes. Still something to be concerned about, but it's a big "or"

    7. Re:Wouldn't We Notice It? by man_of_mr_e · · Score: 2, Informative

      Compiler optimization is a tricky business, and optimizing for one platform can actually slow performance on another.

      The story is light on details and doesn't say if the compiler is generating code optmized for the P4 or if it's code supposedly optimized for the AMD or if it was one of those "blended" things. If it's optimized for P4, then I can easily see how intel's instruction ordering can be beneficial for them, and slow the AMD.

      Things like pipeline length and differing branch predictors can cause wildly different results on different CPU's.

      I really don't see how Intel is under any obligation to optimize their compiler for AMD.

    8. Re:Wouldn't We Notice It? by adam31 · · Score: 1
      Well, VTune for one!

      I downloaded the evaluation and tried to run a test on a program I'd written. Crash. Tried again, crash.

      crash, crash, crash.

      I checked the support forums and found other people having the same problems with the official response "VTune only supports Intel processors". Well fine, that's a bit assinine, but at least a damn dialog box would have saved me an hour!

      But to just simply crash... that's for programs written by college kids. So I downloaded AMD's CodeAnalyst and (despite some quirks) it's been amazing... pipeline simulation-- yeah!. Just ditch Intel people. They don't really love you.

    9. Re:Wouldn't We Notice It? by Anonymous+Custard · · Score: 1

      Now, there is some nonconspiracy theory here. AMD and Intel chips do have different capabilities, and I would assume that Intel's compiler would use, at most, zero of those that are exclusive to AMD and all of the bells and whistles of all of the Intel chips.

      There is a big difference between:

      - Optimizing your company's compilers to make use of your chip's special proprietary features, while letting other processors use the standard MMX calls etc.

      - Restricting your company's compilers to use standard MMX calls only when it's your own processor, and to use ancient, slow methods for other processors, even though the other processors would support the MMX calls.

      If Intel was acting competitively, they would have used the standard MMX calls for any processors that labeled itself an MMX capable processor; regardless of which company made the processor. Instead, Intel's code intentionally discriminated against AMD and any other non-Intel chip by disregarding their support for MMX, and acting on brand name only.

      This is sort of like racial discrimination, but for processor brands.

      It's like forcing a minority to take the stairs but letting the white guy use the elevator, even though both are perfectly capable of riding the elevator.

    10. Re:Wouldn't We Notice It? by ChillyWillie · · Score: 0

      Keep in mind that this is for applications compiled for a specific architecture. Furthermore, this is Intel's compiler, not MSVC or Borland...

      When software is bundled into a self-installing executable for the windoze OS, programmers will generally use the generic x86 architecture with a mainstream compiler (most likely Visual C/C++) to guarantee maximum compatibility with all x86 architecture types and configurations.

      So to answer your question, no, you wouldn't see programs all over that exhibits this behavior unless you compiled them on your machines and tried to run them on both architectures.

      I'm not saying this isn't blatently wrong, but you're misinterpreting the scope of this fallacy, if it does in fact exist.

      --
      I am NOT putting my signature in this stupid little box! How do I know you won't steal my identity???
    11. Re:Wouldn't We Notice It? by KutuluWare · · Score: 1

      I'm not quite ready to write it off to Intel's shenanigans yet, but this would explain why I seem to have so much more problems running high-end games on my PCs than the general public :x

    12. Re:Wouldn't We Notice It? by Pulzar · · Score: 1

      It's like forcing a minority to take the stairs but letting the white guy use the elevator, even though both are perfectly capable of riding the elevator.

      I'd say it's more like letting the condo tenants use the elevators, while the guests are restricted to using the stairs.

      --
      Never underestimate the bandwidth of a 747 filled with CD-ROMs.
    13. Re:Wouldn't We Notice It? by Anonymous Coward · · Score: 0

      Now I know... That's why I failed Programming 101...

    14. Re:Wouldn't We Notice It? by Marc2k · · Score: 1

      The _first_ sentence on the download page for AMD's CodeAnalyst: "The AMD CodeAnalyst(TM) Performance Analyzer is a suite of powerful tools that analyzes software performance on AMD microprocessors."

      Also, note that no AMD processors are present on the list of supported processors on the Sys Reqs page for Intel's VTune.

      Personally, I have no idea why on Earth you'd be downloading a trial for VTune, while using an AMD proc (as far as I can tell, CodeAnalyst, by comparison,is free). I do agree that they should have popped up a dialog saying "Hey, jerk! What do you think you're trying to pull?" or something along those lines, but in this case you blatantly disregarded: 1.) the clearly stated system requirements, and 2.) common sense.

      --
      --- What
    15. Re:Wouldn't We Notice It? by Compholio · · Score: 1

      They won't crash. They will use slower methods of moving and processing data.

      If they use slower methods of moving and processing data and the program is poorly written then the difference in timing may cause it to crash, I've run into some programs that the timing change caused by outputing debug information causes crashes where they weren't before (right now I'm actually working on fixing one).

    16. Re:Wouldn't We Notice It? by Surt · · Score: 1

      The slowdown only applies to intel compiler compiled applications. Most games (and most applications on the market) are MS compiler compiled.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    17. Re:Wouldn't We Notice It? by Anonymous Coward · · Score: 0

      Most games (and most applications on the market) are MS compiler compiled.

      Actually, in my experience most production software is compiled with gcc. This is particularly true of applications (such as games) that must be cross-compiled to several platforms.

      You can usually tell MSVS apps: they all look the same and they almost all have state issues in the gui.

    18. Re:Wouldn't We Notice It? by atlasdropperofworlds · · Score: 1

      I wouldn't be surprized if AMD had a code sample that, if compiled with the Intel compiler and run on an AMD CPU, would terminate unexpectedly (crash). We won't know until they show the evidence in court. I wonder why they are demanding a jury? Are they afraid the judge is going to be bought out?

    19. Re:Wouldn't We Notice It? by prisoner-of-enigma · · Score: 1

      It would seem you do not understand what's going on here. Intel isn't under any obligation to optimize for AMD, nor should they be. However, what is going on is Intel's compiler is generating code that checks to see if you've got a GenuineIntel chip in the socket. If you do, your code makes maximal use of MMX, SSE, SSE2, and SSE3.

      If you don't have a GenuineIntel chip in your machine, the code executes a completely different set of instructions that ignores all of the above speed-enhancing options regardless of whether they are present in your AMD CPU or not.

      Intel is doing the exact inverse of what you claim: they aren't optimizing for Intel, they're unoptimizing for AMD.

      To make a it a bit plainer, how would you feel if Intel's compiler generated GenuineIntel code cleanly but inserted wait loops (for no good damned reason) in all other code? The wait loops would effectively kill performance in competing processors even though those same CPU's could run the GenuineIntel code without the loops if Intel's compiler weren't so ridiculous.

      --
      In the end they will lay their freedom at our feet and say to us, Make us your slaves, but feed us. - Fyodor Dostoyevsky
    20. Re:Wouldn't We Notice It? by Sj0 · · Score: 2, Funny

      WHOAH.

      whoah whoah whoah whoah whoah.


      Go take a walk and calm the fuck down.

      This is a sleazy business tactic, nothing more.

      --
      It's been a long time.
    21. Re:Wouldn't We Notice It? by man_of_mr_e · · Score: 1

      No, that's not what Intel is doing.

      What they're doing is creating two code paths. One for Intel processors, one for everyone else. AMD is "everyone else" and thus falls into code that has to work on 386's, 486's, Via C3's, Cyrix, etc.. They're not deliberately inserting poor code, they're falling back to the most basic code that works for all processors (which often have wildly different boundary restrictions and "quirks" that have to be worked around).

      They're not unoptimizing for AMD because they're not specifically looking for AMD. They're ARE optimizing only for intel. Period.

    22. Re:Wouldn't We Notice It? by Chris+Burke · · Score: 1

      They're ARE optimizing only for intel. Period.

      Right, regardless of whether those optimizations would be suitable for the other processor, which, oh by the way, the CPUID instruction tells you. Rather than checking "Does this CPU support SSE2? If so, then use the SSE2 code path." it checks for "GenuineIntel" and only uses the SSE2 code path then.

      The argument that they're only de-optimizing all competitors' chips even if they support the optimizations doesn't make it sound any better.

      --

      The enemies of Democracy are
    23. Re:Wouldn't We Notice It? by Anonymous Coward · · Score: 0

      That could only possibly happen with a device driver. And even then, if you aren't developing for a real-time OS, then you just have buggy code or hardware because you didn't take into account variations in timing.

      Secondly, if your code behavior changes merely because you've added or removed a printf or cout, then you are fixing a problem where you are using uninitialized data, or you aren't properly passing the correct number of parameters to procedure calls.

    24. Re:Wouldn't We Notice It? by Beatbyte · · Score: 1

      poorly written code crashes regardless. ;-)

    25. Re:Wouldn't We Notice It? by Anonymous Coward · · Score: 0

      Unreal tournament 2003/2004 and Doom 3 (both cross-platform) are compiled with MSVC++ (with some Intel C++ libraries).

    26. Re:Wouldn't We Notice It? by Dun+Malg · · Score: 1
      WHOAH. whoah whoah whoah whoah whoah. Go take a walk and calm the fuck down. This is a sleazy business tactic, nothing more.

      No, this is exactly like a white plantation owner cutting off the foot of a runaway negro slave to keep him from escaping again. Duh.

      --
      If a job's not worth doing, it's not worth doing right.
    27. Re:Wouldn't We Notice It? by ErikTheRed · · Score: 1
      I wonder why they are demanding a jury? Are they afraid the judge is going to be bought out?
      When suing someone for large $$$, you always want a jury trial. Juries are responsible for those insane settlement figures you see ($20M because somebody looked at you funny or something)- although those are usually adjusted well downwards by the judge or appelate courts.
      --

      Help save the critically endangered Blue Iguana
    28. Re:Wouldn't We Notice It? by Stauf · · Score: 1

      Apps that crash are apps that apps compiled specifically with the flag 'use SSE' and that don't generate code for non-SSE machines. Intel, it seems, hid the 'check for non-Intel' bit inside the checks for SSE and SSE2 - see this site for more detail.

    29. Re:Wouldn't We Notice It? by prisoner-of-enigma · · Score: 1

      What they're doing is creating two code paths. One for Intel processors, one for everyone else.

      But that begs the amazingly huge question: why is Intel only looking for the "GenuineIntel" attribute? It's trivial to simply test to see whether such capabilities exist on the chip. Even more puzzling, why not let the developer choose "Intel Optimizations" or "Generic Optimizations" at compile time? With Intel compiler, if you select the Intel optimizations, you don't get them if your target platform is anything other than an Intel chip.

      How would you feel if you bought a system advertized as a 3GHz P4 but found out it only ran at 1.6GHz when you ran Linux, requiring Windows XP to run the full 3GHz? You'd be outraged, especially if such behavior wasn't clearly spelled out to you beforehand. Intel clearly has kept this more or less under wraps (until now) because practically nobody disassembles code anymore.

      They're not unoptimizing for AMD because they're not specifically looking for AMD. They're ARE optimizing only for intel. Period.

      And they're optimizing for Intel in the most obtuse manner you can possibly imagine: by looking for a patented attribute that nobody but Intel can have. The compiler could quite easily test for any number of conditions, including setting things up for MMX, SSE, SSE2, and SSE3. It's tantamount to saying "I didn't steal that, it was just laying there, looking like nobody owned it." Sorry, Intel doesn't play the poor, downtrodden, misunderstood altruist angle too well. It's been too busy threatening Compaq with holding back CPU shipments if Compaq started selling AMD chips to brush up on those acting skills I guess.

      You can keep right on claiming that Intel is just an innocent participant in this whole affair, but if you have a shred of morality in you, you know this isn't the case. Intel isn't (and shouldn't be) legally required to support a competitor's product, but this kind of behavior can't help but strengthen the case that Intel is doing all sorts of marginally-legal things to keep AMD down. But, when your pet NetBurst architecture runs out of steam so spectacularly, and when your compeitition's chips are beating the crap out of your flagship CPU's, I guess Intel has to stoop to these kinds of thuggish tactics to retain it's market dominance.

      --
      In the end they will lay their freedom at our feet and say to us, Make us your slaves, but feed us. - Fyodor Dostoyevsky
    30. Re:Wouldn't We Notice It? by man_of_mr_e · · Score: 1

      I will thank you to stop putting words in my mouth. I didn't say Intel was innocent in anything, so don't go claiming I did. For someone claiming the high moral ground in the argument you are showing a remarkable lack of it by fabricating what I said.

      You might start by looking at yourself before complaining of others lack of ethics.

      What I said, in no uncertain terms, is that what is being claimed (that intel is deliberately looking for AMD CPU's and then feeding them bad code) is not the case. Whether Intel's behavior is right or wrong, that doesn't make exagerating and even falisifying the situation ok.

      The fact is, Intel is optimizing only for their CPU's. They are not targeting AMD (though they're certainly feeling the effects). In my opinion, I can't see how AMD can compel Intel to optomize for anyone given that Intel's compiler is a minority player in the market.

    31. Re:Wouldn't We Notice It? by Velk · · Score: 1

      Actually - do the chips it supports other than AMD, like the old cyrix ones, support the function that tells it whether it has SSE or not ?

      That does make a difference in that if it took the path of checking for SSE and then doing it or not doing it, that code would crash on a machine that didn't support the SSE check, in which case it would be laziness in not including AMD rather than pettiness in excluding them.

    32. Re:Wouldn't We Notice It? by Chris+Burke · · Score: 1

      Actually - do the chips it supports other than AMD, like the old cyrix ones, support the function that tells it whether it has SSE or not ?

      Yes, they do. All x86-compatible processors back to I think the 386 or 486 support the CPUID instruction, and there's a control register that tells you whether the CPUID instruction is supported (the absence of which would clearly imply that SSE is not supported). Basically, there is a well-defined sequence of instructions for identifying processors and their features all the way back to the 8086.

      You may be wondering how a processor that existed before SSE can tell you if it has SSE. The way this works on old processors is that there are bits in the CPUID feature field defined as "Reserved" or "Must Be Zero(MBZ)". So all x86-compatible processors return zero for these bits. Then someone (usually Intel) creates an instruction set extension, and chooses one of these bits to represent that. So for example the Pentium MMX took one of these MBZ bits and redefined it to be the "MMX extension" bit, and returns a 1 for that bit. If everyone follows the spec (and they do; Intel compatability has always been priority #1 for the other x86 chip makers), then all other processors will return 0. In the future when MMX support is added to those, they can return 1 as well.

      So it isn't laziness. They use one CPUID call to get the processor string instead of another to check the SSE2 bit. It is a deliberate attempt to prevent non-Intel processors from running the fastest code produced by the Intel compiler.

      --

      The enemies of Democracy are
  14. Hold on now, Son... by VanWEric · · Score: 1

    I hope for AMD's sake this is true. I mean, I wish it wasn't, but AMD is risking SCO status if they are too noisy and whiny. I'm not saying they don't have a case - I'm just saying that no one wants to buy stuff from a whiner.

    --
    www.olin.edu
    1. Re:Hold on now, Son... by Sj0 · · Score: 1

      Congratulations, you've invoked godwins law for legalities.

      --
      It's been a long time.
    2. Re:Hold on now, Son... by VanWEric · · Score: 1

      Well gee, you don't have to be a Nazi about it...

      --
      www.olin.edu
  15. It's true--and they know about it by Eponymous+Cowboy · · Score: 5, Interesting

    I noticed this problem back in January of 2004, with Intel C++ 8.0, and went through heck over nine months with Intel's customer support to get it fixed until I eventually had to abandon their compiler.

    On any non-Intel processors, it specifically included an alternate code path for "memcpy" that actually used "rep movsb" to copy one byte at a time, instead of (for example) "rep movsd" to copy a doubleword at a time (or MMX instructions to copy quadwords). This was probably the most brain-dead memcpy I'd ever seen, and was around 4X slower than even a typical naive assembly memcpy:

    push ecx
    shr ecx, 2
    rep movsd
    pop ecx
    and ecx, 3
    rep movsb

    They responded with completely ridiculous answers, such as:

    "Our 8.0 memcpy was indeed optimized for a Pentium(r)4 Processor,when we reworked this routine we used the simplest, most robust, and straightforward implementation for older processors so that we didn't need the extra code to check for alignment, length, overlap, and other conditions."

    BS. I went and added the following line to the beginning of my source code:

    extern "C" int __intel_cpu_indicator;

    then I added:

    __intel_cpu_indicator = -512;

    to the "main" function.

    This forced Intel C++ to use the "Pentium 4" memcpy regardless of which processor in in the machine. It turns out that their special "Pentium 4" memcpy which I tested thoroughly in all kinds of situations, and it worked perfectly fine on an AMD Athlon and a Pentium III. I pointed this out to them.

    I received the following response:

    "The fast mempcy is over 2000 lines of hand coded assembly, with lots of special cases where different code paths are chosen based on relative alignment of the source and destination. ... If the performance of memcpy/memset only are improved for Pentium III will that satisfy you?"

    I answered "No," saying that I needed support for AMD processors as well. I also gave them a copy of my own memcpy routine that was 50% faster than theirs--and just used MMX. They closed the support issue and did nothing to resolve it.

    I switched back to Visual C++.

    --
    It's hard for thee to kick against the pricks.
    1. Re:It's true--and they know about it by Penguin+Programmer · · Score: 5, Funny

      I switched back to Visual C++.

      And when a Microsoft product is the lesser of two evils, you know for sure that there's something fishy going on.

    2. Re:It's true--and they know about it by bugnuts · · Score: 4, Funny

      You forgot this code at the bottom:

      push parent, @AMDsubpoena_list

    3. Re:It's true--and they know about it by WhiteWolf666 · · Score: 3, Insightful

      Seriously, if you've still got the documentation, send that to AMD's legal team.

      That's a clear instance of them using their monopoly power to damage AMD's reputation with a developer (you).

      This *exactly* the sort of evidence they will be using to build their case.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    4. Re:It's true--and they know about it by mugnyte · · Score: 1


      So, the next step is to reverse engineer the compiler itself. It's be fascinating to see *all* of the changes Intel put in its compiler.

      You were pretty lucky/savvy to know the flags to set to trick the compiler. I wonder how many folks just tried to optimize perfectly adequate sections of their code because of such a dirty trick.

      I have to admit, though: Building a compiler that simple "doesn't optimize" for the competition still doesn't seem too extraordinary for the market these days.

    5. Re:It's true--and they know about it by bitplayer · · Score: 4, Interesting

      While the focus of these threads is Intel vs. AMD competition, I think that it is worth pointing out that Intel is also crippling (or, at least, "not improving") the performance of their own PIII processors. For what reason would anyone do that, other than an desire to sell more P4 processors when a PIII processor might suffice?

    6. Re:It's true--and they know about it by MattyCobb · · Score: 1

      What version of the compliler were you using? And for what AMD processor? I tried this on my aging Athlon with an older version of the compiler and I couldn't find any such issue. Also if you have a faster memcopy to beging with what were you doing using Intel's?

      --

      Matt
      You have 1 Moderator Point! Use it or lose it! Is that a threat? -vapid
    7. Re:It's true--and they know about it by ratboy666 · · Score: 1, Insightful

      What a Maroon!

      Intel is producing a compiler that optimizes for Intel chips. Yup, memcpy() went south on a non-Intel chip/architecture. And, you found a work-around.

      Now, how is Intel to know the alignment behaviour of OTHER (proprietary) architectures. Yup, read the docs, etc. Same as you would.

      But, they are producing an optimizing compiler for the INTEL chip. Never claimed it optimized for AMD, or anything else. If you don't use the the correct target processor, I seriously think that would be your problem.

      Intel does NOT have a monopoly on processors (and, if it is proven in court that they do, THIS ANALYSIS WILL CHANGE). They certainly don't have a monopoly on compilers.

      I haven't seen ANY evidence that the ICC goes out of its way to crash other processors, but it CERTAINLY doesn't produce good code for them.

      Be happy with Visual C++, it generates good objects across a variety of Intel and AMD processors. Note that Intels claim has been that IF you use an Intel chip, ICC will provide a performance improvement.

      I think I am going to short AMD -- something is seriously amiss there...

      Ratboy.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    8. Re:It's true--and they know about it by justforaday · · Score: 3, Interesting

      Remember how all the benchmarks put the P3 ahead of the P4 (clock for clock) when the P4s debuted? It seems this little trick of theirs could cause developers to say "Wow, the P4 really is fast compared to the P3."

      --
      I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
    9. Re:It's true--and they know about it by springbox · · Score: 4, Insightful

      It's one thing if you don't go out of your way to support an entirely different architecture that you don't make yourself, but it's entirely different to intentionally cripple your program when it finds out it's running on your competitor's hardware that's fully compatible with your own.

    10. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      You obviously don't know what you're talking about. There is nothing proprietary involved, and alignment is not involved. The fact of the matter is that Intel specifically went out of their weay to write a memcpy routine for non-Pentium-4 processors that was specifically designed to be as slow as possible. "rep movsb" has never been an acceptable way to copy memory blocks; never, not even on the original 8086 processor.

    11. Re:It's true--and they know about it by greed · · Score: 5, Insightful
      Intel is not detecting the supported instruction set, they are detecting the actual CPU.

      The way a responsible compiler developer generates code in this situation is to say, "I need feature X, Y and Z for this code path--it will be used if all are present."

      The only thing the latest Pentium IVs have on the Athlons is the SSE3 extensions, and that is pretty much irrelevant to most code. "It must be true, Intel told us."

      If you switch the Intel compiler so that it does NOT generate multiple-CPU-supporting code, you can generate code that runs on Pentium III, IV, and Athlon just fine. (My overly-cheap ECS Duron board burned out, and who cares about Duron anymore anyway?)

      (The magic switches are -xK or -xW, BTW.)

      But there is no reason for code targetting a Pentium IV restricted to SSE2 at the highest to NOT run on an Athlon. You can "not support" it, sure, but to DELIBERATELY disable the code when you detect a competitor's chip is... well, anti-competitive.

      And this isn't a free compiler. You pay for ICC. (There's a for-free-software download, sure, but most people who really care about this stuff are more than willing to pay, and pay well, for the best compiler optimizations they can get.)

      The problem is not that they can't guarantee that the AMD chips work. The problem is they are generating instruction streams that run JUST FINE on AMD chips and their runtime code DISABLES that code path (if you use the recommended or default compiler settings).

      It's AMD's job to make sure their implementation of IA32 + whatever extensions is good, not Intel's job to disable code on their chips--except based on the processor capability word. (Whatever "flags" from /proc/cpuinfo is properly called.)

    12. Re:It's true--and they know about it by jiushao · · Score: 2, Insightful

      I don't see any problem at all with this if it is indeed for all non-intel processors. Targeting a competitor directly by slowing things down is a bad thing, but putting in the simplest default fallback for any other processors than the one you are trying to optimize for seems like a very reasonable way to go. To put it this way; Intel makes a compiler optimized for their products, and they throw in a simple fallback to supply simple code that should work on any basic x86 compatible. If it can be demonstrated that the intent of this is to damage AMD it is a bad thing, but it seems more likely that Intel simply does not care about the performance of the compiler on any other implementation (and seeing how they by no means have a monopoly on compilers there is nothing wrong with that).

    13. Re:It's true--and they know about it by corngrower · · Score: 1

      A case for using benchmark executables that are compiled and built specifically for the processor they're to run on, using the best compiler available for each processor.

    14. Re:It's true--and they know about it by Kordmp · · Score: 1

      Wouldn't the best test to see if this was a directed at AMD or just for any non-Intel chip to set/have a chip that is set to report as neither AMD or Intel and if it works better than AMD then it is most likely illegal, but if it is the same then I wouldn't believe it wouldn't be illegal to use optimized code that you know works on your chipset and set any others to default unless the user purposely chose to use it (ie: command line flags).

    15. Re:It's true--and they know about it by Slack3r78 · · Score: 1
      The only thing the latest Pentium IVs have on the Athlons is the SSE3 extensions, and that is pretty much irrelevant to most code. "It must be true, Intel told us."

      Small correction - K8 revision E supports SSE3.

      (Venice and San Diego cores in A64, Troy and Italy cores in Opteron).
    16. Re:It's true--and they know about it by fork420 · · Score: 1

      So your gripe is that Intel doesn't go out of their way to make sure that AMD's processors do what you want them to do?

      Basically Intel-generated code checks to see if the processor performs certain optimizations by asking the processor what kind it is. Once the feature set of the processor is verified by that simple processor identification test, then the optimized code is run. If it can't be known for sure what a processor will do, wouldn't you *want* them to fall back to more compatible (albeit slower) code?

      It seems to me that Intel's answer is perfectly reasonable. They optimize for their processor, and they produce *functioning* code for all other similar processors. If you want the latest optimizations, they want you to buy the latest processors. Are you surprised that *Intel* assumes that you'll buy Intel processors?

      I mean, they're just making sure that the compiled code will actually work for the widest possible set of target platforms. Surely you don't expect Intel to validate its optimizations against AMD processors. Oh wait, this is /. Everyone expects something for nothing.

      Tell AMD to enable a flag that causes the processor to identify as an Intel processor, then let AMD carry the burden if the optimizations don't work. I mean, they are Intel-compatible, aren't they?

    17. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      good point.

      intel really should spend its time and resources optimizing for AMD.

      that makes perfect business sense!

      retard.

    18. Re:It's true--and they know about it by six · · Score: 1

      So your gripe is that Intel doesn't go out of their way to make sure that AMD's processors do what you want them to do?

      Actually the fact is more that Intel does go out of their way to make sure that AMD processors do *not* do what you want them to do (or at least do it slower than expected)

      Basically Intel-generated code checks to see if the processor performs certain optimizations by asking the processor what kind it is. Once the feature set of the processor is verified by that simple processor identification test, then the optimized code is run. If it can't be known for sure what a processor will do, wouldn't you *want* them to fall back to more compatible (albeit slower) code?

      Let me explain something simple about x86 processors capabilities ... There's an instruction in the x86 set called CPUID which does report various infos about the processor ... one of them is a 96-bit representation of the actual brand (GenuineIntel, AuthenticAMD, CyrixInstead, ...), plus the processor family/part/model number. CPUID also reports the actual capabilities of the processor (MMX/3dnow/SSE/SSE2/SSE3/...). What intel apparently does in their compiler is check the processor brand as reported by CPUID (enabling optimizations if brand == "GenuineIntel") and ignore the capabilities flags.

      I mean, they're just making sure that the compiled code will actually work for the widest possible set of target platforms. Surely you don't expect Intel to validate its optimizations against AMD processors.

      No I don't, but I expect AMD to validate its processors against the Intel specs, and that's exactly what they do. Just look at another comment above: when a guy hacked an intel-optimized binary to disable the cpu check, it worked (with the same speed improvements) on an AMD chip.

    19. Re:It's true--and they know about it by dfj225 · · Score: 1

      I agree, that if true that Intel purposely breaks code for AMD's chips, is an ethically wrong act. However, when you asked Intel to support AMD processors too, did you actually expect them to agree? I mean to go out of their way and put a programmer on that task only to support a competitors product does seem unreasonable. I wouldn't expect Intel's compilers to produce really good code for anything other than Intel chips. Still, that doesn't mean that purposely using poorly performing code is the right thing to do.

      --
      SIGFAULT
    20. Re:It's true--and they know about it by IceRa · · Score: 1

      THAT Kind of - you can almost call it sabotage - is exactly what the public needs to made more aware of. As long as nobody cares, they can get away with such "errors"
      I hope tht case will draw attention of many non-techies.

      --
      Sig? Where I go, I don't need ... sigs.
    21. Re:It's true--and they know about it by fork420 · · Score: 1

      Yes, it wouldn't be too hard for Intel to make the compiler optimizations work with AMD processors, and yes, it was probably a management decision to do it this way, but so what if the Intel compiler doesn't do any favors for AMD processors? It's Intel's compiler. If you don't like the code generated, it's not like Intel has a monopoly on compilers. Intel made a business decision to make a compiler that complements their processor line.

      It's not as if Intel is in the compiler business, and there's nothing stopping AMD from creating their own compiler (or just helping out the good folks on the gcc project).

      The arguments in this thread against Intel would have Intel engineers working to make AMD's product work better. *That* is anticompetitive. Intel's engineers are working to make Intel's processors perform as well as they can and they're not doing anything to help out AMD...that is the very definition of competition.

    22. Re:It's true--and they know about it by orkysoft · · Score: 1

      That's probably why Dawn of War, which has as a minimum requirement a 1.4GHz Intel or AMD processor, runs just fine on my 1.0GHz Pentium III...

      --

      I suffer from attention surplus disorder.
    23. Re:It's true--and they know about it by m50d · · Score: 1
      But, they are producing an optimizing compiler for the INTEL chip. Never claimed it optimized for AMD, or anything else

      If you read their pages, they say it produces code that exploits the SSE extensions for IA-32 processors. IA-32 is what we call x86, it's the processor architecture, and includes intel, amd and those via embedded ones, probably some others too. Intel's claim has been that their compiler produces the best code for the processor architecture.

      --
      I am trolling
    24. Re:It's true--and they know about it by Pranadevil2k · · Score: 1

      If that's the case, why would the ICC compiler treat Pentium III chips the same way it treats AMD chips? It obviously is not optimizing all of Intel's chips in that case. They crippled ICC on PIII to improve benchmarks on PIV and make the new chips look better, even though the PIIIs were faster originally. If they're willing to cripple their own chips to make the P4 seem like a better chip, then they're willing to cripple everyone else's as well.

    25. Re:It's true--and they know about it by Pranadevil2k · · Score: 1

      I don't think the issue is whether ICC is doing this for non-Intel processors (we know it does, because the code ASKS for the processor's name) so much that the code it uses for PIVs works perfectly fine on AMD processors.

    26. Re:It's true--and they know about it by Pranadevil2k · · Score: 1

      I'm not a programmer, but having read some of the comments on this thread I've figured out the real issue. ICC uses a CPUID call to see what processor is running the code. It will only use its' processor optimizations if the returned name is GenuineIntel. However, the CPUID call also generates a list of processor features, MMX/SSE etc. and AMD chips support everything that Intel chips do with the exception of SSE3 which apparently nobody ever uses. The complaint is that ICC doesn't care what the feature-set is, and ONLY cares about the brand. And now I can even think of a good way to tell if this is really the case - you can change the name of a P4 chip to something other than GenuineIntel - if the optimizations don't run, then the only thing the compiler is anti-competitive in nature.

    27. Re:It's true--and they know about it by Rich0 · · Score: 1

      You could argue that this is an unfair bundling. Intel obviously has early access to their processor specs, which gives them a head start on their compiler. This gives the compiler an advantage over the competition.

      On the other side, the compiler is designed to cripple non-Intel processors. It doesn't do this by failing to make AMDs work better. Rather, it does so by ignoring CPU capabilities and running unoptimized code on non-Intel processors.

      Now, If they have generic, P3, and P4 code branches, and the CPU has the capabilities of the P4 processor (as indicated by CPUID), then the P4 branch should be run. Intel doesn't need to do a big study on AMD code alignments and make a k8 branch or anything like that. However, if the branch uses SSE2 and the processor supports SSE2 then it should use the optimizations.

      There is a big difference between going out of your way to support a competitor in a related market, and outright making your product deliberately slower when used with a competitor's product. If the CPUID says the processor supports SSE2 and you have SSE2 code to execute it, then that branch should be used.

    28. Re:It's true--and they know about it by ratboy666 · · Score: 1

      m50d

      So, there is a standards body that defines "IA-32"? News to me.

      "Intel Architecture, 32 bit"

      You want standards? Go with the SPARC. IEEE 1754-1994 would be the relevant standard you are looking for.

      Notably, it DOESN'T stand for

      "Industry Architecture, 32 bit"

      Ratboy

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    29. Re:It's true--and they know about it by Drakonblayde · · Score: 1

      When AMD is licensing feature sets from Intel, yes I expect their compiler to support that. Since the compiler is detecting the CPU type and not whether or not those CPU's support the Intel sets, that's either A) Underhanded or B) stupid. As has been shown, there is overwhelming evidence that the supposed 'optimization' is not for Intel chips. The optimized code runs fine on non-Intel chips. That puts my opinion on the matter solidly with option A.

    30. Re:It's true--and they know about it by Jherek+Carnelian · · Score: 2, Insightful

      On any non-Intel processors,

      I think this is a key fact.

      It isn't that ICC generates crummy code for AMD cpus, it generates good code for Intel cpus and crummy code for all others.

      AMD would have a much stronger case if they were able to demonstrate that ICC compiled code actively detected AMD cpus and took the slowpath.

      Instead, it is reasonable for Intel to argue that the slowpath is a fallback option that is designed for maximum compatibility at the expense of performance. Since they take the same slowpath on ALL unrecognized CPUs (cyrix, transmeta, ???) some, or all, of which may not have been part of Intel's test process -- maximum compatibility is a very reasonable design goal, better than simply refusing to run which is another option.

      The end result is the same, but the supporting reasoning behind such a move is likely to prevail in a court of law where, in a dispute like this, motivation makes all the difference.

    31. Re:It's true--and they know about it by Dun+Malg · · Score: 1
      I don't see any problem at all with this if it is indeed for all non-intel processors. Targeting a competitor directly by slowing things down is a bad thing, but putting in the simplest default fallback for any other processors than the one you are trying to optimize for seems like a very reasonable way to go.

      It's not reasonable if the different code paths are dependent on SSE2 compatibility, but the compiler sends all non-Intel CPUs down the non-SSE2 path based on the CPU manufacturer ID rather than on the SSE2 compatibility, which has its own check totally independent of the manufacturer ID. That's intentional hamstringing.

      --
      If a job's not worth doing, it's not worth doing right.
    32. Re:It's true--and they know about it by GooberToo · · Score: 1

      That argument doesn't hold water. The situation is that Intel purposely runs slower code on any non-Intel CPU. All then need to do is to validate CPU capabilities, as Intel themselves recommend, and run the code based on CPU capabilities. Doing so allows maximum performance on Intel CPUs. It just so happens that on AMD CPU's, it would allow them to run faster too. In situations where AMD is slower, then shame on AMD.

      In otherwords, this is a specific case of Intel **specifically** generating code to slow down all non-Intel CPU's. It has ZERO to do with compatibility concerns. In short, Intel has specifically decided to harm the performance reputation of all non-Intel CPUs. AMD has a great case here.

    33. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      How is Intel supposed to know that if CPUID says that SSE2/SSE3/MMX is supported that it has all the same instructions or works exactly the same way Intel's version does. Nothing is stopping AMD from enabling the SSE3 CPUID bit but only supporting half the SSE3 instructions. It would be stupid to do, but possible.

      So is Intel supposed to spend a bunch of time verifying that all other processors (including various cores, rev levels, errata on each) will function the exact same way as an Intel processor or do they just play it safe and let all "other" processors function, albeit slower?

    34. Re:It's true--and they know about it by sheimers · · Score: 1

      How does your hack work with other CPUs, eg. VIA C3, Efficeon or very old ones like 386, 486? Will the program still run? Will it be slower or faster? Maybe Intel just wanted two paths: One optimized for their newest processors, and one for everything else including old 386s.

    35. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      Hi! You just wrote something stupid.

      How is Intel supposed to know that if CPUID says that SSE2/SSE3/MMX is supported that it has all the same instructions or works exactly the same way Intel's version does.

      Intel is supposed to just not care. If the AMD part doesn't run the code right, the customer will blame AMD. Intel can just assume that any CPU identified as SSE2-capable is, in fact, SSE2-capable and so on. No problem.

      So is Intel supposed to spend a bunch of time verifying that all other processors (including various cores, rev levels, errata on each) will function the exact same way as an Intel processor or do they just play it safe and let all "other" processors function, albeit slower?

      If you read the other comments, it becomes clear. Intel's compiler writes deliberately slow code, which is only run when an AMD chip is detected. That one guy wrote a utility to strip out the part where it detects an AMD chip, and found that an AMD chip ran the compiled code just as fast as an Intel chip did.

      Intel is being sleazy. It's amzing they were this brazen about it; aren't they worried about what will happen in court? AMD is already suing them. It was inevitable.

    36. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      Why didn't they detect the support of the instructions used in the faster path instead of the brand of the processcor?

      amd chips correctly report them self as supporting sse and sse2, if that's all intel's compilier uses in a particular optimization why does it check the brand?

    37. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      You haven't done much commercial software testing have you? Anyone who has, knows that you do your utmost to test any and all supported configurations but you don't waste resources testing unsupported platforms. If non-Intel CPUs are not supported, then the software won't be tested on them. Its a matter of convenience that ICC-compiled code doesn't just abort on unsupported platforms.

      As people have already shown in this thread and elsewhere, Intel has provided a way to force the compiler to emit code that runs the fastpath on non-Intel CPUs. It is a simple, documented, compile-time option. If you are serious developer, you know about this option. If you are not a serious developer, then you are unlikely to be able to handle what happens when the fastpath runs on unsuppported hardware and subtly failures (wrong answers, random results, data corruption, etc) and thus defaulting to the reliable slowpath is perfectly acceptable.

      Hey, I love AMD more than the average slashdothead, but when this news came to light, what a year ago? in comp.arch, it was no big deal. Anyone with a professional background in software implementation and test will understand why Intel does it that way.

      --
      When information is power, privacy is freedom.
    38. Re:It's true--and they know about it by MntlChaos · · Score: 1

      It's not the compiler's fault if the processor says that it supports a feature set and doesn't implement it properly. The proper behavior for runtime code path selection is to perform the CPUID call, then check for the specific features that are needed and seledct a code path based on that, and NOT based merely on the processor string. There's a reason that IA-32 has CPUID give you all that information about what features the chip supports. Then Intel decides to ignore that to unfairly hamstring all other chip makers

    39. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      The proper behavior for runtime code path selection is ... yada, yada, yada

      I see you have about zero experience supporting commercial software too. In a perfect world, that's what would happen. But the world ain't perfect, it is full of all kinds of workarounds and glitches and bugs. You only support what you've tested, doing anything else is a potential infinite drain on your bank account.

      And A-FREAKING-GAIN, Intel provides the option for the developer to force the desired behaviour if they really, really want to. The default is the safe(r) behaviour but if you know what you are doing, it is easy enough to make the compiler do exactly what you've described. Defaults are for dummies, options are for experts.

      --
      When information is power, privacy is freedom.
    40. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      So, since you're such an expert, would you mind sharing what flag us dummies should be using to force ICC to do the right thing?

    41. Re:It's true--and they know about it by m50d · · Score: 1
      So, there is a standards body that defines "IA-32"? News to me.

      It's called Intel. Not a standards body as such, but they publish a standard, just like Adobe isn't a standards body but pdf is a standard.

      --
      I am trolling
    42. Re:It's true--and they know about it by GooberToo · · Score: 1

      LOL! I'm a professional developer...so on and so on...

      The fact that your answer is to attack me with and argument that has absoluetely no relationship to the case says plenty.

      Simple fact is, this has ZERO to do with testing! Say it with me! "This has ZERO to do with test!" AMD claims compatibility. If AMD does not provide it, then it's AMD's fault, not Intel's. Yet, according to you, the fact that Intel has specifically picked a slow execution path for known compatible CPU's is a matter of testing.

      Please, bother to read/learn more about what's going on. Then, bother to learn how to test software. Then, learn why this has zero to do with testing!

      Shesh! This has ZERO to do with testing. This has 100% to do with Intel purposely slowing the competition of compatible CPUs AND ignoring their own recommendations of "best practices". Like I said, AMD has an excellent case here!

    43. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      Simple fact is, this has ZERO to do with testing! Say it with me! "This has ZERO to do with test!"

      At least get your grammar right when you try to bullshit people.

      I'm a professional developer...so on and so on...

      Clearly not one who knows sznit about support, a far too common situation.

      You can go on and on asserting your point of view as fact, but that doesn't make it so.

      As Intel has provided the mechanism (see the previously mentioned CPU Dispatch functionality using the __intel_cpu_indicator global variable) for a developer to force the use of fastpath code on any processor which they want to your position is clearly contradicted by the facts.

      --
      When information is power, privacy is freedom.
    44. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      It's in the original article of this thread. If you can't even figure that out, then clearly it is a tool too dangerous for you to use. Here's a hint, read up on "CPU Dispatch."

      --
      When information is power, privacy is freedom.
    45. Re:It's true--and they know about it by GodsMadClown · · Score: 1

      The dual core parts, code named Toledo and Manchester, are also Rev. E and support SSE3.

    46. Re:It's true--and they know about it by GooberToo · · Score: 1

      Pethetic at best.

      Pull your head from your ass and figure out what the case is about. Your idiotic tangents have nothing to anything.

      You sound like, "blah..blah...testing....blah...blah...Intel...bla h..."

      Shesh already. Clueless.

      Clearly not one who knows sznit about support, a far too common situation.

      I've done everything from write test plans to front line support. I know plenty about testing. In fact, I know so much, I know this has ZERO to f'n do with testing. Pull you head from your ass and repeat it already.

      Shesh!

      Pethetic.

    47. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      The bigger problem is that they advertise development for all IA-32 processors, including 64-bit Athlon and Opteron processers, and the new EM64 archtecture from the same compiler.

      Intel does sell this as a general purpose compiler to optmize code for all IA-32 based processers.

    48. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      Pethetic at best.

      Dude, what is wrong with you?
      You keep fucking up your insults, first grammar and now spelling. You are showing all the traits of a phanboi.

      Intel has specifically picked a slow execution path for known compatible CPU's

      So, if it has NOTHING to do with testing, then how do they know non-Intel cpus are compatible? Just because someone outside of the company says so?

      --
      When information is power, privacy is freedom.
    49. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      I disagree. This isn't just defaulting to the base platform.

      You forget that AMD has licensed the rights to use SSE and SSE2 from Intel, as well as having and extensive (albeit tenuous) cross-licensing agreement.

      Did I happen to mention Intel's comment that AMD is "the Milli Vanilli of semiconductors." (Andy Grove, former CEO and President of Intel) EMT64, anyone?

    50. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      Uh...then tell me this please.

      First it flags the CPU manufacturer. If it is GenuineIntel it then proceeds to check what coding it supports (which sets the correct parameters for SSE, SSE2, etc...). If it is non-Intel it automatically disables those parameters, even if the next checks confirm it is indeed supported. This is why people have a problem with it, regardless of any workarounds.

    51. Re:It's true--and they know about it by ratboy666 · · Score: 1

      No, they don't. Let me quote from Intel:

      More Information
      Intel® C++ Compiler
      for Windows*

      Deliver outstanding performance by optimizing your applications for Intel® processors. This package includes Intel® C++ Compiler for eMbedded Visual C++*.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    52. Re:It's true--and they know about it by ratboy666 · · Score: 1

      You have fallen into the most brilliant marketing ploy!

      A ratified standard is exactly that. We have standards organizations to ensure that standards are adhered to: ISO, IEEE, ANSI, etc.

      If is ISN'T ratified under a standards organization, it isn't a standard.

      So, SPARC v8 *is* a standard, IA-32 isn't.

      Indeed, IA-32 is WHATEVER Intel claims it to be (or whoever owns the trademark).

      Sure, it's stable enough to be a "de-facto" standard, and there are competing companies (AMD, etc.), but that STILL doesn't make it a standard.

      Intel could make it a standard, by turning it over to a standards body (like SUN did). Of course, that didn't help SUN much (which is probably one reason why they are reticent about turning over JAVA).

      If IA-32 were a standard, it would be possible to argue restraint of trade (selling a compiler that generates standards compliant code, and yet differentiates different standards implementations). SUN offers a compiler; and it DOESN'T differentiate (for that reason).

      But IA-32 is not a standard, so there is no body that can determine what a valid compiler implementation can differentiate on. Intel is in the right here; they are producing a compiler that optimizes for Intel chips. Not third party, supposedly "plug compatible", "software compatible" or whatever devices.

      And I, for one, will NEVER give the title "Standards Body" to Intel, or Adobe.

      Postscript(tm) is also a "de-facto" standard. Perhaps you are looking for ISO 10180? [Although, ironically, due to the power of de-facto, the standard is only available on paper, or as a "pdf").

      Ratboy

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    53. Re:It's true--and they know about it by Anonymous Coward · · Score: 0

      You forget that AMD has licensed the rights to use SSE and SSE2 from Intel, as well as having and extensive (albeit tenuous) cross-licensing agreement.

      Licensing, implementing and implementing correctly are three different things.

    54. Re:It's true--and they know about it by m50d · · Score: 1
      What defines a standards organisation then? Can I set one up and have it ratify what I like? I've always held and seen it assumed that if the complete specification is published in such a way that anyone can implement it from the specification it is a standard.

      Besides, it's intel themselves that are publishing a document they call the IA-32 standard. Isn't there estoppel or something that means if they're saying in one place that this is the IA-32 standard they can't argue somewhere else that that isn't the IA-32 standard? They could quite easily call their compiler a "Intel Pentium Compiler", but they don't, they call it an IA-32 compiler, and it should compile for what they call IA-32.

      Is there a standard for electronic documents that you would accept? RTF is published by MS, OASIS is only published by the OASIS group, not ratified by ISO or anyone afaik. HTML is as far as I know just a set of W3C specifications. I'd prefer to judge whether something's a standard based on the spec itself (and its license) rather than the name of the body that ratified it.

      --
      I am trolling
    55. Re:It's true--and they know about it by GooberToo · · Score: 1

      What an idiot.

      So, if it has NOTHING to do with testing, then how do they know non-Intel cpus are compatible?

      Tell me where Intel has ever claimed it is their job to certify compatibility of non-Intel CPUs and then I'll admit you *may* have some ground to stand on. Show me where rival companies expect Intel to certify their CPU's as Intel compatible. It is not Intel's job to test compatibility. It **IS** their job to use **THEIR OWN RECOMMENDED FEATURE SET FLAGS, PROVIDED BY THE CPU*** to test feature set support. It is up to the CPU vendor to ensure their CPUs actually support a given CPU feature set **AND** to be compatible. Until such time, I'm forced to say that you're a complete idiot, trolling...

      Pathetic, dumbass troll...

    56. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      Tell me where Intel has ever claimed it is their job to certify compatibility of non-Intel CPUs and then I'll admit you *may* have some ground to stand on

      Put your money where your mouth is and tell me where Intel has ever claimed that their software supports non-Intel hardware and then I'll admit you may have some ground to stand on.

      While you are at it, tell me where Intel has prevented anyone from using the documented CPU dispatch functionality to force execution of any compiler output on any cpu whatsoever.

      Pathetic, dumbass troll...

      Impressive, it only took you 10 days to learn how to spell "pathetic." You have clearly demonstrated your top-notch credentials with that move!

      --
      When information is power, privacy is freedom.
    57. Re:It's true--and they know about it by GooberToo · · Score: 1

      Put your money where your mouth is and tell me where Intel has ever claimed that their software supports non-Intel hardware and then I'll admit you may have some ground to stand on.

      What a fucktard. I don't have to. All I have to say is that Intel claims to support Intel CPU's. Period. Get this in to your stupid, pea sized brain. AMD IS AN INTEL COMPATIBLE CPU! THEY DO NOT REQUIRE INTEL TO CLAIM COMPATIBILITY. AMD CLAIMS COMPATIBILITY. IF AMD IS NOT COMPATIBLE, THEN THAT'S AMD FAULT, NOT INTEL'S! PERIOD!

      Intel has purposely executed slower code paths for all non-Intel CPU's. That can damage alternate CPU vendor's performance reputation. Period. That's their case. Period. Any alternate angles you seem to be smelling is the oder from your ass.

      Anyone that gives a rat's ass about spelling in this type of environment is completely worthless. Deep down, you know it. Look at the environment. You think for a second I'm trying to impress you? What a fucktard! You can either walk away know the facts and the truth or you can ignore it and make pEthetic excuses. LOL. It's up to you.

      Yes, it took 10-days to reply because I have a life and am not a complete loser such as your self.

      What a worthless fucktard you are. This is the last reply you will get from me. If you're too stupid to understand why you are a dumb, stupid, troll, with a fucktard brain at this point, then it's obviously true. Think about it.

    58. Re:It's true--and they know about it by Jah-Wren+Ryel · · Score: 1

      All I have to say is that Intel claims to support Intel CPU's. Period. Get this in to your stupid, pea sized brain. AMD IS AN INTEL COMPATIBLE CPU!

      Clearly you fail to understand the very simple fact that:

      Intel != Intel compatible

      Pull your head from your ass and figure out what the case is about. Your idiotic tangents have nothing to anything.

      You sound like, "blah..blah...compatible....blah...blah...ass...bl ah...troll"

      --
      When information is power, privacy is freedom.
  16. Intel's optimizers assume... by Anonymous Coward · · Score: 1, Funny

    ...broken floating-point units and shabby multiple execution contexts. This leads to less-than-ideal optimization on well-designed architectures. AMD was advised several years back that they would need to come up with some shittier designs if they wanted to take advantage of Intel's optimizations. Shame on AMD for not making a crappier CPU.

  17. This is not news by multipart · · Score: 2, Informative

    Anyone following the GCC maining lists knows this. It has come up many times there in the past few years.

    1. Re:This is not news by Anonymous Coward · · Score: 0

      Most of us have better things to do than fanatically follow the gcc mailing lists. Perhaps you think everyone should go to every new-worth event in the world to experience it for themselves? Because seeing things in the first person is the only way for it to really be news. Idiot.

  18. Regulators Raid Intel Offices by dsginter · · Score: 4, Informative

    In other news...

    They'll probably be convicted and then buy the regulators like MS so they only get a slap on the wrist.

    On that note, was there *anything* negative that came of the Microsoft monopoly ruling?

    --
    More
    1. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 5, Funny

      On that note, was there *anything* negative that came of the Microsoft monopoly ruling?

      Well for starters, Microsoft is still here.

    2. Re:Regulators Raid Intel Offices by almeida · · Score: 1

      was there *anything* negative that came of the Microsoft monopoly

      You mean besides there software, right?

    3. Re:Regulators Raid Intel Offices by almeida · · Score: 2, Informative

      Their! I meant their, not there! My apologies to grammar Nazis everywhere.

    4. Re:Regulators Raid Intel Offices by Anna+Merikin · · Score: 2, Interesting

      One might call the dropping of the price of MS's stock from above $120 to $20 within weeks of the judgment a negative result.

    5. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 0

      Vee vill lhet it pass dis time. Now move along, and don't let it happen again.

    6. Re:Regulators Raid Intel Offices by 'nother+poster · · Score: 1

      Or maybe not. Depends if you were wanting to buy or sell.

    7. Re:Regulators Raid Intel Offices by Shakrai · · Score: 1

      On that note, was there *anything* negative that came of the Microsoft monopoly ruling?

      Lots of stories and comments on Slashdot and whatever shread of respect they might have had left amoung the geek community.

      Of course I don't know if that counts for anything or not.

      --
      I want peace on earth and goodwill toward man.
      We are the United States Government! We don't do that sort of thing.
    8. Re:Regulators Raid Intel Offices by smittyoneeach · · Score: 1, Funny
      was there *anything* negative that came of the Microsoft monopoly ruling?
      I happend to know a MicroSoftie (of the Sales persuasion) in an extra-curricular setting, and he is always a hoot.
      In particular, his correlation of the bursting of the .com bubble with the Jackson anti-trust molestation^Wruling really made me go "hmmmm".
      Verily, the kool-aid of Redmond: tasteth it not of milk and honey?
      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    9. Re:Regulators Raid Intel Offices by Deliveranc3 · · Score: 2, Interesting

      But there is another company howling for their blood and ready to replace Intel with a more ethical approach.

      AMD will probbaly be sued into oblivion :P

    10. Re:Regulators Raid Intel Offices by Shadow+Wrought · · Score: 1
      Verily, the kool-aid of Redmond: tasteth it not of milk and honey?

      I am so stealing this for my .sig. Thanks!

      --
      If brevity is the soul of wit, then how does one explain Twitter?
    11. Re:Regulators Raid Intel Offices by bioglaze · · Score: 1

      You fail.

      --
      Who is John Galt?
    12. Re:Regulators Raid Intel Offices by MynockGuano · · Score: 3, Funny

      Vee vill lhet it pass zis time. Now move along, and don't let it happen again.

    13. Re:Regulators Raid Intel Offices by rv8 · · Score: 4, Informative

      One might call the dropping of the price of MS's stock from above $120 to $20 within weeks of the judgment a negative result.

      And when would this dramatic stock price drop have happened? The data I can find doesn't show this at all. Stock price history. Be sure to consider the effect of stock splits too.

      --
      Kevin Horton
    14. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 0

      Eye ecksept you're appollogy.

    15. Re:Regulators Raid Intel Offices by StupidHelpDeskGuy · · Score: 1

      And how many people reading slashdot from work right now be out of a job with our friends in Redmond? The grass is always greener my friend.

    16. Re:Regulators Raid Intel Offices by krgallagher · · Score: 0, Offtopic
      "And the men who hold high places Must be the ones to start To mould a new reality Closer to the heart"

      Rush 2112 rocks!

      --

      Insert Generic Sig Here:

    17. Re:Regulators Raid Intel Offices by Citizen+of+Earth · · Score: 2, Interesting

      And when would this dramatic stock price drop have happened?

      There was a stock split that took the price from $120 to $60 overnight. The drop to and stagnation at the $25 range for the past few years is not the result of the DOJ ruling, but reflect the fundamentals of Microsoft's stagnating business. Indeed, if the DOJ outcome had any effect, it would be to inflate the MSFT stock price because it demonstrated that the DOJ was impotent to stop Microsoft from further abusing its monopoly position.

    18. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 0

      In particular, his correlation of the bursting of the .com bubble with the Jackson anti-trust molestation^Wruling really made me go "hmmmm".


      hmmm indeed. i've heard this justification for 'not delivering the goods' countless times in hallowed software halls, however. oh that it weren't such a platitude.

      'not delivering the goods' is the reason for the bubble-burst.

    19. Re:Regulators Raid Intel Offices by theshowmecanuck · · Score: 1
      You were right the first time: there - meaning not only a place, but also refering to something 'in the matter of'. example: Were there any ramifications to the ruling... etc.

      'Their' is possessive. Something belongs to them... it is theirs; their car; etc.

      --
      -- I ignore anonymous replies to my comments and postings.
    20. Re:Regulators Raid Intel Offices by Namlak · · Score: 1

      Yes, much stricter license enforcement through such mechanisms as Product Activation and the Genuine Windows programs.

    21. Re:Regulators Raid Intel Offices by xswl0931 · · Score: 1

      The subsequent drop of MS share price is in line with the over drop of the entire stock market.

    22. Re:Regulators Raid Intel Offices by nEoN+nOoDlE · · Score: 1

      that had to be a code for something.

      --
      Don't trust a bull's horn, a doberman's tooth, a runaway horse or me.
    23. Re:Regulators Raid Intel Offices by almeida · · Score: 1

      'Their' is possessive. Something belongs to them... it is theirs; their car; etc.

      You mean like "Microsoft's software"? That's what I meant, which is why "their" is correct.

    24. Re:Regulators Raid Intel Offices by Swanktastic · · Score: 0

      EU anti-trust regulators have developed the reputation of being much stricter than US regulators towards ALL parties, not simply in the Microsoft cases. Quite a few people feel that the EU office is used to generate revenue rather than to actually enforce fair markets. I'd love to find an article, so I admit I can't back up my assertion...

      Someone else may feel free to chime in, but it does seem suspicious or, at the least, a conflict of interest that the fines go to the authorities in Europe, while they go to the competitors (treble damages) in the US?

    25. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 0

      Hi -

      Had to fire up Internet Explorer to get that site to rally work. Boo to Morningstar!

      The "Maximum" timeframe tab on that page includes the effect of splits; there aren't price halvings shown at the split indicators. Given that, notice that the stock now is still significantly below where it was in 1999. Most importantly, though, is that the shape has changes drastically; where MS was for years on a consistent growth path, since 2000 they've been relatively flat. This transistion is a very big deal, but is not unusual for companies transistioning into a mature, stable business. Or so I've read.

    26. Re:Regulators Raid Intel Offices by theshowmecanuck · · Score: 0, Offtopic

      Sorry, I was looking at the use of it in your quote of the parent post. Oops. :-(

      --
      -- I ignore anonymous replies to my comments and postings.
    27. Re:Regulators Raid Intel Offices by rsynnott · · Score: 0, Redundant

      The got fined quite a lot of money in Europe...

      --
      Me (Blog)
    28. Re:Regulators Raid Intel Offices by mr_shifty · · Score: 1

      "Closer To The Heart" is from A Farewell To Kings, not 2112. :-)

      --
      And the circle of life continues to spin, occasionally wobbling on its axis thanks to the weighty presence of dumb.
    29. Re:Regulators Raid Intel Offices by Phragmen-Lindelof · · Score: 1

      You can't win. If you mod me down, I shall become more powerful than you can possibly imagine.
      If I had mod points, I would accept your challenge. My imagination against your power. (I can imagine Yoda using the force to hold you upsidedown 10 feet above the ground for a week. I can imagine G.W. Bush giving you elocution lessons. I can imagine J. Danforth Quayle giving you spelling lessons.)

    30. Re:Regulators Raid Intel Offices by Anonymous Coward · · Score: 0

      Early 2000, when it finally became undeniable that Microsoft was going to lose the case and there would be no deal, MSFT lost about 20 points over a couple of days, then slid another 20 points over a couple of weeks.

      Your chart doesn't quite go back far enough, 5 years would have caught it earlier in the year, but now you have to go to maximum length.

    31. Re:Regulators Raid Intel Offices by Panaflex · · Score: 2, Insightful

      Someone else may feel free to chime in, but it does seem suspicious or, at the least, a conflict of interest that the fines go to the authorities in Europe, while they go to the competitors (treble damages) in the US?

      As far as I know, the European laws are designed to protect the Public. Therefor, the "public" - through the form of its government, receives the damages. Correct me if I'm wrong here though.

      --
      I said no... but I missed and it came out yes.
    32. Re:Regulators Raid Intel Offices by sillybilly · · Score: 1

      Can't you smell sarcasm? Like half billion dollar injunctions in the Ford Pinto case, yeah, I tell you, they sure do work on regulating corporate behavior. They just appealed and the sentence was reduced to a few cents, by a more 'reasonable' jury.

    33. Re:Regulators Raid Intel Offices by ThaReetLad · · Score: 1

      You stole my .sig!!! You'll be hearing from my lawyers

      --
      You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
    34. Re:Regulators Raid Intel Offices by denmarkw00t · · Score: 1

      On that note, was there *anything* negative that came of the Microsoft monopoly ruling?

      How about Mircrosoft releasing another version of Windows XP? Thats what I always wanted to see. At least they haven't released Windows ME 2005 XP Pro Corporate Web Edition with Microsoft Plus! ... I'm sure I'm missing some copyright information, hope I don't get sued next

    35. Re:Regulators Raid Intel Offices by intangible · · Score: 1

      Maybe he just REALLY liked 2112.

    36. Re:Regulators Raid Intel Offices by PsiPsiStar · · Score: 1

      And how many people reading slashdot from work right now be out of a job with our friends in Redmond?

      Out of a job? How do you figure?

      I mean, ignoring for a moment whether the anti-trust trial was fair enough and focusing on your claim that destroying MS would put slashdotters out of a job;

      The only reason I use Microsoft is that Linux has poor driver support and because everyone uses MS Office and other programs don't tend to play nice with MS Office. If you destroyed MS, other companies would scramble to give Linux better driver support and open standards would no longer be a problem.

      --

      ___
      It's the end of my comment as I know it and I feel fine.
  19. Tricky.. by mfloy · · Score: 1

    That is some very devious work on Intels part. On the other hand, I can see from an Intel perspective how if they write the compiler, they can make it do as they please. AMD needs to come out with their own that slows down Intel chips!

    1. Re:Tricky.. by atari2600 · · Score: 1

      That would be a very very stupid thing to do. An analogy would be "a dog bit me - i am going to bite the bastard dog right back"!

    2. Re:Tricky.. by mfloy · · Score: 1

      If everyone involved had a certain level of class, then yes I agree, but the IT business has become a very cut-throat business. I seriously doubt Intel is the only company crippling competitors, so I think to survive companies need to attack or be attacked. Is it right? Oh course not, but it does seem to be necessary.

  20. I do that ... by Anonymous Coward · · Score: 5, Funny

    In version 1.0 of my software, I always throw in some loops that just count to a million to throw in some delays. That way you can include "optimization" as a deliverable for version 2.0.

    profit!

    1. Re:I do that ... by R3d+M3rcury · · Score: 1

      Actually, I just use -O0. This way, code reviewers don't find 'em... :^)

    2. Re:I do that ... by Anonymous Coward · · Score: 0

      And how long have you been employed at IBM ?

  21. In other news... by kryptx · · Score: 2, Funny

    Microsoft has alleged that the gcc compiler is deliberately designed so that programs compiled with it do not run as efficiently under Windows as they do under Linux.

    --
    Mods: Do you disagree with me? Go ahead and mod me down. Meta-mods will sort it out. Good luck!
    1. Re:In other news... by nagora · · Score: 1
      Microsoft has alleged that the gcc compiler is deliberately designed so that programs compiled with it do not run as efficiently under Windows as they do under Linux.

      You might have had a point if that was true.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  22. And in other news... by h2d2 · · Score: 2, Funny

    ...Microsoft alleges that Linux boxes emit gamma rays that keeps Windows boxes getting blue screens!

    ...Yahoo! alleges that Google Toolbar alters it's search results to include irrelevant pr0n pages!

    ...Cingular alleges that T-Mobile customer service reps prank call their support line during free time, resulting in shitty service!

    (add your own...)

    --
    Mozilla stole tabs from NetCaptor. So what? Right?
  23. It's called good business by Anonymous Coward · · Score: 0, Troll

    so what if intel compiliers do that? it's the INTEL compilier. first of all, of course code compiled on the INTEL compilier is going to run fastest on intel chips b/c intel knows the inner workings of their chips better than they'd know AMDs. why spend all the money for R&D to learn AMDs chips to make a free compiler who's sole purpose in life is speed up processes on intel chips.

    nobody is stopping AMD from making a free compiler that does the same thing.

    STFU AMD, and ante up.

    1. Re:It's called good business by cens0r · · Score: 4, Informative

      That's not what AMD is saying. RTFA. AMD is saying that their chip will run the same binary code produced for the Intel chip. They are saying that Intel deliberately creates substandard code when it detects and AMD chip.

      --
      Jack Valenti and Orrin Hatch will be first up against the wall when the revolution comes.
    2. Re:It's called good business by Anonymous Coward · · Score: 0

      i know exactly what AMD is saying.

      AMD is a business, too. they don't do anything for the good of the people--they do everything for the good of their stockholders.

      they see that they can sue INTEL and make them write a compiler optimized for their processors too, cheaper than they can write their own compiler and give it away free (like intel does).

      nobody requires anybody to use the INTEL compilier.

      btw, who in their right mind would use the INTEL compiler when they're writing programs intended for AMD platforms? that just doesn't make sense.

    3. Re:It's called good business by man_of_mr_e · · Score: 1

      But is it really? Or is it only using optimized code on Intel chips, and using non-optimized code on everything else (which happens to include AMD chips)?

      There's actually a very big distinction. One is a deliberate torpedo, the other is merely optmizing only for their own platform.

    4. Re:It's called good business by Anonymous Coward · · Score: 0

      It's called good business

      Well, Intel calls this sort of thing good business.

      The U.S. government calls this sort of thing illegal restraint of trade, then proscecutes it.

      Well, or at least, the U.S. government called it this starting around 1900 and continuing until 1980, when suddenly corporations somehow gained the divine right to do whatever they wanted regardless of the law or consequences for others. However, there are still countries in the world who believe that there should be such a thing as "illegal anticompetitive actions", or who understand that what is "good business" for Intel may not be what is good for "everyone in the world except Intel". If the U.S. decides that "good business" for Intel is more important than a healthy competitive economy, Intel will still have to do business in those other countries...

    5. Re:It's called good business by Anonymous Coward · · Score: 0

      You need to correct your signature i'm afraid to:

      Jack Valenti and Orrin Hatch were first up against the wall when the revolution came.

      Your's sincerely, John Titor

    6. Re:It's called good business by cens0r · · Score: 1

      But when there optimizations work fine on the AMD chips, I call it a deliberate torpedo. At worst they should print a disclaimer in their documentation about this fact, and have a compiler switch to turn the optimized code on and off.

      --
      Jack Valenti and Orrin Hatch will be first up against the wall when the revolution comes.
    7. Re:It's called good business by Anonymous Coward · · Score: 0

      According to the article, it's specifically stepping out of the way to deoptimize the calls and piping when 'Authentic AMD' is detected.

    8. Re:It's called good business by man_of_mr_e · · Score: 1

      No, a deliberate torpedo is when you test specifically for an AMD chip, then execute code specifically for the AMD chip to make it run slower. What appears to be the case is that Intel is only optmizing for their chips.

      That's a different thing.

    9. Re:It's called good business by cens0r · · Score: 1

      But they aren't documenting this first of all. Which they should be required to do. And since the AMD chip and the Intel Chip are BINARY COMPATIBLE, it makes absolutely no sense to do what they are doing UNLESS THEY ARE DELIBERATELY TORPEDOING THE COMPETITION.

      The caps seemed like a good idea at the time :)

      --
      Jack Valenti and Orrin Hatch will be first up against the wall when the revolution comes.
    10. Re:It's called good business by Chirs · · Score: 1

      The problem is that all these extra features have flags which indicate their existance. This is because Intel itself has different chips that support different extensions.

      If an AMD chip says that it supports SSE2, and the Intel compiler refuses to run SSE2 code on it, then that's a deliberate torpedo.

    11. Re:It's called good business by man_of_mr_e · · Score: 1

      Apart from the fact that the Intel and AMD chips aren't 100% binary compatible (There are features in both that don't exist in the other, though their overlap is in the high 90%), just being binary compatible doesn't make them functionally compatible.

      Things like pipeline length and branch prediction are different for both processors, which means that if you order the instructions to optimize performance for one, it's possible that you're creating a pipeline stall that decreases performance in the other.

      While Intel *COULD* do extra work to make sure their compiler optimizes code for every processor out there, why should thet?

    12. Re:It's called good business by man_of_mr_e · · Score: 1

      No, it's not a deliberate torpedo unless it specifically targets that specific CPU.

      Let me ask you a question. What if, next week, AMD or VIA or anyone else, released a chip that claimed SSE compatibility but had a flaky implementation. There would be no way for code compiled earlier to know about this flaky implementation and avoid it. Intel is making sure that they only support Intel CPU's with their optmizations because they can't control anyone else.

      While i'm not saying it's a great justificaiton, it is one that (not matter how shaky) holds some credence.

      All intel has to do is prove a valid technical reason for this, and I can think of a lot of technical reasons that would stand up. The fact that it's beneficial to them as well is the holy grail: A technical AND business reason to limit your competition.

      It's not like Intel's compiler is the only compiler out there either. It's not like it's even the dominant compiler in the market. I can't see how any court would compel them to optimize for AMD's chips.

    13. Re:It's called good business by man_of_mr_e · · Score: 1

      I think that's creative writing on the part of AMD's lawyers. They don't really give any real evidence in their complaint, and "detected an amd chip" could mean "didn't detect an intel chip"

    14. Re:It's called good business by gnasher719 · · Score: 1

      You don't give evidence in your complaint. You put accusations into your complaint, the evidence comes separate. Some evidence you may not even have. For example, AMD would be likely to question the compiler engineers about their reasons why their compiler produces the code that it produces, and since lying means doing time in jail, these engineers will most likely tell the truth.

    15. Re:It's called good business by Magic5Ball · · Score: 1

      There's a big difference between checking for non-Intel chips and checking for AMD chips. According to this:http://www.swallowtail.org/naughty-intel.html (from another thread), the compiled code branches to SSE* instructions if it detects GenuineIntel, or to generic 386 instructions if it doesn't detect GenuineIntel. If this is the case, the compiler doesn't act specifically against AMD, but rather generates code that performs poorly on non-modern Intel processors.

      --
      There are 1.1... kinds of people.
  24. Instruction timing??? by geneing · · Score: 1, Insightful
    Even if Intel compiler generated the same code independent of the processor, wouldn't code optimized for Intel processor be suboptimal on AMD?

    I thought that instruction timings, number of pipelines etc are different on amd, so code that's best for intel won't be best for amd.

    1. Re:Instruction timing??? by Anonymous Coward · · Score: 0

      Did you see the post labeled "It's true--and they know about it" above? He explicitly told the compiler to compile for Pentium 4, and the AMD system ran it no problem, perhaps faster than a Pentium 4 would.

    2. Re:Instruction timing??? by mfago · · Score: 1

      It would be acceptable -- and expected -- for icc to not optimize specifically for AMD processors. However it appears that icc is going the extra step and intentionally producing poor code when it detects "Genuine AMD."

      I can understand why Intel would do such a thing (a processor is useless without a decent compiler -- just look at Itanium), but it will not win them any good will.

    3. Re:Instruction timing??? by gstovall · · Score: 1

      Intel's IPP (Integrated Performance Primatives) librares, a very, very nice set of libraries, does processor detection to select which version of the library to run. There are versions for every class of Pentium chip ever built. When an AMD chip is detected, IPP runs the lowest performance library available. If "tricks" are used to force the IPP library to run the P4 version of the libray, the AMD chips run the libraries faster than the P4 does.

      Frankly, this is Intel's perogative, since Intel produced the compiler, and they really have no responsibility to help a competitor. However, it is interesting that the AMD chips run Intel's own libraries better than Intel chips do.

    4. Re:Instruction timing??? by phasm42 · · Score: 1

      I think it's more likely that it goes something like this:
      If (Intel) {
      Optimized code
      } else {
      386 compatible code
      }

      I doubt that AMD's code is any worse than the generic x86 code output. This isn't to say that it would be hard for them to optimize for AMD -- it would probably be quite easy, but in reality it's probably just spitting out generic x86 compatible code (no special instruction optimizations) if a non-Intel CPU is detected.

      --
      "No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
    5. Re:Instruction timing??? by slavemowgli · · Score: 1

      It's not about a lack of optimization, though, or about code that will not run as fast because it's optimized for another architecture - it's about code that is (seemingly) deliberately crippled to run slower than what even a novice Assembler programmer would write.

      Using rep movsb (byte-wise copy) instead of rep movsd (dword-wise copy) for the implementation of memcpy, which was mentioned in another comment above, is a good example of this. Unless one believes that the programmers Intel had working on that particular piece of code were so incompetent they didn't even know about the latter variant (which is not only faster, but works on *any* modern processor, so compatibility is not an argument), it's hard to conclude anything except that Intel deliberately pessimized the code used for AMD processors.

      --
      quidquid latine dictum sit altum videtur.
    6. Re:Instruction timing??? by jZnat · · Score: 1

      Both the Penitum 4 and the AMD64 follow relatively the same architecture. They both support MMX, SSE, and SSE2 assembly instructions. Code optimised for the P4 should be just as optimised for the AMD64 due to the same support. However, it may have better performance on one or the other depending on which chip has a better implementation of MMX, SSE, or SSE2, or even the x86 architecture.

      --
      'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
    7. Re:Instruction timing??? by WhiteWolf666 · · Score: 5, Informative

      Yes, and no.

      No, if it was using proprietary 'processor specific improvements (TM)'.

      However, it is *not*.

      The real answer (not Intel's answer), is Yes, because Intel's compiler (which is widely regarded as producing some of the fastest binaries out there) produces code that will only take advantage of standard processor extensions (MMX, SSE, SSE2, SSE3) on 'Genuine Intel' Processors. Regardless of whether or not AMD processors support these extensions, the code excutes in slower, emulation mode if it does not detect 'Genuine Intel'.

      When you 'fake' the compiler out by having all processors return 'Genuine Intel', the compiler generates code that will utilize standard extensions that it recognizes (everything but 3DNow, and 3DNow-2), on *any* processor that supports them.

      This means your athlon will run SSE code, and your athlon 64 will run SSE,SSE2, and SSE3 code.

      Not to mention MMX code, which Intel even disables for non-Pentium 4 Intel processors, even though Intel processors have supported MMX since the Pentium MMX!

      This kind of manipulation is clear, and the only purpose is to portray the Pentium 4 as superior, and both older Intel processors and all AMD processors would appear siginificantly faster if the compiler simply utilized whatever extensions where avaliable (on the order of 10-40% for some programs) rather than relying upon the 'Genuine Intel' flag.

      Intel *is* a monopoly, and although it is not illegal for a monopoly to exist, monopolies, under current U.S. law, are not permitted to use predatory tactics, especially when going from one market to another (compilers->processors).

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    8. Re:Instruction timing??? by tomstdenis · · Score: 2, Interesting

      Why are you surprised? AMD has the higher IPC/MIPS design.

      Though in this case the solution is simple. Don't buy Intel, don't use ICC. Usually on my P4 I can trick GCC [-fno-regmove comes up] to getting similar performance as ICC v8.

      Even then, ICC has good schedulers but performs fewer higher level optimizations. So GCC is usually better in that respect.

      Tom

      --
      Someday, I'll have a real sig.
    9. Re:Instruction timing??? by barawn · · Score: 1
      Regardless of whether or not AMD processors support these extensions, the code excutes in slower, emulation mode if it does not detect 'Genuine Intel'.

      An important note here is that it's not like you can say "well, Intel can't be forced to know what their competitors implement or don't implement".

      You're not supposed to check the vendor ID string to determine whether or not feature sets exist. If you want to know if a processor supports MMX, it's just
      mov eax, 1 ;We want to use the value 1 as our argument
      cpuid ;call the cpuid instruction
      shr edx, 23 ;shift right 23 times
      and edx, 1 ;'and' out the 1st bit
      cmp edx, 0 ;compare the result with 0
      je err ;If it's zero this feature's not supported
      ;Other wise continue
      mov eax, 1
      ret
      (blatantly stolen from http://www.gamedev.net/reference/articles/article1 207.asp)

      This isn't about instruction timing, which sure, they can't be expected to find out about. But these are standards that they themselves published, and they are blatantly ignoring those standards. In fact, they're going out of their way to ignore those standards - it's a lot more effort to check the vendor ID string than just to compare a single bit in the CPUID register.
    10. Re:Instruction timing??? by Anonymous Coward · · Score: 0

      Whitewolf, You should update your sig & your journal.

      Sveasoft has finally released Talisman to the public at large. I don't appreciate the looong time it took him to release it either (& refused to pay him giving that I wasn't sure that he'd give back to the community), but he did finally come through.

  25. This is old news, however Intel EU raid today... by Jarnis · · Score: 5, Informative

    The submission is old news. Anyone who read the earlier AMD antitrust documentation knew about this claim. It's among the things Intel has done to drive AMD to dirt.

    However, what's news, is that EU antitrust investigators raided Intel and some OEMs today...

    http://theinquirer.net/?article=24554

    They probably were hunting for some documents related to alleged antitrust violations - nice free additional ammo for AMD and their case, methinks...

  26. It is semi true by Anonymous Coward · · Score: 1, Informative

    It is true but the article is misleading.

    It does not target AMD negatively, but rather targets Intel positively. There is a huge difference.

    When the compiler runs into a "genuine Intel" CPU it knows exactly how to compile the code paths to get the maximum performance. When it compiles everything else it needs to take the "safe" route and compile it as best it can (sometimes not very good at all)

    Not a deliberate attack on AMD but rather a boost one would expect from a company that is providing a compiler and CPU's.

    Wouldn't you expect an AMD compiler to take advantage of EVERY possible tweak it could to make code compiled for AMD processors run faster? Why call Intel the devil for doing the same thing?

    1. Re:It is semi true by Calyth · · Score: 1

      The problem isn't simply knowing how to comile the code paths for maximum performance in Intel, and taking the safe route, but in another thread it has been shown that it would deliberately not use SSE and other features that are available in AMD processors, as part of the agreement that AMD and Intel share some of these things. Why would you think AMD would be allowed to impement SSE and Intel AMD64 extensions?

    2. Re:It is semi true by javamann · · Score: 0, Troll

      Wow, what color is the sky in your world? You live in a Red state don't you?

    3. Re:It is semi true by man_of_mr_e · · Score: 1

      I don't really see how Intel can be responsible for optimizing their compiler to their competition. Lack of optimization (and SSE is an optimization) is not the same thing deliberately torpedoing (which they might be doing as well, but I haven't seen any evidence of that).

      I don't see how Intel has any compunction to optimize for non-intel processors, though certainly it would make their compiler better if they did.

    4. Re:It is semi true by Anonymous Coward · · Score: 0

      BUT...

      Lets say, that the Intel compiler doesn't use SSE or SSE2 on an AMD chip even though everybody knows it's there (you and I know it's there, GCC knows it's there, and Intel definitely knows it's there), but it uses SSE and SSE2 on an Intel chip, that would be unfair.

      I must admit, as much as I like AMD, I am a little weary of what they're trying to do to Intel. But if they're claims are real, I'd say they are justified.

    5. Re:It is semi true by Anonymous Coward · · Score: 1, Interesting

      Actually the current Intel compiler (The one AMD is complaining about) is optimized for Intel P4 processors.

      It either compiles for a P4 or for x86. Since AMD falls into the category of "other" it uses a different memcpy which takes a lot longer. (roughly 2x - 4x as long).

      This enables the "other" code to run in basically any 286+ x86 processor but makes P4 code fast.

      It is not anti-competitive so much as not suited for the task of compiling not P4 targeted code.

    6. Re:It is semi true by Tassach · · Score: 1
      From what I've read so far, it does look like they're intentionally torpedoing AMD chips. They do this by having the generated code look at the manufacturer field, rather than the feature flag, to determine whether or not to use a feature like SSE. An AMD chip will correctly report that it supports SSE, but code from the intel compiler won't honor the flag if it's a non-intel chip. EG, their own published standard calls for something like this:
      if (SSE_FLAG == TRUE) { sse_optimized_code() }
      else { unoptimized_code() }
      What their compiler generates is:
      if (SSE_FLAG == TRUE && CPU_TYPE == "Genuine Intel" ) { sse_optimized_code() }
      else { unoptimized_code() }
      If the code requires feature X, the only thing the code should check is the relevant feature flag. The manufacturer is irrelevant, only the reported capabilities matter.
      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    7. Re:It is semi true by drsquare · · Score: 2, Interesting

      In that case, how come when the compiler is tricked into thinking it's running an Intel processor when really it's AMD, the performance increases?

      This is obviously nothing to do with the advantages of the processor. The only possible answer is that Intel is deliberately generating poor code for AMD's processors, in order to hamper their competitor. This is inexecusable.

    8. Re:It is semi true by Anonymous Coward · · Score: 0

      Another one that misses the point.

      Predatory would be giving shit code when and AMD CPU is detected.

      That IS NOT the case. The case is giving special code when an Intel CPU is detected.

      As I have said a couple places, Intel's compiler will make code for only two CPU's.

      P4 and X-86.

      AMD falls into the X86 category so gets the slow compatible code. Predatory, not in the least, completely asshoelish on the part of Intel, absolutely.

    9. Re:It is semi true by man_of_mr_e · · Score: 1

      That's still not a deliberate torpedo. That's optimizing only for your CPU and not optimizing for everyone else. It would be different if they specifically checked for the AMD processor flag and executed special (very poor) code than that of generic processors.

    10. Re:It is semi true by Tassach · · Score: 1
      That's still not a deliberate torpedo
      I disagee. It is a deliberate torpedo, because the CPU manufacturer is irrelevant as to whether or not a feature is supported -- only the feature flag matters. If you deliberately check for an irrelevant factor that automatically cripples performance on competing CPUs, you're torpedoing them.

      Checking for the FDIV bug would be a valid reason for generating different code for AMD and Intel cpus, because only (some) intel processors have that "feature". Automatically assuming *all* intel cpus have the FDIV bug would not be valid.

      Checking for the ht (hyperthread) flag would be a valid distinction between AMD and Intel, because only Intel has that feature, IF the presence or absence of hyperthreading is relevant to the code path selected. Using the absense of ht to force non-ht processors down an unoptimized code path that is not affected by hyperthreading is not valid.

      Intel not supporting 3dnow in their compiler would be valid because none of their processors have it. Using the presense of the 3dnow flag to do (or not do) something would be invalid, because it's completely irrelvant to any of their processors.

      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    11. Re:It is semi true by budgenator · · Score: 1

      I would expect that if I compile code for a target machine of -686, that the same code path would be followed on any 686 class cpu. differences between mmx, sse, and 3dnow are to be expected but not generic 686 code

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    12. Re:It is semi true by man_of_mr_e · · Score: 1

      That's just it. There *ARE* differences. The P4 and Athlon have different pipeline lengths, therefore significant performance improvement (or loss) can happen strictly by the way instructions are ordered. There's no such thing as a 'generic 686' CPU other than the original Pentium Pro anymore.

      But all that aside, if you were to specify generic 686, one would assume it wouldn't use *ANY* specific registers like MMX or SSE. All you would be doing is removing the P4 optmizations entirely.

    13. Re:It is semi true by man_of_mr_e · · Score: 1

      Is the CPU manufacturer irrelevant? What if the manufacturer claimed support of a feature, but it was flawed or incomplete?

      I'm not saying AMD is like that, but Intel can't control it's competitors. If Intel wants to generate "safe" code that can't possibly cause problems, they can only optimize for CPU's they are certain fully implement the features, and fall back to default for everyone else.

      There are technical differences between AMD and Intel CPU's. That much alone is enough for Intel to justify wanting to optimize only for their own chips. The claimed presence of a given feature is irrelevant to that. What if next month AMD decides to "extend" SSE in an incompatible way?

      Inte's compiler is not the dominant compiler on the market. If it were, AMD might have a point. Maybe. But since it's not, I can't see how it matters.

    14. Re:It is semi true by budgenator · · Score: 1

      The point is that the executable generated by the compiler for -686 w/o any MMX or SSE will execute different sections of machine code based solely on whether it's being executed by a pentium pro or an AMD such as if "Genuine Intel" move double word once, else move byte 4 times.
      if Intel is moving double words 25% faster than AMD good for them but they are saying we move faster than amd, but they are really comparing one double word move to 4 interations of a byte move on the AMD.
      I'm fine with one chip's pipeline being more efficient, or out-of-order algorythms being better or worst, that's honest competition

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    15. Re:It is semi true by man_of_mr_e · · Score: 1

      No, what Intel is saying is that if you are an intel processor, we know we can move double word. Everyone else (including 386's, 486's, Transmeta's, Via C3's, etc..) we don't know that. And what about CPU's that don't exist yet, but still need to run the code?

      Could Intel have specifically checked for Athlon's? probably. But they're really under no requirement to do so.

    16. Re:It is semi true by Calyth · · Score: 1

      http://www.swallowtail.org/naughty-intel.html
      I'm going to go through this article. Looks awfully interesting.
      There's a line between not optimising the competition, and torpedoing the competition.

    17. Re:It is semi true by budgenator · · Score: 1

      If Athlons couldn't execute standard -686 opcodes properly, I'd expect Intel would be screaming the news from the roof tops.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
  27. Send that to AMD's legal team! by Anonymous+Custard · · Score: 3, Insightful

    Wow... that's a great example, and you should gather as much evidence of it as you can, especially Intel's responses, and send it to AMD's legal team.

    MOD PARENT UP

    1. Re:Send that to AMD's legal team! by Anonymous Coward · · Score: 0

      I don't mean to jump in, but does 'competition' require that the company in the 'lead' has to help their competitor by seeing whether their software works too? or just say, if its this processor by us do this, else, do it very basically to get it done and not care?

    2. Re:Send that to AMD's legal team! by mike260 · · Score: 2, Informative

      I can see where you're coming from, but this isn't just a case of not caring how code performs on your competitors hardware. A byte-by-byte memcpy on x86 is basically insane, and can only be described as willfully crippling non-intel CPUs.

    3. Re:Send that to AMD's legal team! by irieken · · Score: 2, Insightful

      It is one thing to not help a competitor, but to go out of your way to set them back is unethical. In this case, it appears that Intel programmed its compiler to give a non-Intel chip memcopy instructions that are far below the minimum standard of any chip capable of running current X86 code.

    4. Re:Send that to AMD's legal team! by Anonymous Coward · · Score: 0

      But this altenate code path can run on any x86 chip. Isn't that what compatibility is useful for? So you can either have it run anywhere like it is, or build/find/use another compiler to make your amd chip work better?

    5. Re:Send that to AMD's legal team! by Anonymous Coward · · Score: 0

      Wait, what bizzaro world are you from? You think it's unethical to willfully set back a business competitor?

      Remind me to never hire you for, well, _anything_ other than maybe running some hippy commune's toilet division, idiot.

    6. Re:Send that to AMD's legal team! by Anonymous+Custard · · Score: 2, Insightful

      But this altenate code path can run on any x86 chip. Isn't that what compatibility is useful for?

      The original code path can run on any x86 chip! Why was an alternate code path even created? Now, if the check said "if thiscpu_mmx_enabled == true, then use fast mmx path, else use slow non-mmx path" then it'd be a legitimate optimization with built in compatibility.

      But the compiler doesn't care whether a chip is capable or not, it just cares that it's Intel or not.

    7. Re:Send that to AMD's legal team! by I'm+Spartacus! · · Score: 0, Flamebait

      Absolutely right. Let AMD write their own compiler. Intel has no responsibility to help - or even not hinder - AMD.

      --
      "War is God's way of teaching Americans geography." -- Ambrose Bierce
    8. Re:Send that to AMD's legal team! by hackstraw · · Score: 4, Insightful

      Wow... that's a great example, and you should gather as much evidence of it as you can, especially Intel's responses, and send it to AMD's legal team.

      If I were Intel, I would respond with the product description of the Intel compiler, as found here http://www.intel.com/cd/software/products/asmo-na/ eng/compilers/clin/index.htm or here http://www.intelcompiler.com/.

      The product is clearly labeled as a high performance compiler for Intel CPUs. The grandparent used the wrong tool for the job which required a generic compiler.

    9. Re:Send that to AMD's legal team! by Anonymous Coward · · Score: 0

      Remind me never to work for you, buy anything from a company you may be affiliated with in any way or heck, even just talk to you! I might end up with your very strange idea of how to run a business.

    10. Re:Send that to AMD's legal team! by LarsG · · Score: 1

      But the compiler doesn't care whether a chip is capable or not, it just cares that it's Intel or not.

      I think that's legitimate. It is an Intel optimizing compiler. I don't really see how they have an obligation to make the emitted code work optimally on an AMD processor.

      However, deliberately pessimizing the code if an AMD is detected is something else.

      That is, I think this is ok:

      If (Intel) {
      optimized_code();
      } else
      worksonanyprocessor_code();

      But it seems like AMD claims that they do this:

      If (Intel) {
      optimized_code();
      } else if (AMD) {
      slow_code();
      } else
      worksonanyprocessor_code();

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
    11. Re:Send that to AMD's legal team! by saden1 · · Score: 1

      It doesn't but it shouldn't slow them down. That's like saying we'll generate code right for our stuff. For your stuff, well, we'll just generate bad code even though the code we generate for our stuff works for your stuff.

      If you don't know, sabotage is unlawful and I'm pretty sure won't make your argument in court if it did indeed detect AMD chips and generated poor machine code for them.

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    12. Re:Send that to AMD's legal team! by ThePiMan2003 · · Score: 1

      That is the entire point. They don't want to have to check does this chip have mmx, well what about double word alignment, etc etc. So if you are running on one of the select cpu's its optimized for its going to put out code that can run on ANYTHING, from a brand new AMD to an 8086.

      This is exactly what I would hope it would do. I don't want things the not work just because AMD wants it to be spiffy. If you aren't targeting intel processors don't use Intel's compiler.

      This is different then MS because Intel does not have a monopoly on compilers. And it is not using that monopoly to force other people to use Intel chips.

      If AMD has a problem with this maybe they should make there own compiler.

    13. Re:Send that to AMD's legal team! by Pakaran2 · · Score: 1

      So it is unlawful for Intel to sabotage their own product and sell it specifically for optimized compilation for their own chips?

    14. Re:Send that to AMD's legal team! by saden1 · · Score: 1

      I suppose in your argument they could also insert an extra for-loop that consumes an extra second or two for anything that isn't an Intel product and that'll be OK?

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    15. Re:Send that to AMD's legal team! by xenocide2 · · Score: 2, Insightful

      The irony being that if you run their "for Intel CPU" code on AMD, you also get performance benefits, implying that perhaps the optimizations are not founded in design but rather business relationships.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    16. Re:Send that to AMD's legal team! by m50d · · Score: 2, Insightful

      RTFPage you link to. The compiler "exploits the Intel® MMX technology and streaming-SIMD-extensions (SSE/SSE2/SSE3) for IA-32 processors". (My emphasis). IA-32 is the processor architecture, AMD cpus are IA-32. They have the extensions, so the compiler as advertised should produce code that exploits them.

      --
      I am trolling
    17. Re:Send that to AMD's legal team! by AK+Marc · · Score: 1

      If I as a coca-cola employee walk into a Taco Bell, and want a cup of coke instead of pepsi with my value meal, can I call legal and have Pepsi sued to include an equal amount of coke in place of pepsi with all items (and yes I know Taco Bell is no longer owned by Pepsi, it's an analogy)?

      No, it would be offering Coke and Pepsi both. Then rigging the Coke machine so that the Coke had too much or too little syrup so that the taste was bad. It was still Coke, it just was bad Coke. But the Pepsi was perfect every time.

    18. Re:Send that to AMD's legal team! by Anonymous Coward · · Score: 0

      Of course that would be ok. If they want to make a piss poor compiler, then nobody will buy it. The market will sort this out.

    19. Re:Send that to AMD's legal team! by Dun+Malg · · Score: 3, Informative
      The product is clearly labeled as a high performance compiler for Intel CPUs. The grandparent used the wrong tool for the job which required a generic compiler.

      It would be one thing if the compiler always spit out binaries that ran only on Intel CPUs and errored out when attempting to run on anything else, but it's churning out a multi-path binary that sets up all sorts of unnecessary hurdles for execution on non-Intel CPUs and sends all CPUs not returning a "genuine Intel" ID string down that path. There are already standard methods of determining whether a given CPU is SSE2 instruction compatible, and it's not done by checking the CPU manufacturer. The fig leaf of "ensuring compatibility on unknown hardware" just doesn't cover their actions here.

      --
      If a job's not worth doing, it's not worth doing right.
    20. Re:Send that to AMD's legal team! by Dun+Malg · · Score: 1
      No, it would be offering Coke and Pepsi both. Then rigging the Coke machine so that the Coke had too much or too little syrup so that the taste was bad. It was still Coke, it just was bad Coke. But the Pepsi was perfect every time.

      Also, add to it that you are Pepsico rather than Taco Bell and you are one of only two or three soda fountain makers out there.

      --
      If a job's not worth doing, it's not worth doing right.
    21. Re:Send that to AMD's legal team! by Omnifarious · · Score: 1

      This completely misses the point and is a very stupid observation. They deliberately, with forethought and malice went to extra effort make their compiler perform badly with CPUs they don't want to sell well in the marketplace. This includes CPUs from their own line as well as CPUs from competitors.

      This isn't a matter of 'supporting' someone else's CPU. This is a matter of making the extra effort to purposely cripple your software for someone else's CPU. That's not OK. If you think it is, I have a nice butt-plug, rubber suit, and rubber ball gag for you so you can wrap yourself in a nice package and submit yourself for the pleasure and abuse of a monopoly of your choice.

    22. Re:Send that to AMD's legal team! by saden1 · · Score: 1

      This is not a matter of writing poor compilers. That's not what's being discussed. When you have ~90% market share and have bought every OEM you simply can't by law do what Intel is alleged to have done which is case of corporate sabotage. Again, sabotage is unlawful.

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
  28. What's surprising about this? by stelmach · · Score: 2, Interesting

    Why is it a surprise that an Intel compiler will optimize code to an Intel chip. If they intentionally bloated the machine code for AMD processors, then that is wrong...but is it wrong for Intel to not learn the inner workings of an AMD chip and not optimize its compiler for that chip??

    1. Re:What's surprising about this? by youknowmewell · · Score: 1

      AMD claims that they have intentionally disallowed AMD chips to use the same optimizations as Intel uses. This would mean that Intel forced an artificial handicap on AMD chips.

    2. Re:What's surprising about this? by P3NIS_CLEAVER · · Score: 0

      If they advertised that they do not support AMD processors nobody would buy their compiler. Nobody would write an extra (slow) routine if the existing P4 version runs fine on an AMD processor.
      Intel clearly went out of their way to cripple AMD processors.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    3. Re:What's surprising about this? by 99BottlesOfBeerInMyF · · Score: 4, Informative

      If they intentionally bloated the machine code for AMD processors, then that is wrong.

      If you RTFA you'll see that AMD is charging (and numerous sources are confirming) that Intel did extra work to specifically make things slower when programs compiled with their compiler were run on an AMD. On previous poster even posted his two line partial fix for the issue that drastically improved code speed and which he gave to Intel while trying to solve this issue with the compiler. Basically it just tricked the compiler into always using the copy function for Intel processors. This was obviously malicious.

    4. Re:What's surprising about this? by stelmach · · Score: 1

      AMD claims that they have intentionally disallowed AMD chips to use the same optimizations as Intel uses

      Don't you suppose that the optimizations for AMD differ from the optimizations for Intel?

    5. Re:What's surprising about this? by etymxris · · Score: 1

      AMD seems to be saying that basic optimizations performed for Intel's architecture work well on AMD's processors, but that Intel's compiler adds code that avoids these optimizations at run time. In other words, Intel's compiler goes out of its way to avoid optimizing AMD's chips, when it would have been easier to be more agnostic about the processor at runtime.

      Intel's out, I guess, is that there are x86 chips that are very limited in capabilities. K8 can do most of the things 686 can do, but VIA C3 can't. So Intel can avoid checking processor ID and make code that crashes on C3s, or share optimizations with processors that support it, or only optimize for Intel chips. They chose the last option.

    6. Re:What's surprising about this? by Anonymous Coward · · Score: 0
      AMD claims that they have intentionally disallowed AMD chips to use the same optimizations as Intel uses. This would mean that Intel forced an artificial handicap on AMD chips.

      Does Intel have a monopoly on compilers? If not, who cares?

    7. Re:What's surprising about this? by youknowmewell · · Score: 1

      Perhaps they would, but why purposely exclude AMD chips from using your optimizations unless AMD chips would benefit from them?

    8. Re:What's surprising about this? by NormalVisual · · Score: 1

      It's not that it's optimizing the code for Intel chips, rather it's actively degrading the code for the AMD chips as a previous poster pointed out in a good bit of technical detail.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    9. Re:What's surprising about this? by man_of_mr_e · · Score: 1

      While that is what AMD are stating, their complaint seems to be missing some information. It states that if the compiler detects and AMD processor it does something different. It doesn't mention what it does when it detects neither a non-amd processor or an intel processor (Cyrix, Transmeta, Via, etc..) and whether that action is the exact same as when it detects and AMD processor (in other words, the complaint doesn't say if it's merely detecting intel processors and then detecting "everyone else").

      I'd really like to see the executed code for three scenarios. Intel, AMD, and VIA and see if the VIA code path is the same as the AMD one.

    10. Re:What's surprising about this? by irieken · · Score: 1

      What several programmers and computer engineers have been saying is that Intel's compiler intentionally creates binaries that give non-Intel processors very slow and unnecessary instructions (i.e. single byte memory copy instructions).

    11. Re:What's surprising about this? by rm69990 · · Score: 1

      One of the things they mentioned was support for MMX. AMD's chips support this, like Intel's, yet ICC would not compile in support for MMX on AMD's chips, therefore creating an artifical handicap for AMD's chips.

    12. Re:What's surprising about this? by 99BottlesOfBeerInMyF · · Score: 1

      What does it matter? In one case Intel is doing extra work to specifically inhibit the performance of one of their competitors, in the other case they are doing extra work to inhibit the performance of several competitors. The mere fact that they went to the effort to write an especially slow and unnecessary code path is damning enough.

    13. Re:What's surprising about this? by man_of_mr_e · · Score: 1

      Not really. Different CPU's have different word and dword boundary restrictions. I don't see any way to write code that guarantees it will work on all processors without writing it like they did.

      I'm just saying that there's a big difference between intentionally writing code that ONLY the AMD processor runs that's very poor, and writing code for everyone but Intel's processor that is poor because it's the only way to write the default code to be certain it will work today and in the future.

    14. Re:What's surprising about this? by Anonymous Coward · · Score: 0

      read it if your fucking interested.

    15. Re:What's surprising about this? by Anonymous Coward · · Score: 0

      There are paths for GENERIC IA32, pentium 4, pentium 4 sse, pentium m, etc. There is no AMD special path and it never ever checks for AuthenticAMD.

    16. Re:What's surprising about this? by budgenator · · Score: 1

      So your saying that if I'm shooting a tv commercial for volkswagon showing a 1600cc Volkswagon beetle racing a Porche 951, it would be OK to put restricter plates in the porche induction system and mixing 25% kerosene in the Porche's fuel because i wouldn't expect the Volkswagon people to understand the inner working of the Porche even though both designs are dirived from the same gut Herr Doctor Porche?

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    17. Re:What's surprising about this? by stelmach · · Score: 1

      No...I'm simply stating that I wouldn't expect Intel to go out of their way to make a compiler that optimizes code for a competitor's chip.

  29. Is this a suprise? Does AMD have a case? by cluge · · Score: 2, Interesting

    Lets see, if one looks at almost ANY software license what does one see? "This may not be suitable for blah blah blah blah we disclaimed any liability for damages.". Ever since http://www.constructionweblinks.com/Resources/Indu stry_Reports__Newsletters/Sept_18_2000/defective_s oftware.htm">
    M.A. Mortenson Co., Inc. v. Timberline Software Corp. the courts have held that if you accept the license, it's not their fault. Even if they knowingly produce a faulty product.

    Is it dirty pool - sure is. Is it illegal? That remains to be seen. AMD most certainly has a firm ground to stand on when it comes to antitrust and Intel.

    --
    "Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
  30. Let me play Devil's Advocate on this.... by curmudgeous · · Score: 2, Insightful

    IF AMD can find instances in the compiler of "if Intel then...else if AMD then..." they'll have a case. But this may just be an instance of Intel knowing best how to optimize for Intel processors.

    1. Re:Let me play Devil's Advocate on this.... by Goo.cc · · Score: 1

      Even if it is true I don't think that they have a case. There is no requirement that Intel provide good results for a competitor's product.

    2. Re:Let me play Devil's Advocate on this.... by bemenaker · · Score: 1
      Why was this marked insightful. It is bad speculation with little speculation. I am not a professional coder. I do understand systems, and I am a sys admin/consultant. I also read enough other posts here from professional developers who understand this a 1000x's better than me, and understand that there are foul things afoot here.

      the order of postins is supposed to be:

      1) Educate self on subject

      2) Post

      3) Else look ignant to the world.

      Not trying to be offensive in this one, just helpful. :)

    3. Re:Let me play Devil's Advocate on this.... by spitzak · · Score: 1

      My understanding from the other posts is that it is something like this:

      if (pentium4) {
      fast_code();
      } else {
      slow_code();
      }

      When in fact the following will work just as well:

      if (supports_sse) {
      fast_code();
      } else {
      slow_code();
      }

      Where "supports sse" returns true on pentium4, and on the AMD chips, and also on a lot of other chips, including older chips from Intel!

      I can see why they wrote it the way they did, however, and it is hard to say whether it is malicious or not.

    4. Re:Let me play Devil's Advocate on this.... by Devistater · · Score: 1

      RTFA, and some of the comments. The compiler SPECIFICALLY looks for GenuineIntel as a cpuid. If it doesnt' find it, it doesn't use mmx or sse or sse2 or sse3. Even though many processors support it. And there's a specific register to check to see if the CPU in question supports those extensions. What it SHOULD do is test to see if the CPU can support those extensions and then use them if supported. As mentioned many times in other comments, you can fool the compiler into thinking everything is an intel and then the stuff runs faster on AMD. Too many people making similar comments about "optimizing for intel" are missing the issue and have an incorrect perception about processors. An Intel or AMD cpu is not a magic black box. The way to use processors is by assembly instructions. There are instruction set extensions known as MMX and SSE and SSE2 and SSE3. These are extra instructions that help accomplish things faster that would have taken more instructions to do without them. A compiler converts an english readable language like C++ to assembly. Ideally the complier will throw in those extra instructions wherever it can to reduce the number of instructions overall and reduce the time it takes to execute. Its AMD's responsibility to ensure that standard MMX etc instructions execute fine, fast, and without error. Its the compilers responsibility to ensure that it puts in MMX instructions wherever possible. The argument is that the compiler inserts something into the .exe that checks for a intel cpu (NOT the ability to run mmx code) and wont run the mmx etc code on anything but intel cpu. Its like if you had a motherboard from nvidia, say an nforce 4 motherboard. What if it looked for the presense of an nvidia graphics card, and if so, enabled AGP 8x, fast writes, etc, but if it found an ATI grpahics card it only enabled AGP 4x etc. REGARDLESS of if the graphics card supported the agp 8x or not. Everyone can see where that would be wrong and unfair to the competition (ATI). But for some reason with CPU's its like its a magic black box and ppl cant understand wtf goes on inside it.

  31. I think by bperkins · · Score: 3, Funny

    Intel should get the death penalty.

  32. pseudocode by ohyedoggies · · Score: 2, Funny

    if(chip == AMD)
    Sleep(80);

  33. Before we damn Intel by SlayerofGods · · Score: 1, Troll

    Isn't it possible they just know their own product better and thus can create a better compiler for it?

    --

    Technology, the cause of and solution to all of life's problems.
    1. Re:Before we damn Intel by LiquidCoooled · · Score: 1

      The way I am reading this, it is a problem with the newest latest greatest compiler.
      Especially since this problem appears to have surfaced in the last 12 months, and has never been an issue before.

      --
      liqbase :: faster than paper
    2. Re:Before we damn Intel by macaulay805 · · Score: 1

      While your above statement is a valid one, here is the issue. The issue is that when you force the Intel compiler to detect the AMD Processor as a Genuine Intel Processor, then speed increases occur without problems. When the Intel Compiler detects an AMD Processor normaly, compiling the *SAME* code results in a slower execution time.

    3. Re:Before we damn Intel by Spy+der+Mann · · Score: 1

      Isn't it possible they just know their own product better and thus can create a better compiler for it?

      Or it's just that they just want to sell their own product better and thus must create a better compiler for it.

    4. Re:Before we damn Intel by tmbg37 · · Score: 1

      No, in this case their compiler was specifically turning off optimizations that work on both processors when it detected a non-Intel processor.

      --
      This comment was thought up very late at night and does not necessarily reflect my views at a more reasonable hour.
    5. Re:Before we damn Intel by WhiteWolf666 · · Score: 3, Informative

      No;

      The Compiler produces MMX, SSE, SSE2, and SSE3 optimized code, but will revert to emulation and pure integer/floating point processing if it does not detect 'Genuine Intel' and 'Pentium 4'.

      It's not a question of producing optimal code in terms of processor configuration; that's a gimme. Its a question of not even permitting competitor processors to utilize standard processor extensions, including *older* intel processors that support a partial subset of those features.

      Athlon 64s, by the way, support all of these, and operate perfectly, if they are tricked into reporting 'Genuine Intel'.

      AMD is not asking Intel to have the compiler produce code that takes advantage of the Athlon architecture; there could be different optimizations because of the Athlon's better memory architecture, or lesser penalty for misprediction, and shorter pipeline.

      No, AMD is asking that Intel not produce a compiler that intentional disables standard processor extensions for non-Pentium 4 processors.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    6. Re:Before we damn Intel by SlayerofGods · · Score: 1

      Ahh I see.
      I was thinking in terms of optimization; I didn't think Intel would initially cripple the code.

      --

      Technology, the cause of and solution to all of life's problems.
    7. Re:Before we damn Intel by m50d · · Score: 1

      One thing I wonder, since this has been going on for some time, why doesn't AMD release some processors that report themselves as being GenuineIntel?

      --
      I am trolling
  34. Another EXCELLENT reason to use open source.. by ylikone · · Score: 5, Insightful

    ...software. Something like this would never be implemented in an open source compiler. With open source, you know exactly what you get... with closed, you get what the owners want you to get, which will help their bottom line.

    --
    Meh.
    1. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      So, how often do you review the gcc code?

    2. Re:Another EXCELLENT reason to use open source.. by Xrikcus · · Score: 1

      With open source compilers you do know exactly what you get, unfortunately that includes much slower executables than Intel's compiler produces.

    3. Re:Another EXCELLENT reason to use open source.. by BadDoggie · · Score: 5, Insightful
      You've obviously forgotten (or more likely, never heard of) Ken Thompson. He was the guy that put the self-replicating backdoor in the UNIX compiler which, even if you removed from source, would be re-inserted if the compiler saw that you were compiling kernel or compiler.

      He did it to show that the further down you go, the harder it gets to detect such things. So you wrote a new compiler to get around that? Great. How're you planning on compiling it?

      Never forget that Open Source is no guarantee of security in and of itself.

      woof.

    4. Re:Another EXCELLENT reason to use open source.. by Spy+der+Mann · · Score: 3, Funny

      Something like this would never be implemented in an open source compiler. With open source, you know exactly what you get...

      If you mean GCC, then, yeah, I couldn't agree more with you. It's equally slow on EVERY processor :)

    5. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      Really?

      http://www.acm.org/classics/sep95/

      Ken Thompson proved that unless you can see the compiler assembly, you can't trust the compiler.

    6. Re:Another EXCELLENT reason to use open source.. by Master+of+Transhuman · · Score: 0


      The usual stupid question.

      The answer: someone (other than the GCC writers) does.

      Next question: How often do you review Microsoft source code?

      Oh, wait, I forgot, you work for Microsoft, right?

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    7. Re:Another EXCELLENT reason to use open source.. by cristofer8 · · Score: 3, Informative

      http://www.acm.org/classics/sep95/

      Read Ken Thompson's classic paper on just that. He makes the case that it would, in fact, be not terribly difficult to hide code that does exactly what intel is being accussed of in an open source compiler, without anyone ever knowing it was there.

    8. Re:Another EXCELLENT reason to use open source.. by Zathrus · · Score: 2, Interesting

      q[With open source, you know exactly what you get.]q

      Which, in this case, is really crappy performance.

      There's really only one reason to use Intel's compiler -- for performance. It's well known that Intel's compiler generates code that vastly outperforms everything else for the same platform (namely Microsoft Visual C++ 6/7 and gcc -- everyone else (Watcomm, Borland) has long since been relegated to "also ran" status).

      We're talking about a rather significant performance difference too -- 20% or more typically. Even more if you compare to gcc (x86 may be one of the most optimized target platforms for gcc/g++, but it's still got a long, long way to go comparatively; even to MSVC).

      Intel also has one of the better C++ compliance records as I recall, although MSVC++ 7.0 pretty much eliminated that gap (gcc was far better than MSVC 6, they're roughly equal now), so that's another reason to use them.

      But really it's all about the performance. If you have a product targeted for x86 and performance is one of your top criteria, then you'd be foolish to not consider using Intel's compiler for your builds. The reason not everyone does so is because it's expensive and the UI isn't as good as MSVC, particularly for debugging.

      All of that said, the allegations are still damning. Yes, Intel has the right to tune the compiler for their CPUs. But if the alternate paths are coded stupidly or intentionally bad-case (worst case is not required) then they could be found to be engaging in anti-competitive behavior. Even if those code paths affect Intel processors as well -- it just has to affect only old Intel processors (hello upgrade!).

      Additionally, you might be able to make a (weak) argument that using the "heavily optimized" path only on your own CPUs after having been informed that it works just fine on other CPUs is also anti-competitive. As stated, it's a very weak argument though, since if you do so you'd then have to test any changes you made in that particular heavily optimized code path on the other systems -- which you don't have as much knowledge on.

      Of course, the question is why hasn't AMD come out with their own compiler? They should be dedicating resources in this direction instead of (or as well as) litigating Intel. If they don't want to build their own compiler, that's fine -- simply dedicate some time to helping gcc improve its low level compilation performance. I'd be surprised if the gcc x86 team wouldn't welcome any real support of that nature (and by that I mean an employee assigned to actually writing code, or at least a very direct line to AMD engineers that could help an existing gcc coder).

    9. Re:Another EXCELLENT reason to use open source.. by jafac · · Score: 1

      While what you say is somewhat true;

      In an open source compiler, there is always a chance that an independent party will spot the problem and correct it. A small chance in cases like these, but a chance nonetheless.

      In a closed source compiler, there is zero chance.

      Open source isn't a guarantee that bugs, intentional or otherwise, get caught and fixed. But closed source is a guarantee that they WONT.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    10. Re:Another EXCELLENT reason to use open source.. by Master+of+Transhuman · · Score: 2, Interesting


      Uhm, excuse me, but isn't the compiler assembly what is running?

      And therefore you can inspect it using a debugger? Or by comparison with the output of an uncompromised compiler that does nearly but not exactly the same compilation methods used by the suspected one?

      I think Thompson's point was that while inspecting the source code of the compiler will not reveal if the compiler is compromised, if you have the compiler output, you can still detect it.

      This means you can certainly compromise any software if you don't have access to the source code, and if you have the source code, it could be harder. But if you have the output, you can certainly detect the compromise.

      One way would be to run the same program through a compiler that is made by someone else which presumably does not use the same method of compromise and compare the output. It would be hard, but no harder I assume than detecting whether copyrighted code is included in some other software.

      In fact, this is what Thompson actually said:

      "You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.) No amount of SOURCE-LEVEL [Emphasis added. RSH] verification or scrutiny will protect you from using untrusted code."

      He did also say that the lower-level this sort of thing is done on, the harder it is to detect - it would be nearly impossible on the micro-code level. Which seems to support AMD's contention that the Intel modifications could be sabotage, not just conservatism in compiling for non-Intel processors.

      In general, of course, while Thompson's point may be valid, it mostly applies to companies or hackers who may have a motivation - and more importantly, a reputation - to do something like this. It would be pointless for someone like GNU to do it. It would get out and it would damage their reputation.

      While Thompson said no code other than that written by yourself can be trusted, I hardly think he requires everyone in the world to write their own assemblers, compilers, operating systems and applications (and design their own CPUs to avoid micro-code tampering). Given that, I'd say that open source is still far more likely to be trustworthy than closed-source.

      Which renders the entire discussion here moot.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    11. Re:Another EXCELLENT reason to use open source.. by hackstraw · · Score: 1

      Something like this would never be implemented in an open source compiler.

      So go use gcc.

      Oh, you want fast performance too.

      I seriously doubt that Intel wrote code to cripple the AMD. Its much more likely that Intel does a switch statement over all of the known Intel CPUs for a specific fast memcpy() and has a default case for the unknown including future Intel chips that is failsafe.

      Now if Intel did intentionally cripple the performance on an AMD, shame on them.

    12. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      If somebody actually manages to write an untrustworthy compiler smart enough to modify a compiler that I wrote from scratch to emit similarly sabotaged code, I'll be very impressed indeed!

    13. Re:Another EXCELLENT reason to use open source.. by witch · · Score: 1

      Obviously you have not read Ken Thompson's excellent essay, Reflections on Trusting Trust.

      --
      They're taking their dog to get its two shots before it's too late. You're taking your dog there too, right?
    14. Re:Another EXCELLENT reason to use open source.. by rm69990 · · Score: 1

      On Intel processors yes, but not on AMD's. Which is obvious, since Intel makes the compiler and the chips. Just like IBM's compiler for the power arch. is faster than GCC.

    15. Re:Another EXCELLENT reason to use open source.. by keesh · · Score: 1

      How many people do you know who understand the gcc source well enough to find this kind of thing?

    16. Re:Another EXCELLENT reason to use open source.. by MasterOfMagic · · Score: 1

      So you wrote a new compiler to get around that? Great. How're you planning on compiling it?

      Using the compiler. The C compiler of which you speak only recognized itself and the kernel - any other code that you compiled was not affected, which means that a compiler that you wrote from scratch would not be affected by this back door.

    17. Re:Another EXCELLENT reason to use open source.. by cyberformer · · Score: 1

      Intel and IBM (and other chip makers) should really contribute some code to GCC, or at least release their own compilers under some kind of free license.

      Obviously, they can't if they're involved in the kind of dirty tricks that AMD is alleging, or if they make a lot of money selling software. But chip companies are mostly in the business of selling chips, not s/w, so they would benefit from helping developers produce code optimized for their platform.

    18. Re:Another EXCELLENT reason to use open source.. by barawn · · Score: 1

      In a closed source compiler, there is zero chance.

      Not really. You could always disassemble the compiler binary, and examine the assembly. Or just examine the machine code, and find it.

      Now, if your response to this is "well, that's far too difficult" then go and read the linked speech by the grandparent. The "backdoor compiler" that was being talked about has no record in the source whatsoever. The backdoor exists simply because compilers are almost always compiled by compilers and run on computers, and so there's a possibility that viral code from the very, very first compilers could remain around for a long time.

      Open source is not a guarantee for compilers. It's just much, much harder to put something undetectable in it.

    19. Re:Another EXCELLENT reason to use open source.. by barawn · · Score: 1

      Using the compiler. The C compiler of which you speak only recognized itself and the kernel - any other code that you compiled was not affected, which means that a compiler that you wrote from scratch would not be affected by this back door.

      But that idea is easily extendable to a compiler that can recognize other compilers (via language commonalities) as well. It's much much harder to imagine, but it's definitely possible.

      There will always be ways around a simple implementation of such a backdoor, sure, but that doesn't mean that in theory you don't have this problem.

    20. Re:Another EXCELLENT reason to use open source.. by Foolomon · · Score: 1
      The moral of the Ken Thompson story is to never trust anyone who looks like the Unabomber.

      I met Ken once when he came to speak about Plan-9 at the IBM Research Center in Yorktown Heights, NY. His resemblence to Jerry Garcia sans house was quite surprising.

      Still, he's a smart geek.

    21. Re:Another EXCELLENT reason to use open source.. by rm69990 · · Score: 1

      They normally do. Intel did a lot of work helping to port GCC to the Itanium family of processors, just like IBM helped port GCC to the s/390 platform (actually, if I'm not mistaken, IBM did most of the work for this port, like Intel did with the Itanium). Like you said, it is in their best interests to do this. But of course, Intel wants to keep GCC just a tad bit behind ICC so for those people that need to squeeze that last little bit of performance out of their code will pony up the license fees.

      (Also, if I'm not mistaken, AMD helped Red Hat et al port GCC to x86_64)

    22. Re:Another EXCELLENT reason to use open source.. by MasterOfMagic · · Score: 1

      Then take this to a complete extreme - you don't have control over the implementation details of underlying hardware. What's to say that the underlying hardware can't backdoor your program either? At some point, you have to be able to trust something, or build your own computers from scratch.

    23. Re:Another EXCELLENT reason to use open source.. by pyat · · Score: 1

      There's really only one reason to use Intel's
      compiler -- for performance. It's well known that
      Intel's compiler generates code that vastly
      outperforms everything else for the same platform
      (namely Microsoft Visual C++ 6/7 and gcc -- everyone
      else (Watcomm, Borland) has long since been
      relegated to "also ran" status).


      What about the pathscale compilers:
      http://www.pathscale.com/products.html

      They are supposed to be very fast, and have a heritage going back to SGI's compiler development.
    24. Re:Another EXCELLENT reason to use open source.. by barawn · · Score: 1

      I think that was Ken Thompson's original point, actually.

      And mine as well. The point is that open source doesn't preclude really bad things from happening. It just makes it much, much harder to hide them.

    25. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      If you can do this then you can solve the halting problem.

    26. Re:Another EXCELLENT reason to use open source.. by barawn · · Score: 1

      That's complete bull. This is completely unrelated to the halting problem - mainly because I'm not suggesting that you could create a program that would recognize *all* compilers, guaranteed.

      You could imagine a compiler that looks for string matching to several C constructs, and if it finds that in a program, it inserts a quick first-stage program which checks its arguments to insert the backdoor, then if it doesn't have them, it continues with the rest of the program, otherwise, it spits out the preformed code it's supposed to. Would this be undetectable? No way. Would that guarantee that it would be found? Also no way.

    27. Re:Another EXCELLENT reason to use open source.. by Psychic+Burrito · · Score: 1
      So you wrote a new compiler to get around that? Great. How're you planning on compiling it?
      That story is so old and tired. How to get around it? By using a compiler with open source code in assembler, of course. Duh!
    28. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      Just for the record, Ken Thompson never actually implemented this back door. It was entirely a thought experiment, and in fact it involved not the kernel but login.c.

    29. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      All of this is assuming a software monoculture. This argument might have worked back when there was only really one C compiler in the universe, but it's exceedingly unlikely today.

      Even if a perfect backdoor had be inserted into the very first C compiler, or any compiler/interpreter, period, or even in the very hardware so even assembly language programs were affected--you could still build your own trusted hardware from scratch.

      You can clearly see this from the fact that computers are scientific, so you can eventually derive everything that human beings have ever discovered. And it's much harder to put a backdoor into a book of scientific knowledge, because what do you know, humans weren't designed by humans.

      Of course, human knowledge of the universe isn't perfect, so there may yet be a backdoor in the entire universe inserted by (insert your favorite deity here), or maybe aliens inserted a backdoor into our genome, but at that point it's immaterial--that's simply part of how the universe works, and whether or not (insert your favorite deity here) is stealing your passwords is moot.

    30. Re:Another EXCELLENT reason to use open source.. by PMoonlite · · Score: 1

      You've obviously never read what Ken Thompson actually said. He postulated that such a thing could be done. No one has ever claimed that he or anyone else actually did it, except, well, you.

      That would be an incredibly clever hack, much harder to implement than just to talk about.

      Open Source guarantees nothing, of course, except the ability to examine and modify source code to your heart's content. But that ability does give you (and, more importantly, other security-conscious geeks of the world) many more opportunities to check on the integrity of a program than you get in a closed source situation.

      --
      -- Moderation in all things, exceptions to all rules --
    31. Re:Another EXCELLENT reason to use open source.. by Anonymous Coward · · Score: 0

      "So you wrote a new compiler to get around that? Great. How're you planning on compiling it?"

      The same way the first compiler was compiled? But I suppose that was too obvious.

    32. Re:Another EXCELLENT reason to use open source.. by Furry+Ice · · Score: 1

      And how do you assemble and link your code? The virus doesn't have to be injected during the translation from C to assembly...

    33. Re:Another EXCELLENT reason to use open source.. by sillybilly · · Score: 1

      If you can't trust the compiler that compiles your trusted code, you can't trust the executable produced - duh. What's more obvious than that. The important thing is that the compiler is a single entity, compared to the myriad of software it compiles, so there is less work involved in verifying it, and if it passes, you can then rely on sourcecode inspection of everything else out there. A lot of webservers still use the old Apache, 1.3, instead of 2.0, httpd. Just like current processors can still run old x86 code, maybe this mill of continuous new compiler versions will stop, and you can stick with a single, FDA inspected and approved compiler, for a decade, that produces trustworthy output, even if it doesn't take advantage of the latest and greatest processor features. Debian used to be like that, let things age, but now there is this massive voice out of nowhere to let's get Debian moving with fast speed, with all the Ubuntu bullshit. Nothing wrong with Debian stable waiting 5 years for a release, just like the amish waited and considered, before accepting phones. Unless you are a nukular power plant, or submarine, or hospital, if you don't like the FDA approved gcc produced debian stable from 5 years ago, you can always use a newer, unstable, semi-trustworthy stuff.

      As an analogy, how can you trust meat that's not FDA inspected? Just cuz a corporation produced it? Corporations are out to make money first, and ensure public safety second, it's never gonna change. That's why we have government regulators, and not privatized regulators. A public government as a regulating agency has much better track record than private regulating agencies, such as Arthur Andersen accounting firms, that can fail miserably on trust. (You have bar exams for lawyers, accountants, nurses, but I don't think any kind of MCSE certification these days is worth the same kind of trust in the computer profession, especially when things are changing so fast that only kids can be experts, because they are the only ones able to learn fast enough to keep up. A lot of this change is artificial though, driven by the need to artificially obsolete things, and force you to upgrade, upgrade, upgrade.) Even when corporations fail on public safety, such as in the Ford Pinto case, they only get a slap on the wrist. Not that gov't bureaucracy is not such a nice proposal either, but that's how we have it works with meat, and it seems to work.

      He makes another good point too. Just like you don't let kids drive cars, there could be some basic requirements for letting people use computers that can create havoc throughout the world. I believe initially you could just buy the T-model Ford and freely drive it, but these days you need a driver's license, and get regulated by police, while the worth of private regulating agencies such as insurance companies, you can debate. Anything that empowers people, such as cars, can be used for both good and bad purposes, and it's all good if you only put yourself to danger, but when there are others involved, you get regulated. You can accumulate points on your driver's license for misbehaving, or get it suspended for 90 days if you do other stuff. The internet could require some kind of "passing a test," while your home computer you could do whatever you want with.

      Unfortunately what I just wrote is very naive. While driving you can catch the driver in the act because he's physically there, before your eyes, but on the net, you could have someone with malicious intent, with a suspended license, use someone else's account, and release something. It's a whole different ballgame. But at least you could have kids before a certain age take a morality test, just to make them aware of responsibility. Kids don't normally break into other people's homes, because parents teach them not to, while parents have no clue of the net, plus the net is a lot more private. Also, on the net it's not a single user that gets affected, like with home breakins. I don't know if anyone has a good answer. The internet is still jus

  35. Oh brother by cheezedawg · · Score: 1, Troll

    Another example of AMD trying to win in the marketplace through whining. There is nothing preventing AMD from releasing their own compiler. Instead they are just bitching about Intel again.

    Intel doesn't come close to a monopoly in the compiler market, so I fail to see what this has to do with the antitrust suit.

    --
    "The defense of freedom requires the advance of freedom" - George W Bush
    1. Re:Oh brother by Spy+der+Mann · · Score: 2, Funny

      Another example of AMD trying to win in the marketplace through whining.

      So that means I can cheat in business and whoever sues me is just a whining loser? Cool! Where do I sign up?

    2. Re:Oh brother by Anonymous Coward · · Score: 0

      Your post is ironically whiny...

    3. Re:Oh brother by tshak · · Score: 3, Interesting

      Intel doesn't come close to a monopoly in the compiler market, so I fail to see what this has to do with the antitrust suit.


      That's because you're trivializing the issue. Intel has a chip monopoly their compiler has a huge influence - even if it isn't used in production by the majority of their customers. Purposely reducing the efficiency for AMD chips is a great example of anti-competition, which is what monopoly laws are all about.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    4. Re:Oh brother by Master+of+Transhuman · · Score: 1


      Microsoft is always hiring such people.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    5. Re:Oh brother by workindev · · Score: 0

      Cheat? Writing software that does what you want it to do isn't cheating, and there is nothing preventing AMD from releasing their own compilers that do the exact same thing.

  36. Write their own compiler then by pbyhre · · Score: 1, Flamebait

    If they don't like the way Intel's compiler works on their CPU's, maybe they should write their own compiler that does things better.

    1. Re:Write their own compiler then by Anonymous Coward · · Score: 0

      The point of this isn't that it runs worse, it's that it is specifically designed to cripple competition, hence this being an anti-trust case.

    2. Re:Write their own compiler then by Anonymous Coward · · Score: 2, Insightful

      Intel is under no right to make their compiler work efficiently on AMD chips. They can't be expected to spend time on what compiler flags produce the best code on every AMD chip out there. So having it output generic code is the best bet. Of course, if that code is intentionally buggy, that's another issue.

      That said, binaries compiled on Intel run just fine on AMDs. Showing that those optimizations at least work on AMD, and AMD's version of IA32 is stable and good.

      Write your own compiler? Hell, AMD could dump a few mil on the FSF, and get GCC banged into shape. Someone on the GCC teams should approach them...

      Get some more features built into the new GCC 3.x optimization framework. It'd benefit not only AMD support, but everyone else as well, as the back-end would have more optimizations added/tweaked.

    3. Re:Write their own compiler then by Anonymous Coward · · Score: 0

      The problem is that if you hack the compiler to make it think it is an Intel chip it works just as well on an AMD chip. In other words, the compiler is actively checking for an AMD chip and reducing performance, just like Windows would check for DR-DOS and give a bogus error message.

    4. Re:Write their own compiler then by Anonymous Coward · · Score: 0

      wow. you are clueless.

      this isnt about a compiler that works poorly. this is about a compiler that is designed to work poorly in some circumstances.

      that is anticompetitive behavior and can lead to legal trouble in the United States.

  37. omg! by Stud1y · · Score: 2, Interesting

    imagine that, the company isn't taking time to waste R&D for a product they don't make.

    It makes a great deal of scense to me.

    You know the in's and out's of your own product. You can optimize code for your product, why should they have to optimize code for someone else's product? Maybe that company should be writing their own compilers?

    Are people really that lazy? Why do the companies that _MAKE_ money get fucked over? because the little companies that only went into business to get a CHUCK of that money, are mad they're not getting enough... Fuck 'em.

    It's like putting a fence around your house. your protect your assests.

    1. Re:omg! by Stud1y · · Score: 1

      also, on a side note, i am Suing GM because my GM transmission does not bolt up directy to my Ford motor with my Old's manifold... oh, shit, you mean that not all companys have to make their stuff work with other companies? Hmmmmmmmmmmmm.

    2. Re:omg! by kryptx · · Score: 1

      We're not talking about Intel neglecting to research the ins and outs of an AMD chip, causing incidental problems.

      We're talking about them deliberately modifying their compiler to make programs run more slowly (or even crash, though that may be incidental) when they detect that they're running on an AMD.

      --
      Mods: Do you disagree with me? Go ahead and mod me down. Meta-mods will sort it out. Good luck!
    3. Re:omg! by Anonymous Coward · · Score: 0

      There's a few posts like this above too. You people are completely missing the point.

      This is talking about code that runs just fine on generic x86. The code that runs great on the Intel processor would run great on the AMD processor too but they deliberately make sure that AMD processors get a slower version.

    4. Re:omg! by Anonymous Coward · · Score: 0

      Intel is not accused of "wasting R&D on a product they don't make".

      They are accused of spending on R&D on faking us into thinking their product is better than AMD's, INSTEAD OF spending R&D making their product better. If they didn't tell the people who downloaded that compiler that it did that, then this act is a fraud upon the people who use the compiler and end up buying an Intel Processor.

      By itself, releasing that compiler isn't a big crime, just a run-of-the-mill consumer fraud. It only becomes a bigger crime when it is part of a much larger pattern of attempting to avoid capitalist competition through cheating, _AND_ asked for special priviledges from liability by being a corporation, _AND_ you have a monopoly.

      Which all happen to be true, in this case.

      A lot of stuff that is simply legal dishonesty becomes illegal if you are a company in a monopoly position.

    5. Re:omg! by Stud1y · · Score: 1

      what's easier? if chip = "AMD" then KnownToWorkCode() else NewCode() or, making sure it actually worked?

    6. Re:omg! by kryptx · · Score: 1

      I guess I wasn't clear enough.

      As far as I understand the allegations, Intel's compiler uses non-optimized algorithms when it detects AMD processors.

      We're not talking about whether it uses Intel-specific processor optimizations. We're talking about the equivalent of doing a bubble sort instead of a quick sort.

      --
      Mods: Do you disagree with me? Go ahead and mod me down. Meta-mods will sort it out. Good luck!
  38. How Many People Uses the Intel Compiler by Comatose51 · · Score: 0

    How many people uses the Intel compiler compared to other compilers? Did anyone ever suspected this before?

    --
    EvilCON - Made Famous by /.
  39. More Likely by jmazzi · · Score: 2, Interesting

    Its more likely that intel understands their processors inside and out and know how to fully optimize compiling for them. The reason it changes things for AMD is probably due to not knowing what would happen if they used the same optimized code. It doesnt really make sense for a company to spend time optimizing the compiler to work with other processors when they sell their own.

    1. Re:More Likely by P3NIS_CLEAVER · · Score: 0

      The compiler software engineers aren't stupid. Why would you write an extra routine for AMD if you didn't have to? The P4 version ran fine. If anything the logic of your posting really proves their guilt.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
  40. libstdc++, Cygwin and GCC = slow by Anonymous Coward · · Score: 1, Informative

    The combination of libstdc++, cygwin and GCC are a very slow combination due to the less-than-lightning-fast implementation of posix threads on Cygwin and the false economy of memory pools in libstdc++. It is not uncommon to see STL heavy c++ code run 4 times slower under Windows/g++ than in Linux/g++ for these reasons. If you switch to STLport (based on the original SGI STL) for Cygwin/g++ you will see a marked improvement in speed because it does not attempt to reuse nodes in maps and other STL containers.

  41. Class Action? by salemlb · · Score: 1

    Not clear on something:

    If the programs run on AMD slow or crash as result of funny business by the Intel compiler, then wouldn't all companies and individuals using AMD processors have grounds for a class action lawsuit against Intel?

    Or, more likely, wouldn't the companies that use the Intel compiler have such grounds? Because if Uber-Game is compiled with an Intel compiler, and crashes repeatidly on AMD... either the gaming house will take a hit in reputation and sales, or the QA for the gaming house will take a hit in job security and paycheck size. Either way, Intel sounds like they could be liable as such instability would (potentially) directly stem from their attempts at sabotaging AMD.

  42. It wouldn't be optimized for Athlon anyway by Len · · Score: 1, Insightful

    The code path that is super-optimized for Pentium 4 chips wouldn't be the best code for an Athlon chip anyway. For example, if the instructions are arranged to minimize pipeline stalls on a Pentium 4 (which I assume they would be if the code is "fully optimized"), that would not be the most optimal arrangement for running on an Athlon, which has a different internal design.

    So even if there was only one code path, it would be optimized more for Pentiums than for Athlons. One can't expect Intel to put lots of effort into optimizing for their competitor's products!

    However, that doesn't explain why there would be a separate code path for Athlons. They could just produce the one code path, which would work OK but not optimally for Athlons.

    1. Re:It wouldn't be optimized for Athlon anyway by Edgewize · · Score: 4, Insightful

      What people seem to be saying is that by patching the binary to force the P4 path, there is a significant performance increase on the Athlon. In other words, even though the P4-optimization is not optimal for the Athlon, it exceeds the performance of the "baseline" path and there is no reason to disable it -- other than to cripple AMD's performance.

    2. Re:It wouldn't be optimized for Athlon anyway by Anonymous Coward · · Score: 0

      Bingo. You're the only one who's got it so far.

      Intel has two code paths: one that's heavily optimized for their Pentium IV (for obvious reasons) and then a legacy path for other chips. Guess what? An AMD is an "other chip".

      The Intel compiler also runs more slowly on Pentium IIIs. It's nothing evil, it's just Intel providing a legacy solution for older computers.

      If you want the best performance from the Intel compiler, run it on the latest Intel chips. (Gee, wonder why that might be.) Don't run it on a competitor and expect it to run as fast. You can't expect Intel to spend time and money to optimize their code to work with AMD.

    3. Re:It wouldn't be optimized for Athlon anyway by leabre · · Score: 1

      Perhaps AMD should just license the intel compiler and write their own optimizer for it. Or, write their own compiler.

      Thanks,
      Leabre

    4. Re:It wouldn't be optimized for Athlon anyway by strikethree · · Score: 1

      hm. you just gave me an idea:

      write a program that searches for any icc compiled programs on your hard drive and force the p4 path. i wonder how many games will see a speed increase from this...

      strike

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  43. Details by Anonymous Coward · · Score: 0

    When you build your application with the Intel compiler and certain command-line switches (-QxP) it may generate SSE instructions. As you might expect, it also generates a quick CPUID check prior to main() to ensure that the processor supports these instructions. This is entirely reasonable.

    Unfortunately, before it checks for SSE support, it checks for the vendor string "GenuineIntel".

    AMD processors return the vendor string "AuthenticAMD", so the fastpath code will be skipped regardless of the processor's support for SSE/SSE2/SSE3.

  44. Extract from PDF bout topic by knuxed · · Score: 0

    Intel's Leveraging of Its Other Product Lines to Unfairly Disadvantage AMD in the Marketplace 122. Intel has also designed and marketed microprocessor-related products with the goal of compromising performance for those who opt for AMD solutions, even if it requires sacrificing its own product quality and integrity. 123. An example is Intel's compilers. Generally, independent software vendors ("ISVs") write software programs in high-level languages, such as C, C++, or Fortran. Before these programs can be understood by a computer system, they must be translated into object code - a machine-readable language - by a software program called a compiler. Different companies write compilers for different operating systems (Windows, Linux, etc.) and for different programming languages (C, C++, Fortran, etc.). Intel offers compilers for use with a variety of different operating systems and programming languages. 124. Intel's compilers are designed to perform specialized types of optimizations that are particularly advantageous for ISVs developing software programs that rely heavily upon floating point or vectorized mathematical calculations. Such programs include, for example, mathematical modeling, multimedia, and video game applications. 125. Intel has designed its compiler purposely to degrade performance when a program is run on an AMD platform. To a chieve this, Intel designed the compiler to compile code along several alternate code paths. Some paths are executed when the program runs on an Intel platform and others are executed when the program is operated on a computer with an AMD microprocessor. (The choice of code path is determined when the program is started, using a feature known as "CPUID" which identifies the computer's microprocessor.) By design, the code paths were not created equally. If the program detects a "Genuine Intel" microprocessor, it executes a fully optimized code path and operates with the maximum efficiency. However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash. 126. ISVs are forced to choose between Intel's compilers, which degrade the performance of their software when operated with AMD microprocessors, or third-party compilers, which do not contain Intel's particular optimizations. Sadly for AMD and its customers, for legitimate reasons Intel's compilers appeal to certain groups of ISVs, especially those developing software programs that rely heavily on floating point and vectorized math calculations. Unbeknownst to them, performance of their programs is degraded when run on an AMD microprocessor not because of design deficiencies on the part of AMD, but deviousness on the part of Intel.

  45. Huge binaries? by saterdaies · · Score: 1

    Wouldn't it create huge binaries if it were creating code for Intel and AMD in one executable that were actually differently optimized code?

    1. Re:Huge binaries? by Todd+Knarr · · Score: 1

      It's the compiler that's got two paths in it. If you compile on an Intel CPU, it goes down the path that generates fully-optimized code. If you compile on an AMD CPU, it goes down a path that generates less-than-optimal code. Result: programs compiled with the Intel compiler on an AMD CPU contain slower code than those compiled on Intel CPUs. Presumably this would contribute to benchmarks and performance measurements that showed AMD CPUs to be slower than Intel, since the people measuring the performance wouldn't have any reason to suspect that the same source code compiled with the same compiler and the same set of compiler options might in fact differ based on which CPU the compiler had run on.

    2. Re:Huge binaries? by statusbar · · Score: 1

      This is incorrect. As explained above, the check is in the generated code. The grandparent is correct, it creates bloated code.

      --jeff++

      --
      ipv6 is my vpn
  46. Is this normal? by Dakrin1 · · Score: 1

    Are filings like this normal? It has quotes like:

    "You just gotta love a Cinderella story. . . . AMD's rapid rise
    from startup to $5 billion semiconductor powerhouse is, as
    Humphrey Bogart's English teacher once said, the stuff of
    which dreams are made. . . ."

    and "AMD has seized technological leadership in the microprocessor industry."

    It is also very easy to read, and doesn't have the lawyer-speak i'd be expecting.

    Some of the arguments are a little weak as well. Like stating that Intel's push to change the pins on the DIMM (DDR3) module was specifically to hurt and slow down AMD's release of their processors. They don't back this up though, and it seems a little contrived.

    1. Re:Is this normal? by Ruie · · Score: 1
      It is also very easy to read, and doesn't have the lawyer-speak i'd be expecting.

      There are two kinds of lawyer-speak - friendly and unfriendly.

      The unfriendly kind is the one you are used to seeing in all the EULAs, contracts, etc.

      The friendly kind is used when they want the other party to see their way and it is the other party that is in power not them (for example when addressing the judge).

  47. Working with others by thewiz · · Score: 1

    I've noticed that corporations want their employees to work and play well with others. Why won't corporations do that too? ;P

    Face it, corporations would like nothing more than to see their competition disappear so that they have a monopoly. Intel will do whatever it can to stop its competitors even if it means dirty tricks and sabotage.

    --
    If "disco" means "I learn" in Latin, does "discothèque" mean "I learn technology"?
  48. Re:Use GNU Compilers! by Anonymous Coward · · Score: 2, Insightful

    Awww... A competitor's compiler is not optimized for our architecture. Cry me a river.

    There is a subtle difference between "not optimised" and "goes out of it's way to slow it down".

    A subtle, possibly criminal difference.

  49. Genuine??? by Lectoid · · Score: 2, Funny
    "If the program detects a "Genuine Intel" microprocessor.... if the program detects an "Authentic AMD" microprocessor..."

    Is there some big counterfeit Processor ring I don't know about? What if the program detects a non-genuine Intel/AMD?

    --
    Is it just me, or do you hate it when people say "Is it just me..."?
    1. Re:Genuine??? by Anonymous Coward · · Score: 0

      I remember the old Cyrix processors would return "Cyrix Instead" as its ident tag.

  50. Is The Intel Compiler Worth The Hassle? by Anonymous Coward · · Score: 0

    I was under the impression that the Intel compiler was pretty much useless for real world apps and was mainly used in generating bogus/inflaited SPEC scores for Intel.

    I've looked around for some general benchmarks comparing:

    1) GCC 4
    2) Visual Studio 7
    3) Intel 8

    And haven't found any clear info.

    Have people found the Intel compiler worth the effort in real world apps? I've heard VS and GCC have made large leaps in performance and have caught up for the most part with the Intel compiler and even surpassed it in some areas.

  51. In this case I don't really care by dfn5 · · Score: 0
    We're not talking about Microsoft making their software run extra slow on older processors as an incentive to buy new hardware. Intel is a chip manufacturer. They make a compiler to compile code for their chips. I am sure it is highly optimized for their chipset. I love AMD, but I think in this case they should stop bitching about it and produce a compiler that produces sceaming code for Athlons and Opterons.

    Of course I don't like paying for software so I'll stick with gcc -mtune=k8

    --
    -- Thou hast strayed far from the path of the Avatar.
  52. Who Uses Intel's Compiler? by justanyone · · Score: 3, Funny


    Intel probably puts in serious bucks to R&D of their compilers so their chips look the fastest. This is logical; they'd want to do what they could do enhance speed regardless of if it was hardware or software doing the speedup.

    But, the operative question is, who uses the Intel compiler anyway? If I was going to compile something, and I needed really fast results, I would probably use the compiler of the hardware manufacturer- be it Intel or AMD. I'm sure AMD has a compiler tuned to exploit every possible speedup you could ask for on an AMD chip.

    Further, they'd be wise (if they don't do this already) to sell/give away technical manuals for compiler writers telling them how to squeeze every little bit of extra performance out.

    Commercial compiler vendors include (my estimation, please reply with additions):
    * Intel
    * AMD
    * GCC
    * Microsoft
    * Watcom (still in business?)
    * Borland (still doing this?)

    This obviously leaves out the computer science students worldwide. But, my point is, maybe this is a wake up call to anyone using an Intel compiler that they need to switch to one of the others above (GCC especially).

    1. Re:Who Uses Intel's Compiler? by thalakan · · Score: 1

      Pathscale's EKOPath is the compiler I see most performance-oriented folks use for AMD64 platforms. It knows about EM64T too.

      --
      -- thalakan
    2. Re:Who Uses Intel's Compiler? by myrick · · Score: 1
      I don't think AMD has a compiler of their own. At least, I've never heard of it referenced before, and they seem to reference CodeWarrior on their website. Meanwhile, Intel's is more or less the de facto standard of x86 performance. That's why people pony up big bucks for it; it trounces GCC.

      Don't forget Metrowerks.

      --
      I'd rather be cycling.
    3. Re:Who Uses Intel's Compiler? by JohnFluxx · · Score: 1

      AMD put money into GCC and hire some of the developers, so I guess that would be 'their' compiler.

      In fact, the linux kernel guys gave their input for the 64bit version and iirc got a few instructions added/changed.

    4. Re:Who Uses Intel's Compiler? by Smallest · · Score: 1

      i tried a version of it a few years ago and wasn't really impressed. the code it made wasn't any faster than what MSVC produced and the EXEs were generally larger.

      maybe it's improved since then. dunno. don't care.

      --
      I have discovered a truly remarkable proof which this margin is too small to contain.
    5. Re:Who Uses Intel's Compiler? by vidarlo · · Score: 1
      Intel probably puts in serious bucks to R&D of their compilers so their chips look the fastest. This is logical; they'd want to do what they could do enhance speed regardless of if it was hardware or software doing the speedup.

      Quite clearly. And I accept that they optmize their compiler for their chips, and the other way around. But it is still a long way from optimizing for your own, to de-optimizing for the competitor, as long as the cpu calls is supported by both, which pretty much is the case with amd and intel. It is not the optimizing that is illegal...

      But, the operative question is, who uses the Intel compiler anyway? If I was going to compile something, and I needed really fast results, I would probably use the compiler of the hardware manufacturer- be it Intel or AMD. I'm sure AMD has a compiler tuned to exploit every possible speedup you could ask for on an AMD chip.

      A lot. It is the quickest compiler for x86 around. So people use it. And no, AMD has no compiler. They've made contributions to gcc, but they do not have one of their own

      Further, they'd be wise (if they don't do this already) to sell/give away technical manuals for compiler writers telling them how to squeeze every little bit of extra performance out.

      No, not interesting. Intel makes their own. AMD does not, but there is no market for what you suggest. People who make compilers will have to look at what the compiler should do, then figure out what chips to run it on, and then start optimizing for that chip using instructions. All the instructions is public, you can easily get them from amd.com or such.

      Commercial compiler vendors include (my estimation, please reply with additions): * Intel * AMD * GCC * Microsoft * Watcom (still in business?) * Borland (still doing this?)

      Intel - Yes. GCC - Commercial? No. Microsoft - Yes.

      This obviously leaves out the computer science students worldwide. But, my point is, maybe this is a wake up call to anyone using an Intel compiler that they need to switch to one of the others above (GCC especially).

      you show complete lack of knowledge. GCC is dead slow against icc. Have a look at this article for some more information.

  53. Apple MP3's? since when? by AtariAmarok · · Score: 2
    " That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players. "

    Can you find an instance of Apple ever giving MP3's to play in the iPod?

    --
    Don't blame Durga. I voted for Centauri.
    1. Re:Apple MP3's? since when? by Stupendoussteve · · Score: 1

      Yes.... any Pepsi or any other contest had free downloads, hence "MP3's to play in the iPod" (because iTMS songs play in iTunes/iPod)

    2. Re:Apple MP3's? since when? by randomiam · · Score: 1

      I'm not sure if this is what the gp meant, but iTMS offers a different 'free download of the week' every week. ~r

    3. Re:Apple MP3's? since when? by DansnBear · · Score: 1

      Can you find an instance of Apple ever giving MP3's to play in the iPod?

      Almost. . . back in the day, right before the release of the iPod, apple shipped their G4, and I can only assume other models, came with a sampling of music, preloaded into iTunes. Each of those unrestricted MP3s Is currently loaded on my iPod, and not a problem with a single one of them. Does anyone else remember these?

      --

      -= Who are The Headlocks? =-
    4. Re:Apple MP3's? since when? by Anonymous Coward · · Score: 0

      Those aren't MP3s. If you noticed, the labels all very deliberately said you could win "songs". The files were in Apple's DRM format, not MP3.

    5. Re:Apple MP3's? since when? by bemenaker · · Score: 0, Troll

      Quit being so god damn picky, so it was in AAC not MP3 the point is still valid and accurate nitpicky dumbass moron. Yes flamebait was intentional and it was deserved for the sheer stupidity.

    6. Re:Apple MP3's? since when? by shmlco · · Score: 1
      Buy an iPod and you'll get a set of ten free downloads to go with it.

      I think a new promotion is out where if you buy an AirPort Express from them you'll get 30 free itunes.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    7. Re:Apple MP3's? since when? by AtariAmarok · · Score: 1
      "Buy an iPod and you'll get a set of ten free downloads to go with it"

      Check the file format of those iPod downloads. Are they MP3 files? Oh, they aren't? Now you get it.

      --
      Don't blame Durga. I voted for Centauri.
    8. Re:Apple MP3's? since when? by lp-habu · · Score: 2, Insightful
      Quit being so god damn picky, so it was in AAC not MP3 the point is still valid and accurate nitpicky dumbass moron. Yes flamebait was intentional and it was deserved for the sheer stupidity.
      The mistake was yours, not his. Typically it is the one who makes the mistake who can legitimately claim the "stupid" title. Why get so upset? And assuming that you were talking about AAC files, which non-Apple AAC players were made to crash by the free AAC files? I must have missed that.
    9. Re:Apple MP3's? since when? by shmlco · · Score: 1
      Do they run on every computer and iPod I have? Could I remove the DRM if I chose? Can I burn them to CD and have MP3's whenever I want?

      No, I don't get it at all...

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    10. Re:Apple MP3's? since when? by AtariAmarok · · Score: 1
      "Do they run on every computer and iPod I have?"

      That is not part of the definition and compatibility of an MP3 file.

      "Could I remove the DRM if I chose?"

      MP3's don't even have DRM.

      "Can I burn them to CD and have MP3's whenever I want?"

      The ability to potentially turn A into B does not mean that A is the same as B.

      "No, I don't get it at all..."

      That is quite obvious!

      --
      Don't blame Durga. I voted for Centauri.
    11. Re:Apple MP3's? since when? by shmlco · · Score: 0, Flamebait

      Forgive me. You're correct. The file extension on those free music files is not mp3... a distinction that I'm sure is highly significant to you and perhaps five other people.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    12. Re:Apple MP3's? since when? by schiefaw · · Score: 1
      Forgive me. You're correct. The file extension on those free music files is not mp3... a distinction that I'm sure is highly significant to you and perhaps five other people.

      This is Slashdot, I hope that distinction is significant for just about everyone reading this site. If not, can I suggest http://people.aol.com/people?

      --
      Angleyne: You can't bend that girder - it's unbendable! Bender: Well I don't know anything about lifting, so that ju
    13. Re:Apple MP3's? since when? by bemenaker · · Score: 1

      Because the point was on the controlled file format, not the exact format itself. You are looking for an elephant with a magnifying glass, yet you still think I am the one who is wrong. Sorry, but it's not so. Maybe you should go back to the start of the thread.

  54. Relevant Section by Dakrin1 · · Score: 5, Informative

    The filing actually has a ton more complaints than just what the poster mentioned. Here is the relevant section:

    c. Intel's Leveraging of Its Other Product Lines to Unfairly Disadvantage

    AMD in the Marketplace
    122. Intel has also designed and marketed microprocessor-related products with the
    goal of compromising performance for those who opt for AMD solutions, even if it requires
    sacrificing its own product quality and integrity.
    123. An example is Intel's compilers. Generally, independent software vendors
    ("ISVs") write software programs in high-level languages, such as C, C++, or Fortran. Before
    these programs can be understood by a computer system, they must be translated into object
    code - a machine-readable language - by a software program called a compiler. Different
    companies write compilers for different operating systems (Windows, Linux, etc.) and for
    different programming languages (C, C++, Fortran, etc.). Intel offers compilers for use with a
    variety of different operating systems and programming languages.
    124. Intel's compilers are designed to perform specialized types of optimizations that
    are particularly advantageous for ISVs developing software programs that rely heavily upon
    floating point or vectorized mathematical calculations. Such programs include, for example,
    mathematical modeling, multimedia, and video game applications.
    125. Intel has designed its compiler purposely to degrade performance when a program
    is run on an AMD platform. To achieve this, Intel designed the compiler to compile code
    along several alternate code paths. Some paths are executed when the program runs on an Intel
    platform and others are executed when the program is operated on a computer with an AMD
    microprocessor. (The choice of code path is determined when the program is started, using a
    feature known as "CPUID" which identifies the computer's microprocessor.) By design, the
    code paths were not created equally. If the program detects a "Genuine Intel" microprocessor,
    it executes a fully optimized code path and operates with the maximum efficiency. However,
    if the program detects an "Authentic AMD" microprocessor, it executes a different code path
    that will degrade the program's performance or cause it to crash.
    126. ISVs are forced to choose between Intel's compilers, which degrade the
    performance of their software when operated with AMD microprocessors, or third-party
    compilers, which do not contain Intel's particular optimizations. Sadly for AMD and its
    customers, for legitimate reasons Intel's compilers appeal to certain groups of ISVs, especially
    those developing software programs that rely heavily on floating point and vectorized math
    calculations. Unbeknownst to them, performance of their programs is degraded when run on
    an AMD microprocessor not because of design deficiencies on the part of AMD, but
    deviousness on the part of Intel.

    1. Re:Relevant Section by youknowmewell · · Score: 2, Interesting

      Would this effect 3D graphics rendering or movie encoding/decoding benchmarks? It seems those are the two areas Intel chips still beat AMD chips.

    2. Re:Relevant Section by stevesliva · · Score: 0

      Thanks for that.

      --
      Who do you get to be an expert to tell you something's not obvious? The least insightful person you can find? -J Roberts
    3. Re:Relevant Section by autocracy · · Score: 1

      That's so cool -- they used "deviousness" in a legal paper.

      --
      SIG: HUP
    4. Re:Relevant Section by the_greywolf · · Score: 1

      it does. some vectorized 3D operations depend on SSE and/or 3DNow! extensions. the Intel compiler's math library deliberately tests for Intel chips and disables or cripples vectorized SSE functions if an Intel chip is not detected. (that is, all AMD, Cyrix, ViA, and Transmeta chips are affected, whether they support SSE, SSE2, and SSE3 or not.) when compiled properly, the SSE codepaths Intel's compiler produces runs faster on AMD's chips than on Intel's chips for most cases. there are still the handful of cases where Intel excels, but all ICC-compiled code is affected negatively on AMD processors.

      --
      grey wolf
      LET FORTRAN DIE!
  55. Re:Use GNU Compilers! by Anonymous Coward · · Score: 0
    Awww... A competitor's compiler is not optimized for our architecture.
    There is a big difference between "not optimized for our architecture" and "deliberately selecting a poor code path upon detection of our processor".
  56. What's the big deal? by f0dder · · Score: 1

    Does MS VC++ use the intel compilers?

    How many applications are compiled using Intel compilers? What's the reach?

    Unless a lot of applications are affected is this even a real story or something to knock down once again the market leader.

    1. Re:What's the big deal? by MatD · · Score: 1

      No, the Intel compiler is a seperate product. You can 'plug it in' to VS.
      AFAIK, the only companies using the intel compiler (in any real numbers) are games companies.

      --
      Since when did operating systems become a religion?
    2. Re:What's the big deal? by TonyMillion · · Score: 1

      Last game company I worked at used MS C Compiler and http://www.codeplay.com/ VectorC{PC} which is a very nice compiler indeed, and comes in a PS2 flavour, which is what you want if you're making cross platform games!

  57. For those of us with Athlons... by mehaiku · · Score: 1

    ... thank $DEITY for gcc.

  58. There's a catch to this... by Anonymous Coward · · Score: 0

    I have worked with MANY developers on this issue, its fairly well known.

    The Intel compiler does not check for feature sets, it checks for CPU type. If the CPU does not come up as GenuineIntel, it uses the slowest (but arguably the most reliable) code available -- it will not use SSE2/SSE3/3DNow/etc.

    If the CPU is a GenuineIntel, it automatically uses all of the features available on that CPU to make the fastest code it can..

    its really a shady thing to do -- and for reference, Intel does nearly have a monopoly on the compiler market. Just about everybody uses the Intel compiler, because on Intel machines it creates the fastest running code...

  59. By that logic by Anonymous Coward · · Score: 0

    By that logic nothing malicious has ever happened ever.

    1. Re:By that logic by Lovesquid · · Score: 1

      Neither has anything redundant, either.

  60. as someone who worked at a compiler company by MatD · · Score: 5, Interesting

    I know how this can happen (and it has nothing to do with being evil).
    The engineers get the specs for the next version of the compiler. They also get a slew of bug reports from the last version. They have a short amount of time to impliment the new specs, and fix the bugs.
    The bug reports will be something like, "on AMD processors when doing a memcopy with optimization xyz turned on, the processors mispredicts half the time. This makes it very slow."
    The engineer in that case, turns the optimization off for that generated code, thereby 'fixing' the bug (but not really). It happens all the time.
    It's not a nefarious plot, it's the same time crunch issue that every software engineer has to deal with.

    --
    Since when did operating systems become a religion?
    1. Re:as someone who worked at a compiler company by strikethree · · Score: 1

      Your claim would hold more weight if there were not many other factors (price fixing etc) weighing in against it.

      strike

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    2. Re:as someone who worked at a compiler company by Prune · · Score: 1

      And your claim would hold more weight if it was moderated higher. The parent you replied to is already at 5, so it seems it's holding far more weight than yours.

      --
      "Politicians and diapers must be changed often, and for the same reason."
    3. Re:as someone who worked at a compiler company by Omnifarious · · Score: 1

      Umm, I don't think this is what's going on, since it seems that almost universally, once you trick the compiler into think it really is on an Intel CPU, you get a nice speedup on AMD and no bugs. I've seen that story repeated by 4 or 5 different people talking about their own codebases now. So, your scenario really doesn't make sense.

      And even if it's what happened, it still isn't acceptable. The measure of abuse of monpoly power is the effect on the marketplace, not the intent.

    4. Re:as someone who worked at a compiler company by strikethree · · Score: 1

      He made his claim first and it seems like a reasonable claim, therefore his is modded higher for now. *shrug*

      strike

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    5. Re:as someone who worked at a compiler company by MatD · · Score: 1
      I don't work for the intel compiler team, so I can't say that it is or isn't actually intentional (I'm just saying that it's possible to be unintentional).

      As for the 'tricking the processor' part, just because you haven't found the bugs, doesn't mean they dont exist (or that the QA for Intel didn't find them).

      I'm not saying your wrong, I'm just saying this isn't a slam dunk case.

      I will take issue with your statement that Intel is at fault for not being more proactively supporting AMD processors. Your statement about a monopoly being the effect on a marketplace is completely incorrect. A business has to do something to actively prevent competition to be guilty of monopolistic practices.

      If I start a business and am better than everyone else, and they all go out of business becuase they suck and I don't. That isn't a monoply. If I then sign contracts that exclude other companies from entering the market, that is a monoply.

      Why would you think a company has to actively support a competitors product?

      --
      Since when did operating systems become a religion?
  61. Ah it's good to see by Buskaatt · · Score: 1

    After a few weeks of relatively typo-free story submissions, it's nice to see the /. editors buckling down and releasing one that's just rife with typos and grammatical errors. Thanks for not letting me down; I was starting to get worried.

  62. Grrr.... by Anonymous Coward · · Score: 0

    ...crappy Intel spellchecking on AMD CPU...took twice as long too!

  63. I agree with most of AMD's complaint, but... by Thagg · · Score: 1, Insightful

    in the compiler case, I don't think it is something they can legitimately complain about. Intel and AMD processors are actually different, and it appears that Intel has done some extremely aggressive optimization for their own processors. In particular, the pipeline length for the Intel processors are much longer, so instructions need to be scheduled differently to be optimal.

    That Intel hasn't done the same aggressive optimization for AMD processors can't be too surprising.

    Intel has hired some of the best compiler writers in the world (they had to, for the Itanium project) and have created a great compiler. Nothing is stopping AMD from doing the same thing.

    On the other hand, the "retroactive rebates" and innumerable other marketing techniques described in the article seem to be absolutely beyond the pale of antitrust laws. It is rampant abuse of the worst order. The pressures that they apply on various manufacturers and distributors are completely shameless, and are well documented. If the laws of this country are enforced (a big if!) then AMD has them dead to rights.

    Thad Beier
    Hammerhead Productions

    --
    I love Mondays. On a Monday, anything is possible.
    1. Re:I agree with most of AMD's complaint, but... by haggar · · Score: 1

      I am trying to imagine, how would application development for Windows look like, if the ISVs had to compile a different version for Intel and AMD CPUs.

      --
      Sigged!
    2. Re:I agree with most of AMD's complaint, but... by spworley · · Score: 1

      You're right that if the compiler produces code that's optimized for P4, and the different Athlon archtecture just happens not to be as efficient running that code, that'd be fair.
      But that's not what's happening. The Intel compiler will actually choose a slower code path for the AMD branch deliberately. It's not one set of instructions, it's two alternates. Ostensibly, the "slow" path is for compatability with old chips like the Pentium 1 and Pentium II, but the Intel compiler shuffles even the most modern Athlons into this slow path too.
      If you fool the compiler (or tweak the actual produced code) to make the Athlon take the "real" code path, your code runs faster.

    3. Re:I agree with most of AMD's complaint, but... by Anonymous Coward · · Score: 1, Insightful

      The accusation is not that "Intel hasn't done the same aggressive optimization for AMD processors". In fact, they did some aggressive DEOPTIMIZATION for AMD processors. That's not wrong, but it is wrong to do it, and then not tell the people that you did it. It's fraud, because Intel in convincing them to buy Intel processors based on false impressions and hidden information.

      Defrauding consumers is general tolerated in America, even much more blatent efforts. What surprises me is that Thad Beier is willing to ADVOCATE fraud, and help disguise it lies and spin, under his own name publically.

      Aren't you worried that in the future peole might google on your name and find this post ?

    4. Re:I agree with most of AMD's complaint, but... by Devistater · · Score: 1

      Except its talking about enabling or disabling MMX or SSE type instructions depending on if its intel or amd. If its intel AND pentium 4, they are turned on, otherwise they are not (even pentium 3 has them turned off). Despite the fact that there's a specific register to check to see if the CPU supports MMX and SSE etc.
      Since they disable them for pentium 3 and earlier and AMD any type, that means they are doing it for performance reasons, to make the P4 look good. Clock for clock the P3 is faster than the P4.

      Has nothing to do with scheduling. And thats more of an internal CPU thing anyway.

  64. Lawyers by Anonymous Coward · · Score: 0
    Intel's lawyers are ferocious. I'm posting anonymously, because I have direct connections to previous "victims" of Intel's lawyers (think Pentium divide bug and "Intel Secrets"). Intel has the most vicious and aggressive legal team you can imagine. I can guarantee you that they have a defense all lined up against every single one of AMD's claims. And it's 99% likely that they've had this defense planned since they wrote that compiler code. Hell, there's probably even a vague comment in the code that says something like
    // Had to add this version of the memcpy loop because we found some AMD CPU/chipset combinations had higher throughput.
    And that statement may even be half true... There may have been one broken AMD CPU back in 1992 that actually had poor cache performance with "rep movsd" or something like that, and Intel saw that as an opportunity to sneak in some bogus code that they could half-legitimately say was "necessary" on AMD CPUs. Anyway, the bottom line is this: Intel is more than prepared for the legal attack from AMD. They've been prepared for it for years. They love playing the legal game, and they will probably win. This compiler-code thing will be one of the easier allegations for them to defeat.
  65. It would explain a thing or two by overshoot · · Score: 1
    like why some proprietary applications run so much better on Intel hardware than on AMD chips that have markedly better performance on any open-source benchmarks.

    I don't blame Intel for putting out a compiler that tweaks code for optimal results on their chips; the P4 in particular has some properties that scream for compiler workarounds (really long pipelines, long memory latency, nasty branch misprediction costs, etc.) That's kosher.

    Active sabotage, on the other hand, is just slimy. Maybe not illegal, but slimy.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  66. Graphics cards by Bendejo · · Score: 1

    This type of warfare is no news to me. I'm sure many of you are already aware of such tactics used with graphics card. On several games (proudly sponsored by NVidia, Unreal Tournament 2004, Deus Ex 2, etc.) The gameplay is very laggy when run on a non-NVidia card. But on an NVidia card, even one of less processing power than the ATI cards, it will lag unbearably. I think the companies that take part in this should be brought on trial. They're trying to leverage their influence on developers to get people to switch to their products. Sounds illegal to me.

  67. Re:The Limit of Lawsuits by AKAImBatman · · Score: 4, Insightful

    Part of AMD's claims is outrageous. Why would AMD expect its competitor, Intel, to write software that supports AMD's own products? We would not expect IBM to modify AIX or any other IBM software package to run on SPARC, which is a poorly designed processor.

    1. AMD's claim is that the Intel Compiler produces code that actively detects the AMD CPU, then intentionally runs slower code. That's not the same thing as Intel optimizing their compiler for the Pentium Architecture.

    2. If you think the SPARC is a poorly designed processor, you need your head checked.

    By restricting the GCC compilers to generating only a simple but fast subset of instructions, we could encourage both AMD and Intel to deprecate and, ultimately, eliminate the more complex x86 instructions. Linux and the bulk of open-source software use the GCC compilers and would provide a critical mass of support for a new streamlined transistor-count-reduced x86 chips. Here, I am thinking, "shockingly reduced in power due to using 1/3 of the transistors."

    Wouldn't that make the x86 Platform act like one of those "Poorly Designed RISC Processors" you were just complaining about?

    In any case, you won't see much of a transistor reduction. Most of the instructions you're trying to avoid are implemented in MicroCode and add no significant overhead to the chip. What *does* add all the transistors is the 20 stage pipeline, branch prediction, superscalar execution, Out Of Order instructions, etc, etc, etc.

  68. Happy Indictment by gosand · · Score: 1
    imagine that, the company isn't taking time to waste R&D for a product they don't make.

    Well, you are wrong. It is a company wasting (or spending) R&D time and money to specifically hurt a competitor. This alleges that they went out of their way to not optimize for their processor, but to cripple it for a competitor. That is a huge difference, and if you don't see it then you'll probably be indicted at some point in your life.

    --

    My beliefs do not require that you agree with them.

  69. Re:Rotten pratice by PatMouser · · Score: 1

    I'm running a Venice 3000+ now. Really sweet. Fast as all getout.

  70. Intel Chip = No Sale by richyoung · · Score: 2, Interesting

    In both home and work purchasing decisions, I've been refusing to buy Intel machines for years now because I felt Intel processors were overpriced and was hearing rumours of anticompetitive practices like this. It has gotten easier to justify this prejudice as mobo support improved and AMD increasingly kicked Intel's ass over the last five years or so.

    --
    6. Audible Alarm (not shown)
    -from a Cuisinart product owner's manual.
  71. Simply ludicrous or is it??? by croxmeister · · Score: 1

    Quote: Why, that would be like claiming that Microsoft configured its servers to give broken HTML to browsers other than Internet Explorer If i rember correctly, this did happen the makers of Opera sued Microsoft because hotmail gave broken style sheets to non ie based web-browsers

    1. Re:Simply ludicrous or is it??? by Anonymous Coward · · Score: 0

      hey, wake the fuck up

      also, someone mod this guy down. not only did he not get it, he has crox in his name

    2. Re:Simply ludicrous or is it??? by Anonymous Coward · · Score: 0

      Aw, come on, be nice to him. You know that anyone with the name "croxmeister" has got to be living in his parents basement.

    3. Re:Simply ludicrous or is it??? by PhoenixPath · · Score: 1

      I think that was the intention...to point out obvious instances where such things have teken place.

    4. Re:Simply ludicrous or is it??? by croxmeister · · Score: 1

      yeah i realise that now sometime sarcasm goes over my head the first time i read it

  72. Compiler + host platform + target platform combo.. by Gopal.V · · Score: 4, Insightful
    > wouldn't there be programs all over that ran fine on Intel but crashed on AMD?

    Most Linux development is done using GCC , Most of windows with MSVC++. Only true hard-core inner-loop optimising geeks usually use Intel C/C++ compilers. These are people like game devs, crypto developers and HPC programmers.

    So yeah, there's a lot of code that doesn't work with Amd64 when compiled with ICC. But how many people build stuff on Amd64 with an Intel compiler ?. (remember this is not valid for stuff compiled on a pentium 4 but running on amd64)
  73. Write Your Own Damn Compiler, AMD! by tjstork · · Score: 3, Insightful

    Intel makes a compiler and a debugging aid for their chips. AMD should make one for theirs. It sucks to go to AMD's web page and they don't have nearly the developer resources that Intel has. If the GNU people can make a compiler for every fricking chip on the planet on their own dime, surely AMD can write a good C / C++ compiler for their chips.

    --
    This is my sig.
    1. Re:Write Your Own Damn Compiler, AMD! by bitplayer · · Score: 1

      I don't know much at all about the workings of the gnu/gcc development group. Is there any particular reason that the gcc people and AMD couldn't come to some sort of arrangement to scratch each other's backs, so to speak?

    2. Re:Write Your Own Damn Compiler, AMD! by Anonymous Coward · · Score: 0

      Better yet improve gcc to make better code for AMD chips.

    3. Re:Write Your Own Damn Compiler, AMD! by stud9920 · · Score: 0

      Even better yet, hire rms to do it. He's done that before.

    4. Re:Write Your Own Damn Compiler, AMD! by P3NIS_CLEAVER · · Score: 0

      Perhaps Intel should state that their compiler doesn't work with AMD processors. See how many people buy said compiler.

      --
      Please sign petition to restore sanity to our banking system!!!

      http://financialpetition.org/
    5. Re:Write Your Own Damn Compiler, AMD! by Anonymous Coward · · Score: 5, Informative

      If the GNU people can make a compiler for every fricking chip on the planet on their own dime, surely AMD can write a good C / C++ compiler for their chips.

      Hey, maybe instead AMD could pay people to work on GCC. Oh, wait, they do that already. Why do you think GCC was ported so quickly to AMD64? GCC development is not, AFAIK, funded much (if at all) by the FSF anymore. It's all Apple, AMD, IBM, the various Linux vendors, etc.

      I'll take an open source compiler that is installed everywhere over a commercial one that is only on a handful of machines.

    6. Re:Write Your Own Damn Compiler, AMD! by Anonymous Coward · · Score: 0

      At least AMD could write optimization routines for their chips in the GCC compiler. No need to start from scratch.

    7. Re:Write Your Own Damn Compiler, AMD! by keesh · · Score: 1

      A *good* C++ compiler? No-one's ever written one of those. Heck, there's not even a complete C++ compiler + standard library implementation yet (although g++ is getting close). Do you expect AMD to be the first?

    8. Re:Write Your Own Damn Compiler, AMD! by Xepherys2 · · Score: 1

      Errr... no!

      This doesn't foster a healthy technological effort. IMHO, these companies need to stop being so damned greedy and start making US Technology a leader again. I mean, if LG made x86-64 procs, I'd buy one before I bought AMD (and LONG before I bought Intel) because I trust them as a technology developer.

      Frankly, AMD doesn't have the resources because, though they've been around as long as Intel (roughly), they've never gouged the market like Intel has for the last decade and a half. So they should suffer for having made affordable quality products instead of trying to rape you for every last dime? Hmmm...

    9. Re:Write Your Own Damn Compiler, AMD! by g_goblin · · Score: 0

      I was thinking the same thing myself. If you want fast code, use VC, Borland, GCC, etc. If you want it to be fully optimized, then buy the compiler from the CPU vendor - it makes since.

      Maybe its just me, but I would never buy an Intel compiler for code running on an AMD - common since.

    10. Re:Write Your Own Damn Compiler, AMD! by Sycraft-fu · · Score: 0, Flamebait

      Well the problem is that CGG doesn't seem to do a good job of producing optimized code. I'm not sure if this is because it needs further work, or because of the extremely portable and general nature of GCC (it can compile code to an insane number of architectures) make it impossible to optimize to the level of a specific compiler.

      Whatever the case, GCC doesn't generate code as good as the ICC, nothing does. A few months ago one of the tech rags we get here had a compiler roundup featuring GCC 3 and 4, MSVC++ 6 and 7, a number of others and the ICC. GCC 4 and MSVC++ 7 were clearly better over all than most others, they fell behind sometimes, but usually they were both good, though which was better changed. Well, that is they were better than all but the ICC. It won every test, most by a large margin, some by a staggering margin.

      Now I'm not a compiler writer, I have no idea why this is the case, or what difficulties are involved, but this is the case. In another more receant comparison (which I can't find the link for, sorry) a tech site did some compiler comparisons on Intel vs PPC after the announcement that Apple as going Intel. They took 10 FP tests and compiled them. GCC for the PPC managed to vectorize 1 of the 10 tests. The ICC vectorized all 10.

      So maybe AMD needs to work harder on improving GCC, maybe GCC is too general to produce the real optimized code that the ICC does. Whatever, AMD really should be trying to produce their own compiler that competes with the ICC. If they made a compiler that did as good a job on Intel as the ICC and much better on AMD, you'd find most developers would use it.

      The other thing it needs that GCC doesn't do is the ability to plug in to MS Visual Studio. Most Windows apps are developed in that and, for better or worse, Windows is the majority of the market for AMD and Intel. If AMD offered a drop-in replacement liek Intel does, but one that works better and perhaps was cheaper (the ICC is fairly expensive) you'd find people going to it in droves, espically game developers.

    11. Re:Write Your Own Damn Compiler, AMD! by Anonymous Coward · · Score: 0

      It wouldn't make any sense for AMD to do that. It costs millions a year to have a compliler development team. AMD instead relies on high-quality aftermarket compilers like PathScale, which is the best performing compiler for 64-bit Opteron.

    12. Re:Write Your Own Damn Compiler, AMD! by Craig+Ringer · · Score: 1

      Yep.

      While gcc isn't as good as any compiler written for just one arch, it's being improved fast. There's another factor people miss.

      When I'm porting to a new arch, being able to use the same compiler is bliss. One less variable to worry about. I'll support gcc first, and only then consider compilers that only work on that arch.

      "You can use your familiar tools" is a big attraction.

    13. Re:Write Your Own Damn Compiler, AMD! by Anonymous Coward · · Score: 0

      nobody should ever hire rms! He'd be the last person on earth I'd like to work with.

      Makes working with Paris Hilton look easy

    14. Re:Write Your Own Damn Compiler, AMD! by OverCode@work · · Score: 1

      Except that many other compilers (MS VC++, ICC, etc) outperform GCC by a significant margin.

      GCC will improve, especially with the new infrastructure in the 4.x release. But if you care about performance, GCC is probably not the best route.

      GCC's main strength is portability.

      -John

  74. Can't be proven by razmaspaz · · Score: 0

    I don't remember all the details but in my college security class we talked about hiding things like this in a compiler in a way that can NEVER be found.

    First lets make the safe assumption that the code is obfuscated. So we can't look at the compiler's executable to see if it is doing this.

    The next logical place to look is the source. Well if the Intel compiler is used to compile the source then it could add anything it wants along the way. So the source is not at all a guaranteed acurate representation of the compiled code.

    So the last place is the source control. But it is WAY too easy to doctor that. So there is nothing to trace back any deletions with any infallability.

    Scarry.

    --
    I tried for 5 years to come up with a clever sig...only to realize that I am not clever.
  75. Re:The Limit of Lawsuits by myrick · · Score: 2, Interesting
    AMD does not expect its competitor to support AMD products. AMD's products by nature conform to the same x86 instruction set as Intel's. If Intel's compiler were 'blind' in the sense that it just made x86 code, regardless of the processor, it should run fine. The problem is that Intel is intentionally crippling software that will be run on an AMD system. It doesn't cost Intel anything to 'support' AMD systems; at least, it doesn't require them to expend more money. It does, however, make AMD systems more competitive for Intel to make such a blind compiler, but that's what this whole thing is about, isn't it?

    Personally, I think this is a bit of a grey area. Obviously, it seems wrong that Intel should be crippling software, but at the same time, they aren't making anyone use that compiler in the way they are making people not sell AMD products (maybe I'm wrong, I didn't read that enourmous legal document). Ultimately, this whole thing is secondary to the monopolistic discount allegations, anyway, so it would be nothing more than icing if it's true. It does make for a nice "they're big meanies!" finger-pointing fest, though, huh?

    --
    I'd rather be cycling.
  76. Funny you should mention that... by porkThreeWays · · Score: 1

    One of my old bosses said he didn't like using AMD chips because some of his programs didn't run right and would crash. I thought it was b.s., but this does shed some new light on the claim. This was about a year and a half ago he told me this, and he was speaking of experiences from a few years back, so maybe he was speaking about the sub 1ghz amd cpu's.

    Also, I don't think nearly as many people use Intel's compilier as Microsoft's for windows programs and GCC for open source.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
    1. Re:Funny you should mention that... by rm69990 · · Score: 1

      Most proprietary apps compiled on Linux use GCC from what I've seen. Things like Java, Real Player, Adobe Reader (??) all use GCC. The only thing on Linux that I can think of that is compiled using ICC is MySQL's commercial version, and even then, as far as I know, you can choose between a GCC and an ICC version.

  77. not the same by Mr.+Underbridge · · Score: 3, Insightful
    Part of AMD's claims is outrageous. Why would AMD expect its competitor, Intel, to write software that supports AMD's own products? We would not expect IBM to modify AIX or any other IBM software package to run on SPARC, which is a poorly designed processor. Sun Microsystems can surely whine about IBM's tactics, and Sun has definitely whined. However, IBM is well within its rights to withhold software support.

    There's a difference between not supporting hardware and using your position to intentionally tank someone else's product. They have to go out of their way to make code execute crappy on AMD. If they were being chip-agnostic and it just didn't run on AMD, that would be different.

  78. why doesn't AMD release their own compiler by t35t0r · · Score: 0, Redundant

    Why doesn't AMD release their own compiler? They could easily fork a gcc release and open source it.

    1. Re:why doesn't AMD release their own compiler by tomstdenis · · Score: 1

      Alternatively they could just contribute to the mainline GCC branch and help make the DFAs more accurate.

      Though to be honest, GCC 3.4.4 achieves fewer cycles per operation on my AMD64 then ICC v8 on the Prescott P4.

      So I'm happy ;-)

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:why doesn't AMD release their own compiler by Pelops · · Score: 1

      Because AMD is already contributing to GCC. As one poster previously noted, if gcc had quick support of AMD64, it was because AMD helped to port GCC to their processor.
      Furthermore, it takes a lot of ressources to create a good optimized compiler, so AMD strategy to help GCC is a very good and vald one.

    3. Re:why doesn't AMD release their own compiler by dhasenan · · Score: 1

      Or AMD could just fork GCC. Which they will, if it becomes a large enough issue.

      Why fork rather than their current method of support? Commercial environments tend to focus on particular tasks and finish them faster.

      Of course, with the GPL, an AMD-specific compiler could quickly be remerged into the main branch of GCC, where the randomness of open source development could introduce interesting changes. At the least, the remerging would guarantee that AMD would perform better with most GCC-compiled applications, which would be very good for business.

      Come to think of it, why haven't they?

  79. Patch for your script by MattW · · Score: 2, Funny

    ************
    *** 5,7 ****
    } else {
    - // I got nothing. *shrugs*
    }
    --- 5,7 ---
    } else {
    + // I got nothing. Well, except the millions I got paid by Andover. *lights cigar with burning stack of hundreds*
    }
    ************

    1. Re:Patch for your script by rzebram · · Score: 1

      Isn't it beautiful to see open source at work?

  80. Re:The Limit of Lawsuits by myrick · · Score: 1
    Isn't Prescott 32 stages nowadays? Silly Intel. Gotta have the bigger pipeline, huh?

    And as a person who's designed a simple (can't do too much in 10 weeks) 2-issue out of order machine, let me tell you, that's fun stuff. Really makes you appreciate how insanely complex real processors are. And don't even get me started on their branch prediction...

    --
    I'd rather be cycling.
  81. The story here is the marketing practices... by asdfasdfasdfasdf · · Score: 4, Informative
    From TFA:


    As a result of Intel's coercion, the HP-AMD desktop
    offering was dead on arrival. HP ended up taking only 160,000 of the million microprocessors
    AMD offered
    • for free.


    You should really read this, it's pretty amazing. After AMD offerred HP 1 million processors to compete with Intel Retaliation, Intel upped the stakes, and HP backed down.

    I for one am VERY scared about the new Apple Intel adoption. I've always been an AMD fan, but prices of late, as well as difficulting getting "approved" systems for my video editing software has made me purchase Intel for my last 2 machines. (Though I type this on a barton 3000).

    I don't think Intel has been driving the innovation bus, and if you thought Microsoft was the bad guys, I have a feeling you aint seen nothin yet.

  82. AMD are a parasite by Anonymous Coward · · Score: 0

    Why dont you use AMD's compiler if your want code optimized for
    AMD chips.

    Oh that's right they dont have one. AMD are parastic
    that live off Intel's R&D.

    AMD only managed to get into x86 because IBM insisted that Intel give up the x86 design to a rival so that it could be guaranteed a second supplier for its chips. Yes they came up with EMT64 but that has just lumbered us with the legacy x86 crap that it looked like we were going to finally get to leave behind.

  83. I've always suspected something like this... by aldragon · · Score: 1

    Due to how much better the benchmarks seemed to rate the intel processers whenever it was compiled with the intel compiler...
    However the statment about "and even crash" suprises me somewhat.

  84. Steinberg products by Alehandro · · Score: 0

    Steinberg products (Cubase, Nuendo..music production software) do run better on Intel. Why noone knows but it was known to be like that.

  85. Interesting History by Sir_Dill · · Score: 1
    The link is to the court documents pertaining to a larger anti-trust and anti-competitive lawsuit.

    The first several pages are a very interesting history of the AMD - Intel relationship. I learned a few things that I didn't know before like AMD was one of the original companies vying for the IBM PC crown. The lawyers for AMD draw several similarities between Intel and some of the more famous monoplies from the industrial revolution like Standard Oil and Alcoa Aluminum...kinda ballsy actually.

    The compiler isn't mentioned until page 40 of a 48 page doc so this is alot bigger than just a problem with a compiler.

    I am going to play devils advocate here. Not that Intel isn't guilty as sin, but it seems that reading the court document that AMD has already won a lawsuit against them of a similar nature previously. IANAL but isn't this just the same thing re-heated and re-hashed or is this Intel using a different method to unfairly inhibit AMD's ability to market thier products and AMD fighting back as it has in the past?

    Discuss....

  86. Re:The Limit of Lawsuits by Blindman · · Score: 1

    There is a big difference between writing software that supports AMDs products, and crippling software so that it doesn't work with AMDs products. This would be sort of like having a car that detects the brand of gas that you use and either refusing to work or switching into low gas mileage mode if the "wrong" brand is used.

    --
    I don't practice what I preach because I'm not the kind of person that I'm preaching to.
  87. Re:The Limit of Lawsuits by Master+of+Transhuman · · Score: 2

    "Why would AMD expect its competitor, Intel, to write software that supports AMD's own products?"

    How about because Intel's compiler customers would expect Intel to do so?

    It's hardly the same as refusing to allow your OS to run on another company's processors. If you don't want your compiler to support AMD, engineer it that way and say so to your customers. Building in stealth methods of sabotaging performance on the CPU is hardly the way to go (if in fact that is what Intel did without good engineering reasons why.)

    Did you use to work for Enron or WorldCom by any chance?

    Do you work for Microsoft?

    I'm amazed at how you can find shills on /. to support almost any form of sleazy behavior on the part of some corporation.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  88. What is it for anyway? by Xeeble2 · · Score: 1

    I suppose it all depends on what Intel likes to pretend their compiler is for. If it supposed to be a good general purpose compiler and the claims are true, then it isn't going too well. If it is supposed to compile only for the P4 and having the code run on anything else is a happy accident then it seems a poor choice for developers. Maybe we need to start producing Intel and AMD versions of all our x86 binaries?

  89. Re:The Limit of Lawsuits by Charles+W+Griswold · · Score: 2, Insightful

    Part of AMD's claims is outrageous. Why would AMD expect its competitor, Intel, to write software that supports AMD's own products?

    The allegation is that Intel writes software that specifically detects AMD chips and then deliberately generates pessimal code that would run poorly on any processor.
    --
    "Those who are too smart to engage in politics are punished by being governed by those who are dumber" -- Plato
  90. I hope you petented those ideas. by team99parody · · Score: 1
    Microsoft configured its servers to give broken HTML to browsers other than Internet Explorer..... Anybody can see that this claim is ludicrous and that things like this just don't happen. (but I hope I'm not giving anybody any ideas.)

    I hope you patented those ideas so if any of those companies were to do something so outrageously filthy they'd owe you royalties.

    1. Re:I hope you petented those ideas. by Sheridan · · Score: 1

      No can do - too much prior art out there ;-)
      --
      I'm not politically incorrect, I'm just differently articulate

  91. This may be bullshit... by birge · · Score: 2, Interesting

    First of all, the Intel compiler only creates processor routing code if so selected by the user. Otherwise, you can target any level of architecture just like any other compiler and no processor forking occurs. Second, when you do use processor routing, it simply forks off to code optimized for the processor you select if it detects that specific processor. For example, if you optimize for a P4, two (at least) branches are created: one optimized for the P4 and one for anything else. The anything else branch isn't "degraded" it's just unavoidably not as optimized. My understanding is that an AMD and P3 would BOTH see the less optimized code if you selected P4 code to be generated.

  92. Re:Use GNU Compilers! by tetsuo29 · · Score: 1

    Well, if it's the case that the compiler just didn't optimize for competitors' processors, then I'd agree with you. However, in the event that Intel took the time to code their compiler to intentionally degrade performance on competitors' processors, then I'd have to strongly disagree with your point.

    --
    english is my first language, but my only formal education in it was from U.S. public schools, so you may forgive me for
  93. Already Been In Trouble by MissingIntellect · · Score: 0

    Remember, Intel's already been in trouble for monopolistic practices, in Japan, for example, and setttled, so you still kind of have to wonder...

  94. Valid discriminators from CPUID 1 EDX by redelm · · Score: 1
    Multiple codepaths aren't unusual, particularly in highly [hand] optimized library routines. But they should be selected based on CPU features returned from CPUID (eax=1) in register EDX, not mfr strings. They have to be anyways, because different "GenuineIntel" have different optimum codings dependant on feature set.

    Even if true, this complaint probably isn't worth much. AFAIK, Very little commercial software is prepared with the Intel compiler/libs.

  95. Intel Fortran Compiler works fine for me on AMD by ajmarchu · · Score: 2, Informative

    I work in a computer simulation lab. We have something like 50 AMD processors running code we compiled with the Intel Fortran Compiler and it's been working great for the past two years now. We have a mixture of Athlons and Opterons. Everything is workin' great. No problems. We used to use the Portland Group's fortran compiler until we found that the Intel Fortran Compiler generates faster executables. This was the case for both 32 and 64 bit executables. Started out with Portland Group, switched to Intel...and it works great for us!

    1. Re:Intel Fortran Compiler works fine for me on AMD by Dan+Berlin · · Score: 3, Insightful

      You don't get it.

      The Intel compiler (inlcuding the fortran one) is generating code that looks something like:

      if (processor == real intel processor && processor supports SSE/MMX/SSE2/SSE3)
      {
      Use super optimized code path using MMX/SSE/SSE2/SSE3
      }
      else
      {
      Use slower, stupid code path.
      }

      Instead of
      if (processor supports MMX/SSE/SSE2/SSE3)
      {
      Use super optimized code path using MMX/SSE/SSE2/SSE3
      }
      else
      {
      Use slower, stupid code path.
      }

      They do this *very specfically* to make sure that even though AMD supports the instructions it wants to execute, it won't use the fast path.

      This is not some accidental design where it was easier to do this. Intel's marketing folks basically told the compiler folks to do this, or so the story goes.

      If you were to patch the check at the beginning of your programs so that it returned true on AMD cpus as well, everything still works fine (in *all* cases), *and* it will run faster on AMD cpus.

      Try it. If you look at the posts above, someone has posted the variable you need to reset that it is checking.

    2. Re:Intel Fortran Compiler works fine for me on AMD by ajmarchu · · Score: 1

      cool. thanks. i'm having a problem finding the variable that i need to reset. there are about a kagillion posts up there. could you maybe point me toward a particular thread? that would be awesome. thanks.

    3. Re:Intel Fortran Compiler works fine for me on AMD by ajmarchu · · Score: 1

      i am so busted. i did not understand. everything was working OK because i did not have the two stupid flags on. the two (four in case of the 8.0 version of the compiler) stupid flags (as mentioned above) and in the amd online documentation: www.amd.com/us-en/assets/content_type/white_papers _and_tech_docs/32035.pdf are: for the Intel 7.1 compiler -xK and -xW Intel 8.0 -xK -xW -xP -xB and -xN Intel 8.1 -xN and -xP see table 10 on p. 57 on the 8.0 compiler, -xK slowed down my code (relative to no -xK) and -xP crashed my code: forrtl: severe (168): Program Exception - illegal instruction Image PC Routine Line Source md 0804A124 Unknown Unknown Unknown md 00B2678A Unknown Unknown Unknown md 08049FC1 Unknown Unknown Unknown HOWEVER I would like to mention that -O3 works fine! I never heard of these two (four) foobar flags before today. They are eevil, yes, but the flag combo -axP -xW -ipo -O3 as suggested by the AMD documentation gave me a 0.5% speed up compared to just -O3 on my Opteron (NOTE: I was using the 8.1 compiler where they work fine according to AMD's documentation). I would now like to join the camp of people writing here that says "this is no suprise. it's in the AMD documentation for the love of Mike!"

  96. RIght way to do it by nuggz · · Score: 0

    If it is their CPU, they use the special features of their product.

    If it is a competing product they simply use the most reliable implementation.

    Sounds quite reasonable to me, and anything less could get them in trouble.

    What if they coded in an AMD feature incorrectly, and didn't happen to notice?

    1. Re:RIght way to do it by gnasher719 · · Score: 1

      "If it is their CPU, they use the special features of their product.

      If it is a competing product they simply use the most reliable implementation.

      Sounds quite reasonable to me, and anything less could get them in trouble.

      What if they coded in an AMD feature incorrectly, and didn't happen to notice?"

      AMD processors have exactly the same special features. The P4 optimised code can run on an AMD processor just as reliable as it will run on a P4. And if it doesn't, that would be AMD's problem, not Intel's.

      Actually, if it didn't run on AMD chips, that would give Intel a way to f*** AMD legally. Since they didn't choose to do that, I would think they couldn't produce code that would run on P4 and not on AMD.

      Now if Intel could find instructions that are much slower on AMD than on P4, and used them a lot in their P4 code, that would be entirely legal. I know it could be done the other way round, because P4 has some interesting performance traps.

    2. Re:RIght way to do it by nuggz · · Score: 1

      AMD processors have exactly the same special features.

      I'm sure my AMD 386/40 doesn't have all the features of Intels last chip.
      I don't think it is unreasonable that Intel only considers the features on their own CPU, and considers all other CPUs as a basic implementations.

      However this could free AMD to have their CPU report GenuineIntel as it is required for proper interoperability.

  97. I have to post anonymously by Anonymous Coward · · Score: 0

    I work on the design team for the compiler in question. Intel releases their C++ compilers to customers knowing full well that the product is designed for the best performance out of Intel systems. The basic premise is that the Intel compiler has options for our own processors and then all other processors. Intel just writes the code for the lowest common demoninator. If you want a compiler for AMD optimized code, then I go buy something like that. Intel cannot be expected to write code for AMD processors unless AMD wants to subsidize the R&D costs. Fruthermore, AMD is suggesting that we are actively writing horrible code for their processors but I know for a fact that if we are asked to open the source code for our compiler in court it will be apparent that we have two code pathes: Intel processors and other. We have been told that AMD is developing its own compiler and they are hoping to force the court to have us turn over the compiler source code so they may integrate our optimizations into their product. AMD is nothing more than just another SCO as far as I am concerned.

    1. Re:I have to post anonymously by Anonymous Coward · · Score: 1, Informative
  98. Only the paranoïds by openfrog · · Score: 1

    This gives a new twist to (first Intel CEO) Andy Grove's motto that "only the paranoïds survive"...

  99. This hurts consumers by dtjohnson · · Score: 1

    The binaries compiled with Intel compilers run slower when they detect an AMD cpu which means that every AMD user is getting lower performance than they should be getting when they are running Intel binaries. That extra little bit of time that your AMD system took might mean that *you* spent a little bit longer than necessary in front of the computer as well. Is Intel compensating you for your time that they have deliberately wasted? Is Intel paying you for the extra little bit of electricity that was unnecessarily used to run the code at a deliberately slower rate?

  100. See DevX article by Anonymous Coward · · Score: 0

    Not new issue as many have observed. See slightly technical article at:

    http://www.devx.com/amd/Article/28001

  101. on the other hand... by scotty777 · · Score: 1
    you said "[let's not ]attribute to malice that which can be fully explained by incompetence.

    on the other hand...

    the best guide to future performance is past performance...

    forewarned is forearmed

    and George Santayana: "He who cannot remember the past is condemed to repeat it."

    In the US courts, past behavior can be used to show an indication of intent. Intel has been convicted of illegal anti-competitive behavior. Of course folks are quick to say "here they go again!"; that's only natural, and reasonable as well.

  102. Re:Compiler + host platform + target platform comb by jmking1 · · Score: 1
    (remember this is not valid for stuff compiled on a pentium 4 but running on amd64)
    From what I gathered, the generated code dynamically selects certain code paths and functions at runtime based on the processor which it is running on. So, this would apply to any binary built using ICC on any machine and run on an AMD processor.
  103. -1 naive by Anonymous Coward · · Score: 0

    That's a nice thought but... Try reading other posts (or just reading in general) before you post. Many other educated readers who aren't so optimistically naive have shed some additional light on the issue. Plus there's been other articles posted with compelling evidence.

  104. Re:The Limit of Lawsuits by alistair · · Score: 1

    "run on SPARC, which is a poorly designed processor"

    I know this is Slashdot, but do you have anything to back this up. Everything I have read about SPARC seems to suggest that it is a very well designed processor although manufacturers seem to have failed to push uit to the MHz that Intel and AMD have achieved.

    You also overlook the fact that SPARC is not owned by an individual manufacturer but by the SPARC Consortium. This means that the AMD / Intel issues described in this thread simply could not exist as everything is genuine SPARC. I recently bought some Fujitsu PrimePower SPARC boxes in preference to SUN boxes, they are certified by SUN to run all versions of Solaris and indeed they are currently running Solaris 9 like a dream. In addition they are outperforming some other manufacturers XEON boxes we also use to run JAVA software on an out and out price comparison basis and have had 100% relaibility of 16 months, not something I can say for every Linux / XEON box I have use (based on a very small sample size of 3 PrimePower to 5 XXX Vendor XEON, so take with a pinch of salt).

    SUN's roadmap for SPARC continues to look very good and their low end boxes compete very favourable with even their own AMD based boxes. So I remain confused as to what's not to like, I will certainly be bying them again (especially with Solaris 10 shaping up very nicely).

  105. Re:The Limit of Lawsuits by AKAImBatman · · Score: 4, Insightful

    Isn't Prescott 32 stages nowadays? Silly Intel. Gotta have the bigger pipeline, huh?

    Indeed. Only Crays and DSPs used to have pipelines that long. A single jump instruction, and you have to flush the entire pipeline! In super-computing and DSP, you almost never see a jump, so there's no concern. But in Intel's zeal to win the clock rate wars, they maxed out the pipeline to an absolutely ungodly length. And a 2.2 GHz AMD64 *still* outperforms a 3.2 GHz Pentium!

    Seems that Intel's P4 design backfired on them. Of course, that may be due to Intel's belief that the Itanium would take the market by storm. They did learn from their iAPX 432 chip by at least producing a method for emulating x86, but they failed to take into account how deeply entrenched the x86 performance crowd was. Now AMD64 is eating Intel's lunch! (Oops!)

    And as a person who's designed a simple (can't do too much in 10 weeks) 2-issue out of order machine, let me tell you, that's fun stuff. Really makes you appreciate how insanely complex real processors are. And don't even get me started on their branch prediction...

    I hear you. Trying to cram a reasonable chip into an FPGA can be quite a challenge. If MicroCode hadn't been invented, it might not be possible to fit one in so few transistors. At least we can finally stop the CISC vs. RISC debate. The MicroCode designs provide CISC instructions on top of RISC cores just to confuse the heck out of both sides. Next up, writing a VI clone in LISP! ;-)

  106. Inter vs Microsoft by dudestir · · Score: 1

    I thought Microsoft had to create two divisions. One to do OS's and one to do applications.

    The Application division was not supposed to use OS's secrets to aid the sale of their applications.

    Why should Intel be differernt?

    One division to create the best hardware they can and a separate to create the best compiler they can. The separation should ensure the software division does not use hardware specific knowledge they have on the Intel chips.

    If this doesn't/hasn't happened then would AMD not have cause to include the software component in its suit?

  107. Re:The Limit of Lawsuits by dgatwood · · Score: 1
    Right. If I interpreted that correctly, they say that the compiler detects what hardware the COMPILER is running on, and if it isn't an Intel CPU, generates suboptimal code.

    The most likely reason for this is that the compiler doesn't recognize the chip at all, and says "oh, this is probably some really old Intel chip, so I need to ensure compatibility with CPUs back to the dawn of time." I doubt it's an intentional attack on AMD. It probably isn't explicitly detecting AMD's chips so much as falling through the default case of a switch statement or something....

    Just my gut feeling.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  108. New news by SpaceLifeForm · · Score: 1
    --
    You are being MICROattacked, from various angles, in a SOFT manner.
  109. I remember... by JustNiz · · Score: 1

    Microsoft also got caught doing this with a particular (early) version of Windows (was it 3.1?).

    1. Re:I remember... by LarsG · · Score: 1

      Microsoft also got caught doing this with a particular (early) version of Windows (was it 3.1?).

      Sort of. IIRC, it was in a pre-release version which was distributed to betatesters and reviewers. If attempting to run on non PC/MS-DOS it would output a warning and exit.

      The same code was also included in the release version of Win 3.1, but was disabled by a single bit flag. Leading some people to believe that MS had plans to silently flip the bit later (say, when installing MS Word) if DR-DOS became a serious threat.

      Google for 'AARD Windows' for the full scoop, I believe Byte or DDJ had an in-depth article about it at the time.

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
    2. Re:I remember... by JustNiz · · Score: 1

      No I was referring to a discovery made by someone (AMD themselves I believe) that a particular version of Windows had code to execute additional wait states if an AMD processor was detected.

  110. Please READ the PARENT by ratboy666 · · Score: 1

    And mod it up. Way up.

    I mean, AMD is way out of line here.

    There is neither malice, nor stupidity at work here, except on AMDs part. And AMD *has* an out -- work out their own compiler technology.

    Ratboy.

    --
    Just another "Cubible(sic) Joe" 2 17 3061
    1. Re:Please READ the PARENT by Grotus · · Score: 1

      AMD is not out of line here. Possibly if the suit were entirely based on the compiler issue they would be. However, the compiler issue is only offered as one example of a pattern of anti-competitive behavior.

      Here's the run-down for you:
      Intel has a monopoly in the x86 market (90% share by revenue, 80% by units). To help maintain their monopoly in that market, they do questionable things in other markets (the compiler thing).

      The case being brought by AMD is not about Intel's compiler. Rather, Intel's compiler is a piece in the puzzle, which when assembled looks like an anti-trust violation.

      --
      "From my cold, dead hands you damn, dirty apes!" - CH
  111. Well by Badflash · · Score: 1

    It's only a part of the proof. Don't forget they supoened 32 companies (or something like it) to prevent them from shredding some important papers ... If they can prove that intel is not a fair competitor, maybe Apple will go with AMD? (Or back with IBM and their "famous" cell processor").

  112. Re:Compiler + host platform + target platform comb by the_weasel · · Score: 3, Informative

    We do. The company I work for makes a very comprehensive graphics application, designed to deal with images from film and higher (thing 4k images at float point).

    There are a lot of companies who take performance very very seriously. We are just one of them.

    The problem here has nothing to do with crashing, it has to do with the problem that companies that have chosen the Intel compiler for it's excellent performance suddenly find themselves producing software that is much slower on AMD systems than it needs to be.

    The options are to switch to a different compiler and take the performance hit that comes from that (which can be quite significant) or put pressure on Intel to stop trying to 'innovate' using underhanded tactics.

    Since we can hack around the problem for now by tricking the compiler into thinking our AMD is a Intel, I choose to try pressuring Intel before we try switching.

    --
    - sarcasm is just one more service we offer -
  113. Work on GCC! by XanC · · Score: 4, Interesting
    Maybe they will have to use their own [compiler] (after they make it).

    Come on, AMD... If you do need to do your own compiler work, optimize GCC! The whole idea is to make code run fast on your chips, right? And think of the tremendous goodwill you'd build up, especially around here.

    1. Re:Work on GCC! by Anonymous Coward · · Score: 1, Insightful

      AMD does work on developing GCC, to an extent. I mean, how do you think x86-64 support came about? Through magic? Even if they didn't necessarily assign the whole compiler division to turn out an AMD-branded compiler (which, after all, would run contrary to the point, and they don't have Intel-like resources in this regard anyway), they've provided plenty of technical help in an effort to make x86-64 the success it is. The compiler support was available well before the chips came out.

      I think the main problem is the goal of GCC isn't necessarily to be the fastest compiler out there, but rather the most portable and correct one. Hence why they eschew machine-specific optimizations for more generic ones whenever possible. The Intel compiler is more in the mold of traditional vendor-supplied compilers, which try to get as much performance out of their hardware as possible, at whatever the cost in terms of microoptimizations and even correctness. If AMD tried to submit a bunch of AMD-specific optimizations for GCC, they'd probably be shot down.

    2. Re:Work on GCC! by orkysoft · · Score: 1

      Isn't optimizing at the cost of correctness a mortal sin for compiler designers, or something?

      --

      I suffer from attention surplus disorder.
    3. Re:Work on GCC! by koko775 · · Score: 1

      Apparently it (the goodwill) isn't there. Notice the x86-64 gcc target they helped make?

  114. Re:AMD should ..... by softcoder · · Score: 1

    What AMD should do is throw some major money and development effort at GCC and make it generate really good code for AMD chips. Code that would rival what Intel do for their chips. As Stallman says, when fighting monopolies we should all help each other....

  115. Re:The Limit of Lawsuits by dbrutus · · Score: 4, Insightful

    It's very simple. If I were a programmer buying Intel compilers (I mostly do administrator work) would I have been reasonably led astray by their advertising to think that what Intel was selling was an X86 compiler that didn't play favorites? There's an enormous class action waiting out there for programmers who thought they were getting something (an honest x86 compiler) but werent and had to deal with user complaints from customers who suffered. There's a similar end user class action just waiting for an enterprising lawyer to set up.

    End users and programmers have no interest in supporting Intel processor dominance but were tricked into that by Intel's underhanded dealing.

  116. In a nutshell... by Anonymous Coward · · Score: 0

    the devil is in the details. It all depends on which of the following scenarios is proven.

    Scenario A (not ideal for all, but acceptable):

    if(intel_p4){
    optimize_for_intel_p4();
    }else if(intel_p3){
    optimize_for_intel_p3(); ...
    }else{ //any non-intel gets i386 for 'compatibility'
    use_typical_i386_opcodes();
    }

    Scenario B: (doesn't specifically target AMD)

    if(intel_p4){
    optimize_for_intel_p4(); ...
    }else if(intel_i386){
    use_typical_i386_opcodes();
    }else /* not intel */ { //make it slower than typical i386 code //replace movsd with movsb for no valid reason
    use_opcodes_designed_to_be_slow();
    }

    Scenario C:

    if(intel_p4){
    optimize_for_intel_p4(); ...
    }else if(amd){ //make it slower than typical i386 code //replace movsd with movsb for no valid reason
    use_opcodes_designed_to_be_slow();
    }else{
    use_typical_i386_opcodes();
    }

    Scenario D:

    if(intel_p4){
    optimize_for_intel_p4(); ...
    }else if(amd){ //make it crash once in a while
    use_opcodes_that_crash_sometimes();
    }else{
    use_typical_i386_opcodes();
    }

    If this is scenario 'A' then it is no big deal. The other scenarios, if proven, are unacceptable. IMHO, 'D' in particular should land someone in jail.

    I'll boycott intel if 'B' is proven in court only when convenient for me. But I'll boycott intel and intel-based products if 'C' or 'D' are proven in court for at least 5 years unless the management team changes substantially.

  117. Compiling a minor, supportive issue by Cyphertube · · Score: 1

    As has been pointed out by many other posters, this has been known for some time. The reality of the problem with the compiler is that while the AMD chips support a lot of the speed features in the compiler, if the compiler doesn't detect an Intel processor, it poops out and gives up.

    Far more interesting are the allegations regarding Intel's actions with OEMs. They've threatened to do plenty of things to the OEMs. If the market were fair, then Dell would've been putting out AMD processors ages ago. (Of course, Dell has it's own problems - DFS and shutting down customers service forums among them.)

    For me, AMD has been reliable for a long time. I refuse to buy an Intel processor because I dislike monopoly, as well as the Blue Man Group ads.

    Were I a manufacturer, I would be working with Novell left and right, since the SUSE/AMD partnership led to real 64-bit support. I wish more organisations would follow behind the U.S. Dept. of Health and Human Services, and roll over to the Novell Linux environment. Then they'd have real benefit from buying AMD processors.

    --
    Linux - because it doesn't leave that Steve Ballmer aftertaste.
  118. Benchmark?? by Anonymous Coward · · Score: 0

    How many bench mark apps have been complied with this Intel Complier? Imagine all the speed gains that might appear with a recomplie with a chip neutral choice.

  119. Devils Advocate by BoneFlower · · Score: 1

    The compiler.

    Now, Intel engineers know their own products best. They know what optimizations are safe on Intel hardware and what optimizations are not. They will not always know this for AMD products. So, AMD processors get fed a less optimized code path, that while it might not work the best, the Intel engineers can feel certain will at least work.

  120. Huh? by Anonymous Coward · · Score: 0

    Wait, you think that Intel isn't providing free compilers for AMD chips AMD has some legal recourse?

    Ahahaha. You are all so cute.

    Intel is under no obligation to even support AMD's chips, much less provide optimizations for them. Get a fucking grip.

  121. Not a bad thing by coflow · · Score: 1

    Hey, as a developer, I'm all for this. Now I can blame the processor when people complain about responsiveness.

  122. Re:The Limit of Lawsuits by daVinci1980 · · Score: 1
    Why would AMD expect its competitor, Intel, to write software that supports AMD's own products?
    Because they are different markets? It is not illegal for a company to do what you describe, however deplorable. Unless you are a monopoly. Then, you are using your monopoly in one area to help gain a monopoly in another area. This is known as Vertical Tying.

    Which is, per antitrust legislation in the US, illegal.
    --
    I currently have no clever signature witicism to add here.
  123. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 1, Interesting
    On a related note, is there any way by which the authors of the GNU compiler collection (GCC) would limit the range of x86 instructions generated by GCC compilers? Some instructions are simply too complex and could actually be replaced by sequences of simpler instructions, and each such sequence would actually run faster than the original, more complex instruction. A simplified subset of the x86 instructions is sufficient for compiling all computer programs.
    This is an excellent way to make the performance of GCC in the windows platform much worse than what is in comparison to Intel C++ or Visual C++. If GCC developer really listen to you and follow your lead, soon we can finally kiss GCC goodbye!
    By restricting the GCC compilers to generating only a simple but fast subset of instructions, we could encourage both AMD and Intel to deprecate and, ultimately, eliminate the more complex x86 instructions. Linux and the bulk of open-source software use the GCC compilers and would provide a critical mass of support for a new streamlined transistor-count-reduced x86 chips. Here, I am thinking, "shockingly reduced in power due to using 1/3 of the transistors."
    In your dreams boy. How many transistors you think the whole decode and micro-code sections of a modern P4 have? P4 has more than 55 million transistors. 386 had just 275,000 transisotors. If those sections of the processors are not that different. So if you remove the whole part out of the P4, you have successfuly saved less than 1% of the transistors!!!
  124. Blank Stare by Cytlid · · Score: 1

    Gee, I don't know what the problem is. My Linux kernel and all my utilities compile just fine on my AMD processor with gcc. What is this "Intel" you speak of?

    --
    FLR
  125. Re:The Limit of Lawsuits by Waffle+Iron · · Score: 3, Insightful
    Why would AMD expect its competitor, Intel, to write software that supports AMD's own products?

    As others have pointed out, Intel allegedly went out of their way to secretly hobble code on AMD CPUs. Normally, there would be nothing wrong with pulling a dirty trick like this.

    However, this is an *anti trust* case. If you are hold a monopoly position in a market, you are prohibited from taking advantage of that position in various ways, and that may very well include this particular dirty trick.

  126. Re:The Limit of Lawsuits by InfiniteWisdom · · Score: 2, Informative

    A single jump instruction, and you have to flush the entire pipeline!
    That's patently not true

  127. RTFM for the INTEL compiler, please guys... by niteware · · Score: 1

    While this is really old news in the compiler world and is only one of many claims in the AMD complaint, Intel never said that the performance gains of using it's compiler would increase the performance of non-Intel CPUs.

    The only claim that I am aware of that Intel states for it's compiler is that produces ANSI C/C++ and ISO C/C++ standards compatible software and it does do that...

    All performance gains/benchmarks over other compilers or the ANSI/ISO expected output is based on Intel processor optimizations, just review the benchmarks and legal sections. So even if AMD supports the identical machine code for MMX/SSE/SSE2/etc... Intel's optimizer does not care since it is not a 'known element', so why should it allow a non-Intel proc to execute optimizations that are tested on only Intel procs? You really think Intel's compiler group is being paid to ensure that optimizations should work on AMD's chip? (Of course WE known that the code does work....;-) )

    Like many people have done before and still due today, you hard-inline your critical code and you remove the optimizer from the equation. Case closed on performance...

    NOW what I would like to SEE is AMD example/evidence that Intel compiler actual causes the resultant program running on AMD procs to crash. (Section/Claim: 125 in their complaint)

  128. AMD Compiler is the clear solution by MicahEli · · Score: 1

    They should just use the AMD compiler! I mean, why complain about the Intel compiler when they could just use their own that they spent tons of money/man hours on... They could make THEIRS not work as fast on Intel processors. Clearly their's is the superior product anyways.

    --
    "I know this... this is a unix system" -- Jurrasic Park
  129. Evil isn't the same thing as illegal. by Anonymous Coward · · Score: 0

    I see a lot of posts about how wrong and bad Intel is for doing this. I agree. However it should be within their rights to create a compiler as they see fit.

    How dare we depend on a private corporation to give us a good tool for use on their competitor's product?

  130. What's their point? by rpsoucy · · Score: 1

    This isn't a flame, just hear me out.

    - Intel creates CPUs
    - Intel, like almost every other CPU manufacturer, creates a compiler for their CPUs
    - AMD creates CPUs
    - AMD creates no compiler
    - AMD bitches about Intel, their competition, not supporting their CPU with their compiler.

    I'm really not seeing a case here.

    Do we expect the Intel compiler to also support PPC and MIPS too? Are we going to sue Intel now, because they don't support 3DNow! in their compiler?

    That is ridiculous.

    If AMD has a case about unfair business practices regarding back room deals and contracts explicitly encouraging OEMs not to use AMD products then that's one thing, but please stick to that and don't try to make Intel look bad over this bullshit.

    No other company would bend over backwards to support special optimizations for a competitor, why would anyone expect Intel to? I don't.

    If AMD is upset they should write their own compiler. If you're upset as a developer you should help out with GCC, because Free Software avoids these things.

    Again, I see no case here. This article was posted to rally AMD fanatics or something. I usually like AMD, but this type of thing just makes me look down on AMD and its community.

  131. Sure are alot of people not RTFA'ing. by digital+photo · · Score: 5, Informative

    Look, the issue is this:

    • There are AMD processors that support MMX, SSE, SSE2 (Intel Processor extensions)
    • The Intel Compiler is a widely used one for a segment of developers.
    • The compiler should create code which will use any and all of Intel's own optimizations( MMX, SSE, SSE2 )
    • The compiler will do this for Intel Processors.
    • The compiler will not use those very same extensions/optimizations when it detects an AMD cpu.
    • Those extensions are implemented by AMD to INTEL's specifications(licensed from them).
    • The compiler SHOULD make use of them.
    • They are NOT AMD specific extensions/optimizations.
    • The allegation is that INTEL made their compiler to work properly when compiling for INTEL chips, but not use ANY optimization extensions(intel or otherwise) when it detects an AMD chip.

    The compiler doesn't need to be optimized for AMD's chips. But it does need to be optimized for extensions which Intel supports. The claim is that Intel's compiler DOES NOT support their own extensions when an AMD chip is detected.

    This is important because the Intel Compiler is used to compile benchmarks, enterprise level code, demonstrations, etc. Business decisions to go with one chip or another are based on the performance of the software, which was compiled from the Intel Compiler, which claims to be able to support the INTEL extensions.

    By crippling the resulting code when the compiler detects an AMD CPU, Intel is essentially LYING about the performance of their processor and about the performance of the AMD processor through resulting benchmark software(s) and applications compiled with the Intel compiler.

    Yes, AMD can make their own compiler, but people have to choose to use it. People who are already using the Intel compiler invested time and money into creating a development environment based on it. Switching isn't easy. If the compiler makes the AMD cpu look bad, businesses will choose to go with Intel thinking those processors gave them better bang for their buck, when the opposite might be true.

    It's like having two cars that can do 125MPH, but one has been electronically locked to max out at around 85MPH, then putting them on a racetrack to determine which car is faster.

    That isn't a valid comparison. And if INTEL's compiler IS purposefully generating substandard code that doesn't even support their own extensions in AMD's cpus, then benchmarks compiled with the Intel compiler are similarly invalid.

    This could also mean contractual violations between AMD and INTEL since AMD licenses the enhanced extensions from INTEL.

    It ISN'T about INTEL's compiler not optimizing itself for AMD specific instruction sets. It is about INTEL's compiler not optimizing itself for INTEL specific extensions on AMD CPUs, which AMD has license from INTEL and implemented in their processors.

    Another way of looking at it is that AMD has licensed enhancements believing that INTEL's compiler will similarly take advantage of those enhancements. Perhaps that was in the agreement, perhaps not.

    If it was the case, then AMD should be furious. They basically licensed and implemented extensions, from INTEL, into their processors that INTEL is choosing to not support. Not because it isn't compatible, the extensions were implemented to their specifications, but to be anti-competitive and deceptive in the intent of their licensing of the extensions.

    A simple: if ( intel cpu) { optimized code + extensions } else-if ( amd cpu ) { standard code w/o extensions} is overly simplistic for an engineering organization like Intel and would be difficult to explain away since they are licensing their extensions.

    The compiler should be checking for the existence of extensions and choosing to compile in functionality or not. Most games and graphics packages use dynamic libraries and alternate blocks of code for different extensions detected. If small, mid-sized, and large game companies can do thi

    1. Re:Sure are alot of people not RTFA'ing. by SumDog · · Score: 2

      I like your argument. You read the article and supported your claims.

    2. Re:Sure are alot of people not RTFA'ing. by Sebastopol · · Score: 1

      Maybe you should RTFA...

      AMD claims that Intel compilers cause AMD cpus to crash based on CPUID.

      --
      https://www.accountkiller.com/removal-requested
    3. Re:Sure are alot of people not RTFA'ing. by MasterOfMagic · · Score: 1

      I agree with absolutely everything that you just posted, but it's all beside the point. At this point, compilers are a commodity. You have Intel's compiler, Microsoft's compiler, Borland's compiler, gcc, and probably many more that I have forgotten to list. They all have varying support for optimizations for Intel and AMD chips, and one of them (the Intel one) actively goes out of their way to be slower on AMD chips. What is the solution to this problem? Use a different compiler.

      To use your car analogy, if I have an engine that's built for a Ford Explorer and decide that, for reasons not important, I want to use this engine in my Chevy Suburban. In this case, we treat the engine as the compiler and the vehicle as the underlying hardware. Now, Ford may go out of their way to make it so their engine does not work in my vehicle. If I succeed in getting this engine working in my Suburban, do I have a cause of action when I don't get the same performance out of my vehicle? Certainly not because the Ford engine was designed for a Ford product, not the product that I want to use it in. The engine of the Ford product might support things that both vehicles do, but in a different way because they're implemented in a different way in the underlying vehicle.

      Do I think what Intel is doing is wrong? Yes. Do I think it should be the subject of a lawsuit? Certainly not.

    4. Re:Sure are alot of people not RTFA'ing. by cyber-dragon.net · · Score: 1

      Ok since you posted this while I was typing basicaly the same thing I am just going to try and mod your post up.

    5. Re:Sure are alot of people not RTFA'ing. by zev1983 · · Score: 1

      Your argument is slightly flawed. To be more accurate, continuing your analogy if Ford had a monopoly on cars, or at least a market share large enough to control the market as Intel does. So you choose to use a Ford engine in a Chevy Suburban, and the Ford engine deliberately broke, or ran slower after detecting it was in a Chevy or in any other non-Ford car, that is basically illegal, and should be the subject of a lawsuit. They are using their position in the market to stifle competition with one of their products. They are making their competitors look bad in benchmarks, etc. etc...

    6. Re:Sure are alot of people not RTFA'ing. by MasterOfMagic · · Score: 1

      The problem is that Intel does NOT have a monopoly on chips, as is shown by AMD and other chip making companies. Because of that, your argument falls flat.

    7. Re:Sure are alot of people not RTFA'ing. by Anonymous Coward · · Score: 0

      Thanks Captain Obvious!

    8. Re:Sure are alot of people not RTFA'ing. by HolyCoitus · · Score: 1

      If this were a "you have a monopoly and we are asshats" lawsuit being put forth by AMD, you would have a point. Interestingly enough, this is an antitrust (not the best summary but some links that are helpful. But it may just get the ball rolling.) lawsuit. You don't have to be a monopoly to be in violation of antitrust standards and laws. That's why Intel lost in Japan.

      You're really just shifting the argument. Intel went out of their way to make their compiler not work with AMD processors, which raises a problem. This is a jury trial anyways so the legality of this is not as important as the "Intel are assholes" factor that it will have on the jury.

      --
      That's scary.
    9. Re:Sure are alot of people not RTFA'ing. by MasterOfMagic · · Score: 1

      Intel went out of their way to make their compiler not work with AMD processors, which raises a problem.

      If you tell this to somebody that uses compilers on a daily basis (developers, etc), then they'll care, but if you take the average person and tell them this, their response will be, "It's Intel's compiler, and they can program it to do whatever they see fit. It's their piece of software and nobody forces you to use it."

      Intel went out of their way to make their compiler not work with AMD processors, which raises a problem.

      Again, look at my car analogy above. While it is not a perfect mapping, car manufacturers go out of their way to make their parts only work on their particular cars, and if you do get another manufacturer's part to work, you may have substandard results. The same is true with compilers. Intel makes a compiler that works wonderfully well if you are using their chips, and spits out substandard results when using other chips. There's a simple fix - use a different compiler.

      This is a jury trial anyways so the legality of this is not as important as the "Intel are assholes" factor that it will have on the jury.

      I agree. It is Intel's software, and they can make it do whatever they please. They could make their compiler implement the "halt and catch fire" instruction if they want. They can make it spit out alternate code paths in PPC if they'd like. They can make the error messages spit out in Swedish Chef dialect. It's their code, and they can do with it what they want. If developers do not like it, then they should give their support to other compiler makers. AMD should not be using this as ammo in their lawsuit because it is irrelevant.

    10. Re:Sure are alot of people not RTFA'ing. by HolyCoitus · · Score: 1

      It's not the basis for the argument though. They're just heaping it on showing that Intel was supposed to be in a market position allowing for competition and did everything they could to damage AMD.

      The typical juror just needs to be shown that what that compiler produced was used to make purchasing decisions and was referenced by Intel along with expert testimony saying that the code outputted would favor Intel. It's not as if it has to be woven in some way that violates a law directly. Just showing what they were doing to harm their market rival. That's what the suit is about.

      I told this to someone with very little computer knowledge as she was in the room while I was discussing it. Her reaction was "can they do that?" If that is even somewhat typical of a feeling towards that, I believe it would sway the jurors. It's alright if you see it differently. I just think that if the jury is put in the mindset of "you can't take actions that directly harm other companies through market position." which is what the trial is about, I believe this will be a nice piece to submit to that order.

      --
      That's scary.
    11. Re:Sure are alot of people not RTFA'ing. by Anonymous Coward · · Score: 0

      I just think that if the jury is put in the mindset of "you can't take actions that directly harm other companies through market position."

      Actually, so long as you're not a convicted monopoly, you can do this. It's called leveraging your market saturation, and companies do it all of the time. It's perfectly legal.

    12. Re:Sure are alot of people not RTFA'ing. by HolyCoitus · · Score: 1

      As I said, it's a mindset for the jury. I'm not a lawyer and have no clue on things. I just know this doesn't look good for Intel.

      --
      That's scary.
  132. For the rest of us... by Gruneun · · Score: 4, Insightful

    who depend on sites like Slashdot to cull the most newsworthy items from the multitude of sites, mail lists, and other sources, it is news.

    Congratulations. You're on the gcc mailing list and the rest of us must now bow before your mad news reading skills. You are truly one to behold.

    1. Re:For the rest of us... by multipart · · Score: 1

      Maybe I should have said: "not a discovery of new facts" instead of "not news". Sorry to have stepped on your apparently long toes.

  133. Re:The Limit of Lawsuits by smittyoneeach · · Score: 1

    Dude, if you have a patent on falsehood, enforce it.
    These days, you'll be making Gates look poor, an' junk.

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  134. Easily Explained by Anonymous Coward · · Score: 0

    Non recognized chips get the least common denominator code since they want to make sure it works. You cant expect them to know the featureset of every random chip company...

    1. Re:Easily Explained by the_greywolf · · Score: 1

      yes, you can.

      the CPUID instruction provides several double-words of information: the trademark string identifying the manufacturer ("GenuineIntel" or "AuthenticAMD", among others), the model and stepping of the CPU, the core revision number, and a bitfield revealing available features, including: MMX, 3DNow!, 3DNow!+, SSE, SSE2, SSE3, HT, x86_64 extensions, and many others, as well as more bits for expandability. it takes only a few clock cycles for CPUID to provide this information, and a few more to parse and set up branches based on it. for all intents and purposes, it's a free test for all the capabilities of a CPU. if a bit is set in the features word, you are guaranteed the availability of the assosciated instructions in the appropriate mode(s).

      there is a great deal more information on the instruction in Intel's IA-32 Intel Architecture Software Developer's Manual Volume 2A and the AMD x86-64 Architecture Programmer's Manual Volume 3.

      go read up before spewing shit about it. the books (both hardcopy and PDF) are available *FREE*.

      --
      grey wolf
      LET FORTRAN DIE!
  135. Solution! by Kaz+Kylheku · · Score: 1

    AMD should make their CPU's software-patchable so that they report they are Genuine Intel. That is to say, the processors, as shipped from the factory, would identify themselves as AMD. But the user could get some freeware patch from the web somewhere that would put something in non-volatile memory on the chip to make it indistinguishable from Intel with respect to these compiler optimizations. AMD could totally dissociated itself from the patch simply by releasing the specs for how to do the job and letting some hackers out there do the work. They are off the hook; all they did was make a flexible piece of firmware that could be programmed by some third party to look like Intel. That third party happens to be a bunch of anonymous hobbyists. :)

    1. Re:Solution! by SumDog · · Score: 1

      Yea, but then you get into other issues. AMD doesn't support many of the new Intel instruction sets such as SSE2 and HT. Misrespending the chip name would cause it to comple incompatiable code. Better solution: don't use icc if you don't own an Intel!

    2. Re:Solution! by tomstdenis · · Score: 1

      You're kidding right? All AMD64s support SSE2 and the later cores [like the dual cores] support SSE3.

      HT is not an instruction set really [aside from pause,sfence,etc iirc]. But HT is also a bit in cpuid. So just don't enable it if the cpu doesn't support it.

      Not only do the AMD processors support SSE but they've kept 3DNOW as well [and the MMX upgrades].

      Tom

      --
      Someday, I'll have a real sig.
    3. Re:Solution! by Anonymous Coward · · Score: 0

      AMD should insert a OHO (our honest opinion) instruction (which happens to be have same opcode as CPUID on processors by some other manufacturers). OHO would return, for instance, "Genuine Intel Sucks".

  136. Re:The Limit of Lawsuits by niskel · · Score: 1

    Intel supporting or not supporting AMD is completely different than deliberately targeting AMD for poor compilation. Something along the lines of:

    if (cpuid == "Genuine Intel") compileOptomizedBranch();
    else if (cpuid == "Authentic AMD") compileCrappyBranch();
    else compile();

  137. Where's AMD's compiler? by October_30th · · Score: 1
    The parent AC makes a good point.

    The last time I was looking for a dual CPU PC for prototyping simulation code I would have loved to go for Opteron, but since there was no high performance compiler native to AMD platform, I had to go Intel.

    I would have never even assumed that an Intel compiler would produce proper code on competitor's platform. Why the heck would they have done something as stupid as that? I don't understand why everybody's acting outraged as if Intel playing dirty tricks like this was unexpected.

    --
    The owls are not what they seem
    1. Re:Where's AMD's compiler? by Anonymous Coward · · Score: 0

      Because AMD isn't some little two bit thing that Intel has a hope of crushing with the weight of its compiler business. Not supporting AMD damages their compiler reputation as much as it damages AMDs chip reputation if not more.

    2. Re:Where's AMD's compiler? by jtjin · · Score: 2

      Hmm, I think the point here is that their compiler is _deliberately_ making inferior executables when it detects an AMD chip.

      If the problem was that their compiler will only optimize for an Intel chip, then that is understable and in fact _expected_ from them, but that is not the case here.

      Then again, I haven't RTFA so I could be wrong. Here, I'll jump into the stake myself just in case ...

      --
      No rest for the livid.
    3. Re:Where's AMD's compiler? by Anonymous Coward · · Score: 0

      AMD and Intel are the same platform! The same instructions(x86, x86_64), the same extentsions to those instructions (MMX, SSE1-3). Because of that, optimized code for Intel should be identical to optimized code for AMD. (In practice there might be some tiny optimization differences, but "Use those vector instructions that do 4 operations at once on Intel" vs "Do it all one at a time on AMD" is way, way beyond that)

      As for AMD writing its own compiler, again, THEY ARE SUPPOSED TO BE COMPATIBLE! Do you want every software provider to have to provide seperate AMD and Intel compiled binaries? That defeats the point of using compatible instruction sets. If your going to require seperate compiles for Intel vs AMD, then AMD might as well start making MIPS or PPC chips. But the entire reason AMD was founded to create competition in the x86 platform.

    4. Re:Where's AMD's compiler? by Michael+Meissner · · Score: 1

      There is no branded AMD compiler, but AMD does work with most of the compiler vendors that target the x86 and x86_64 architectures, including GCC and Microsoft to optimize the compilers for the platform. As other people have mentioned, both Intel and AMD use the same instruction set, though the rules for tuning for each architecture is different.

  138. Re:The Limit of Lawsuits by cyclop · · Score: 1

    Hi akaimbatman, we meet again ;)!

    Frankly I am not into the compiler world (I'm no C/Fortran programmer), so I didn't expect that programs compiled with the Intel compiler would even try to work on an AMD CPU. I'm not at all surprised. These are just candies on a big, stinky cake.

    Sure if this kind of behaviour is not documented, and the ICC is advertised as "AMD compliant" it is a plain swindle.

    --
    -- Patent no.123456: A way to personalize /. comments with a sig attached to the end.
  139. Regulators Raid AMD Offices by Anonymous Coward · · Score: 0

    For copyright or license violations, per "you may not disassemble the compiler"...

  140. They all do it ... Go GNU baby! by Z-Knight · · Score: 1
    I used an Absoft Pro Fortran compiler (stop laughing, Fortran is not all bad) that did some pathetic "optimization" as well...though not related to which CPU was inside. For my case I was doing dynamic memory allocation and deallocation and for some reason my code would always look up my computer because my memory would run low. I did a quick test where I simply wrote a loop that took an array of 10,000 ints and repeatedly allocated and deallocated this array - so I was not increasing the array size. Well, this crashed the computer just as my code did...I then traced the memory malloc and free calls and found that the Absoft compiler was never actually deallocating code at all. It was simply creating new code but not explicitly deallocating the old even though I forcibly told it to do so. After finally getting a response from Absoft, they told me this is a default "feature" of their compiler and that to make it actually do the deallocation you have to set some stupid flag.

    Are you kidding me?!?!?! Why the hell would the default feature of a compiler be not to do something explicitly requested in a code?!?!? I have a feeling things like this are rampant in the commercial codes because no one knows about them except the company...so they can they say their compiler runs faster than some other because they skip some operations to make it look like they are faster.

    That's why I recommend we all go GNU...

    Once you go GNU, it will be better for you.

  141. Re:The Limit of Lawsuits by dubbreak · · Score: 3, Insightful

    The mods are on crack, how you got modded up is beyond me.

    Part of AMD's claims is outrageous. Why would AMD expect its competitor, Intel, to write software that supports AMD's own products?
    Well it supports the x86 architecture. It doesn't have to support special features of AMD, but it should not purposely run different code (than it would on an intel proc) to crash the system. That's pushing the limit on anti-competitive, next thing you know ford is selling fuel that runs great in their cars but can tell if it's in a toyota and decides to spontaneously combust in the tank then.

    Oh yeah, on the SPARC note, you need to take a computer arch class if you think that they are poorly designed.. if anything the x86 arch is the biggest hack of all.

    On a related note, is there any way by which the authors of the GNU compiler collection (GCC) would limit the range of x86 instructions generated by GCC compilers....
    Once again you have obviously never taken any classes regarding the subject. So you want to force all cisc processors to become risc by changing gcc to only support simple instructions? (which are not necessarily faster, just look at the cycles some complex operations take then try to create something in asm that does the same in the same amount of cycles using only simple instructions). Have you forgotten that GCC is not the only compiler in the world? Did you not RTFA?! It's about the intel compiler for goodness sakes! If GCC was crippled as you suggest, no one would use it, end of story.

    Oh and less transistors on a chip? Brilliant. I assume you don't want faster computers or something. All the advanced branch prediction, out of order code execution etc that makes todays processors process that much faster than previous ones is thanks to the extra transistors.

    If you want to talk about how computer architecture should change, take at least one class in it. It is really interesting (believe it or not) and you would learn a lot about what has been tried and done and why certain choices were made.

    --
    "If you are going through hell, keep going." - Winston Churchill
  142. Simple Solution: WRITE YOUR OWN COMPILER!!! by mosel-saar-ruwer · · Score: 2, Interesting

    It seems to me that the obvious long-term solution for AMD is to write their own compiler.

    And I've often thought the same of Novell - I always believed that one of the primary reasons NetWare foundered was because Novell never wrote their own compiler for the operating system. It was damned near impossible to write an NLM in the old days - you had to get a copy of Dr Watcom, and then do a bunch of undocumented wizardry just to get it to produce a simple "Hello World" output.

    Anyway, for those of you computer establishments that lack your own in-house compiler, there's this cell phone company, called Motorola, which has pretty much ditched their chip fab subdivision, but which retains this little subsidiary called "Metrowerks", a subsidiary which doesn't seem to integrate very well with their forward-looking core strategy of providing the means to share Paris Hilton pr0n over hand-held cellular devices...

    1. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Anonymous Coward · · Score: 0

      Do you have any idea how much money it takes to hire a compiler team much less maintain them? And also think in size here how big is intel compared to amd? last i checked intel put more into r&d every year than amd's entire earnings...so nuff said there.

    2. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Chris+Burke · · Score: 4, Informative

      That's just not feasible. Unlike Intel, AMD isn't huge and they don't have a massive software team. However, they aren't stupid and have funded and helped develop compilers. In particular gcc received a lot of help from AMD, especially in developing the AMD64 target.

      --

      The enemies of Democracy are
    3. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Kiryat+Malachi · · Score: 3, Informative

      Nope. Metrowerks was spun off with, and belongs to, Freescale. Which you would know, had you done something so simple as go to their home page and read the words: "Metrowerks - A Freescale Semiconductor Company".

      --

      ---
      Mod me down, you fucking twits. Go ahead. I dare you.
      (I read with sigs off.)
    4. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Anonymous Coward · · Score: 0

      Sun could do it for them. Sun's own compiler (Sun Studio) outputs to x86. Oh, and Sun has adopted Opterons. Seems like a marriage made in heaven.

    5. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Mechanik · · Score: 1

      The parts of Metrowerks related to Symbian were also bought up by Nokia, and rolled into their business. Nokia owns the Symbian specific IP, and hired the Symbian related talent, but still licenses tools technology from Metrowerks proper.

    6. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by spectecjr · · Score: 1

      Anyway, for those of you computer establishments that lack your own in-house compiler, there's this cell phone company, called Motorola, which has pretty much ditched their chip fab subdivision, but which retains this little subsidiary called "Metrowerks", a subsidiary which doesn't seem to integrate very well with their forward-looking core strategy of providing the means to share Paris Hilton pr0n over hand-held cellular devices...

      Metrowerks write pretty damn shitty buggy compilers though (take a look at their changelists some time). Why would anyone want to buy them?

      --
      Coming soon - pyrogyra
    7. Re:Simple Solution: WRITE YOUR OWN COMPILER!!! by Anonymous Coward · · Score: 0

      As was pointed out elsewhere, Metrowerks was spun off as part of Freescale. Less well known, however, is that Metrowerks' x86 compilers were sold to Nokia. So a cell phone company does indeed own a pretty decent compiler now. :-)

  143. Old news... by coats · · Score: 4, Informative
    Within a month after the Opteron release, computer scientists at the Fraunhoffer Institute in Germany had a "perl" script that would modify Intel-compiler generated executables to bypass the "Genuine Intel" test embedded in the executables, and use the optimized code path.

    --
    "My opinions are my own, and I've got *lots* of them!"
    1. Re:Old news... by rangek · · Score: 1
      "perl" script that would modify Intel-compiler generated executables to bypass the "Genuine Intel" test embedded in the executables, and use the optimized code path.

      Link please? I would really like to have that script.

    2. Re:Old news... by Anonymous Coward · · Score: 0

      the news isn't that intel did this, the news is that AMD is suing them over it ;)

  144. Intel told you up front by jonesy16 · · Score: 0, Flamebait

    I'm not sure I understand what the big deal is about. Intel wrote their OWN compiler optimized for their OWN product. Almost every compiler made performs slightly better on one platform or another. My company uses Lahey, PGI, Pathscale, IBM, and Intel compilers and it takes a lot of testing with each compiler to find the one that works best for a given architecture.

    I guess everyone's real complaint isn't that they aren't optimizing it for AMD, but that they are purposefully sabotaging it on the AMD. My opinion is that there is nothing they can fault Intel for. According to Intel's webpage for the C++ Compiler for Windows, "Achieve outstanding application performance on Intel® processors using Intel® C++ Compiler for Windows*. The Compiler plugs into industry-leading development environments for out-of-the-box productivity." And in a footnote on that same page, "Performance depends upon the specific computer systems, components and/or measurement methods used; your results will vary."

    Face it, when you buy a biased technology (read IPOD), you get the compatibility and the functionality that the large company (read Apple) wants you to have. Intel is hardly the marketplace dominator in the compiler industry.

    And as a flame: stop whining that AMD's are faster than Intel's when all you have to back it up is a framerate from a Carmack game. I've used both, and I can show you a handful of instances on either platform where they blow the other away. As always, use the right tool for the job. Enough said.

    1. Re:Intel told you up front by UltraAyla · · Score: 1

      exactly - AMDs are recommended by a lot of gamers right now, but are not necessarily optimized for every job Also, unless Intel is coercing people to use their compilers too, I see little wrong with it being optimized to work on another one of their products. In fact, it makes a lot of good business sense.

  145. Re:The Limit of Lawsuits by AKAImBatman · · Score: 2, Interesting

    Hi akaimbatman, we meet again ;)!

    (rolls eyes) You again. ;-P

    Frankly I am not into the compiler world (I'm no C/Fortran programmer), so I didn't expect that programs compiled with the Intel compiler would even try to work on an AMD CPU.

    That would be a perfectly acceptable answer, and the one that AMD would like. However, the Intel compiler is not just producing highly optimized code and leaving it at that. Highly optimized code would work fine on an AMD CPU, partly because AMD has a technology cross-licensing contract with Intel. (Which means that Intel could produce AMD64 CPUs if they wanted!)

    The core of the issue is that the code generated by the Intel compiler uses the slowest code path available if the CPU is an AMD. That's a potential Anti-trust violation, and smacks of desperation on Intel's part. I've always been overall happy with Intel's handling of their monopoly, but Moore is no longer at the helm and I fear that Intel may be slipping. :-/

  146. That's the exact point by Andy+Dodd · · Score: 1

    AMD has shown that the seperate code path executed on AMD processors runs SIGNIFICANTLY slower than simply not differentiating processors and just running the P4-optimized path.

    --
    retrorocket.o not found, launch anyway?
  147. Different code generation does not imply design... by Anonymous Coward · · Score: 0
    I do not see that this claim makes the case for anti-competitive behavior:
    To achieve this, Intel designed the compiler to compile code along several alternate code paths. ... By design, the code paths were not created equally. If the program detects a "Genuine Intel" microprocessor, it executes a fully optimized code path and operates with the maximum efficiency. However, if the program detects an "Authentic AMD" microprocessor, it executes a different code path that will degrade the program's performance or cause it to crash.""
    I work with code that must be tailored for individual CPUs. A common way to proceed is to write generic code that provides correct data for any CPU in the architecture but is of course not the best performer on every CPU. When you want to support good performance for a specific CPU, you add branches for that CPU and optimize that code. If Intel did this, then performance for Intel CPUs would be great, performance for AMD CPUs would be lousy, and there would never have been any instance in which the code generation for AMD CPUs were actually degraded from what it had been.

    That could explain the performance issue. Bugs or differences between AMDs implementation of the architecture and Intel's understanding of it could explain crashes.

    I am not saying AMDs claims are wrong. Perhaps they have additional evidence. But the claim that Intel degraded compiler results for AMD CPUs does not follow from the fact that the compiler generates different code for different CPUs.

  148. Nothing to see here, move along by Donny+Smith · · Score: 1, Informative

    1) Intel's compiler does NOT support AMD's CPUs
    http://www.intel.com/cd/software/products/asmo-na/ eng/vtune/220001.htm

    2) Only a moron would buy Intel's compiler to develop for AMD processors (even if they didn't know about 1))

    3) From TFPDF: "ISVs are forced to choose between Intel's compilers, which degrade the
    performance of their software when operated with AMD microprocessors,"
    How exactly are ISVs forced to choose "between" Intel's compilers? Those developing on AMD should NOT use Intel's compilers in the first place since Intel does not support that CPU.
    (BTW, ISVs are not forced - they are enticed - to choose Intel's compilers. Can they prove Intel forces ISVs to buy their compilers?)

    5) From TFPDF: "Unbeknownst to them, performance of their programs is degraded when run on
    an AMD microprocessor not because of design deficiencies on the part of AMD, but
    deviousness on the part of Intel."
    Unbeknownst to them, the fucking product page does not even list AMD processors as supported. What do they expect? "Blistering" performance?

    1. Re:Nothing to see here, move along by C_Kode · · Score: 1

      2) Only a moron would buy Intel's compiler to develop for AMD processors

      And if you are a software maker? Your customers could be running Intel or AMD... Intel compilers do a pretty good job for Intel processors, yet complete garbage for AMD? What do you do? Create two box sets? Buy this if you have x86->AMD and this if you use x86->Intel.

      You are left with a choice of using Intel compilers with split performace (if not causing AMD to crash), having two different box sets, or just using a different compiler.

      The choice isn't always simple for everyone. You dont just say. Screw Intel/AMD I'm only going to develop for this x86 processor... I think not. Thats bad business. And your claim of we don't support this processor. Ummm, they are both x86 processors. It's not like x86/PPC/SPARC/MIPS. These are generally the same platform. They run the same exact software release.

    2. Re:Nothing to see here, move along by maxwell+demon · · Score: 1
      Intel's compiler does NOT support AMD's CPUs
      http://www.intel.com/cd/software/products/asmo-na/ eng/vtune/220001.htm

      I don't see why the fact that vtune isn't supported for non-Intel CPUs has any relation about what the Intel compiler supports.

      But more to the point: If the Intel compiler is done as product for Intel processors only, then it would be nonsense to add a completely separate codepath for other processors. The most logical thing would be to ignore the possibility of other processors completely (after all, if someone tries to run the code on non-Intel processors, he's outside the published specifications anyway). One could also argue that a test followed by an error message for non-Intel CPUs could be meaningful. But providing a different code path for an architecture which you simply do not support is nothing any sane programmer would do. Which means the different code path must serve another purpose.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:Nothing to see here, move along by Donny+Smith · · Score: 1

      >What do you do? Create two box sets?

      Create two sets of binaries, perhaps?
      The installer can install the right one.

      I'm not anti-AMD, I just think they're a bitter loser.
      Or, if they aren't losers, then why are they complaining? I don't think it's just a moral act to protect customers.
      They could have shelled out some money and get Intel to add AMD support to its compiler product line. Or, they could resell AMD-optimized OEM version of some Intel competitor's compiler.

    4. Re:Nothing to see here, move along by mink · · Score: 1

      According to what I am reading Intel is also fucking all non P4 Pentium users. If you have a P-MMX, P2-MMX, or P3-MMX it wont use MMX on them. Thats fucking stupid beyond all belief. I think Intel should be paying us the end users of this crippled software for all the wasted time.

      --
      Well I've wrestled with reality for thirty five years doctor, and I'm happy to say I finally won out over it.
  149. Re:The Limit of Lawsuits by AKAImBatman · · Score: 3, Informative

    A single jump instruction, and you have to flush the entire pipeline!
    That's patently not true


    Fair enough. A single mis-predicted jump will flush the entire pipeline.

    Thanks for the correction. :-)

  150. NO: the EXECUTABLE detects the hardware by coats · · Score: 1

    ...and you can disable this run-time test with the right PERL script...

    --
    "My opinions are my own, and I've got *lots* of them!"
    1. Re:NO: the EXECUTABLE detects the hardware by dgatwood · · Score: 1
      Well, I'll say this: that headline may have been the most confusing one I've seen on Slashdot so far.... Each time I read it, I read it a different way... and I read it more than twice.... :-)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  151. I Would Like To See Intel Punished As A Monopoly by Nom+du+Keyboard · · Score: 1
    I would like to see Intel decleared -- and punished -- as a monopoly.

    Why? Because I think it would result in lower prices to me. While regulated monopolies (phone, electric, gas, etc.) may be necessary in order to only build a single service infrastructure, I have yet to see a market monopoly declare: Now that we've eliminated the competition, let's lower prices and improve our service!

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  152. sure by Anonymous Coward · · Score: 0

    That article is almost completely right on. The point is we have chosen to execute our code to check for the GI ID but no where do we purposefully degread AMD performance. AMD processors are not Intel processors and grouped into "other." It is a choice we have made to ensure compatibility with our processors. In the end, AMD suggesting that we have our compiler purposely break on their processors in a huge conspiracy theory that will be proven in court. Our customers pay us for our compiler for use on Intel systems and we specifically say in the license/contract that we won't support our compiler on anything else. Welcome to AMD, the new SCO.

    1. Re:sure by Anonymous Coward · · Score: 0

      The article says this below. Why couldn't you just check the feature flags without the vendor id check?

      "The expected behavior for an application compiled to use the SSE2 or
      SSE3 extensions is that the compiler would insert a library that can
      analyze processor capabilities. On application launch, that library
      would call CPUID with EAX containing a 1, and then check the
      appropriate bits to make sure the required extensions are
      supported. Only then would it allow execution to continue. That's the
      behavior for most compilers when using those types of optimizations."

      "You should know, by the way, that this isn't what the Intel compiler's
      little bit of runtime code does. With the -xN/-QxN and -xP/-QxP flags
      set, it checks the processor vendor string--and if it's not
      "GenuineIntel," it stops execution without even checking the feature
      flags. Ouch!"

    2. Re:sure by Anonymous Coward · · Score: 0

      Actually no. That would require Intel to QA AMDs implementation of the "features". Again, why the hell should Intel incur that cost? If AMD want's to pay Intel to optimise for their own processor, fine. But to expect charity from Intel to a rival... What are you and AMD smoking?

    3. Re:sure by Anonymous Coward · · Score: 0

      But doesn't the Intel compiler check the feature flags w/o the vendor ID check for other optimization levels? Wouldn't that require a QA of AMDs implementation of the features from what you are saying above?

    4. Re:sure by Lonewolf666 · · Score: 1

      Our customers pay us for our compiler for use on Intel systems and we specifically say in the license/contract that we won't support our compiler on anything else
      If so, why bother with the GI ID at all? If someone uses Intel optimized code on AMD and it breaks, you could always say "not supported".
      I guess that would be easier to defend in court than the different codepaths. It would also reduce the overall program size, making the Intel compiler look better.

      --
      C - the footgun of programming languages
  153. *grabs popcorn* by Glog · · Score: 2, Insightful

    Well, one this is for sure - it will be fun to watch those lawyers explain compiler theory to the jury!

    1. Re:*grabs popcorn* by Omnifarious · · Score: 1

      This isn't going to be a jury trial.

  154. Why? A Better Question.... by EXTomar · · Score: 2, Insightful

    Why doesn't AMD release their *own* compiler? On a AMD tuned compiler I bet the performance isn't so great for on an Intel processor.

    This is a case where a compiler can go "if it is a 'processor-type-a' use these instructions otherwise use something else". I don't see any fault here. Intel has created a compiler that uses their chip's optimal settings. An efficient instruction set of instructions for a P4 will not be the same for an Athlon anyway due to internals of both chips being different. Why would anyone believe otherwise?

    Unless Intel is pushing their compiler as the end all be all compiler for AMD there is nothing goofy going on. It is just like using GCC and C code with a bunch of carefully chosen extensions. Expecting these extensions and assembly modifications to work the same on every x86 chip is a pipedream.

  155. Re:The Limit of Lawsuits by 'nother+poster · · Score: 2, Informative

    Why would AMD expect the Intel compiler to produce optimized code? because of theis from Intels websight.

    "Accelerate Windows* Applications

    Develop high-performance software for desktops, servers, handheld devices and mobile phones that is optimized for Intel® architecture using Intel® Compilers for Windows*."

    Note is says Intel architecture, which AMD processors are compliant with, not Intel processors. Therefore, I would reasonably expect that claim to be substantiated in the resulting code.

  156. Recient? by forceflow2 · · Score: 1

    I see it also creates spelling errors, too.

  157. Re:The Limit of Lawsuits by 'nother+poster · · Score: 1

    God, I totally forgot how to spell. That will teach me to type while eating lunch and running server diagnostics in another window. Not enough synapses for all of that at once.

  158. Re:The Limit of Lawsuits by mog007 · · Score: 4, Interesting

    If they put a warning in the EULA for the compiler about it not being efficient in non-Intel processors, then Intel would definitely be in the clear, but if they sold their product as simply a vanilla x86 compiler, then they've got shit to be responsible for.

  159. AMD even faster? by mabu · · Score: 1

    Considering how superior AMD processors are to their intel counterparts, in terms of speed, power consumption, heat generation and power-verses-cost, maybe we'll see even more performance gains if AMD can get Intel to stop using bullying tactics to compensate for lack of technical superiority?

    I understand AMD is licensing some Intel technology for its chips, but that doesn't detract from the reality that in many cases, AMD is producing a better product at a more reasonable price.

    I stopped buying Intel CPUs several years ago. I see no reason when AMD is cheaper and faster and just as reliable (if not moreso). If AMD-centric software has been crippled, I look forward to even more performance gains once they sort this mess out.

  160. Perhaps we shouldn't jump to conclusions by Orangejesus · · Score: 1

    I'm not going to claim to be particularly knowledgeable about this. But is it possible that the code the amd path uses was the original compiler code and the "geniune intel" path was added at a later date as the processors added support for sse? The original code may be quite old with only minor revisions made and they didn't bother to enable the new code for AMD paths. If by chance this is the case then it doesn't really reflect on them so poorly.

  161. A workaround for one of the compiler's tricks by spworley · · Score: 5, Informative

    For about a year, I've been patching my Intel Compiler compiled code because of this issue. I have to give credit to a poster on the comp.arch newsgroup for an explaination of ONE of the issues, and a workaround.
    This is not the only anti-Athlon trick in the compiler, but it's an easy one to verify and understand.

    From: iccOut (iccout2004@yahoo.com)
    Subject: sleazy intel compiler trick (SOURCE ATTACHED)
    View: Complete Thread (4 articles)
    Original Format
    Newsgroups: comp.arch
    Date: 2004-02-09 14:38:40 PST

    As part of my study of Operating Systems and embedded systems, one of
    the things I've been looking at is compilers. I'm interested in
    analyzing how different compilers optimize code for different
    platforms.As part of this comparison, I was looking at the Intel
    Compiler and how itoptimizes code.The Intel Compilers have a free
    evaluation download from here:
    http://www.intel.com/products/software/index.htm?i id=Corporate+Header_prod_softwr&#compilers

    One of the things that the version 8.0 of the Intel compilerincluded
    was an "Intel-specific" flag.According to the documentation,binaries
    compiled with this flag would only run on Intel processors andwould
    include Intel-specific optimizations to make them run faster. The
    documentation was unfortunatelylacking in explaining what these
    optimizations were, so I decided to do some investigating.

    First I wanted to pick a primarily CPU-bound test to run, so I chose
    SPEC CPU2000.The test system was a P4 3.2G Extreme Edition with1 gig
    of ram running WIndows XP Pro. First I compiled and ran spec with the
    "generic x86 flag" (-QxW),which compiles code to run on any x86
    processor.After running the generic version, I recompiled and ran
    spec with the "Intel-specific flag" (-QxN) to see what kind of
    difference that would make.For most benchmarks, there was not very
    much change, but for 181.mcf, there was a win of almost 22% !

    Curious as to what sort of optimizations the compiler was doing to
    allow the Intel-specific version to run 22% faster,I tried running
    the same binary on my friend's computer.His computer, the second test
    machine, was an AMD FX51, also with 1 gig of ram, running Windows XP
    Pro. First I ran the "generic x86" binaries on theFX51, and then
    tried to run the "Intel-only" binaries. The Intel-specific ones
    printed out an error message saying that the processor was not
    supported and exited.This wasn't very helpful, was it true that only
    Intel processors could take advantage of this performance boost?

    I started mucking around with a dissassembly of the Intel-specific
    binary and found one particular call (proc_init_N) that appeared to be
    performing this check. As far as I can tell, this call is supposed to
    verify that the CPU supports SSE and SSE2 and it checks the CPUID to
    ensure that its an Intel processor. I wrote a quick utility which I
    call iccOut, to go through a binary that has been compiled with this
    Intel-only flag and remove that check.

    Once I ran the binary that was compiled with the Intel-specific flag
    (-QxN) through iccOut, it was able to run on the FX51. Much to my
    surprise, it ran fine and did not miscompare. On top of that, it got
    the same 22% performance boost that I saw on the Pentium4 with an
    actual Intel processor. This is very interesting to me, since it
    appears that in fact no Intel-specific optimization has been done if
    the AMD processor is also capable to taking advantage of these same
    optimizations. If I'm missing something, I'd love for someone to point
    it out for me. From the way it looks right now, it appears that Intel
    is simply "cheating" to make their processors look better against
    competitor's processors.

    Links:
    Intel Compiler:http://www.intel.com/products/software/in dex.htm?iid=Corporate+H

  162. Malice? by sickboy85 · · Score: 1

    I'd say if there's a specific 'if processor==AMD', in ICC/ICPC source then it implies ill intentions.
    If it's simple 'if processor!=Intel', I see no wrong. It's the Intel compiler - they can do what they please w/ it.

  163. Re:The Limit of Lawsuits by imsabbel · · Score: 1

    And you have to add:
    The branch predictors are fucking great, nowadays.
    Real world prediction rates >98% are not unheard of, meaning only 1/2 or 1/3 clock additional execution time per jump instruction in average.

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  164. No big deal by galaxyboy · · Score: 1
    From Intel's site describing the Intel C++ compiler

    "Create high-performance software for desktops and servers that is optimized for Intel® processors with Intel® Compilers for Linux*."

    So what is the big deal? I bet that legally speaking statements like that are enough for them to avoid any liability on this issue. They are a chip company. They have a compiler to help sell chips. If you don't use Intel processors or you want your stuff to be fully optimized on AMD, then maybe you should consider using a different compiler.

    1. Re:No big deal by praxis · · Score: 1

      I am not sure how the law sees--or will see--this, but I'll outline my opinion.

      Intel have a unique intimate knowledge of their architecture. Their brightest software engineers can no doubt design a compiler that produces binaries that take advantage of the peculiars of their architecture. Intel need not spend resources on optimizing for their competitors products. The binaries might run slower on an AMD processor as a binary optimized for one architecture might perform worse than an unoptimized binary for another architecture under some circumstances.

      In my opinion that is not a predatory practice. What irks me about what AMD claims--if it is verified--is that Intel have put special effort into producing slower or intentionally buggy (!) code for AMD architectures while keeping their nice and tightly optimized code for their architecture. If this is true, Intel deserves unbridled wrath from the industry.

      It could come out that really the first case is true, that a highly optimized binary for an Intel architecture just runs poorly on an AMD architecture, in which case AMD owes Intel a big apology for that claim. Only time will tell.

    2. Re:No big deal by galaxyboy · · Score: 1

      How can anyone prove if code is intentionally buggy? I imagine that Intel doesn't do a whole lot of correctness testing on AMD machines. Things like this could easily fall through the cracks.

    3. Re:No big deal by praxis · · Score: 1

      I guess that's just my point. Most likely the fact that Intel spends their time optimizing for their architecture, the AMD issues are artifacts of that approach. If, however, it were shown that they intentionally sabbotaged the AMD compilation for say benchmark comparisions or somesuch, they deserve all the wrath the industry can dish out to them. There is no excuse for such unethical engineering in my book.

  165. AMD's Claim is BS by Anonymous Coward · · Score: 0

    The fact that Intel's compiler works better for Intel CPUs is perfectly logical.

    The Intel compiler programmers have complete access to the specifications for Intel chips, as well as access to Intel hardware for testing. That makes it possible for them to introduce optimizations, and ensure that they work, for Intel CPUs. For everything else, they choose safer, more generic code. That makes sense.

    Plus, it's not safe for the Intel programmers to make assumptions about the compatibility of AMD's CPUs, when we know that AMD likes to keep secrets.

    Consider the alternative. Suppose Intel included the optimized code for everyone, and, due to less opportunity for testing, and lack of detailed specs, those optimizations caused AMD's CPUs to break. Then AMD would be accusing Intel of sabotaging their chips for the opposite reason, by including the optimized code instead of the generic code.

    The real question to ask is, where is AMD's compiler, designed to optimize code for AMD's CPUs? After all, AMD has had over a decade to build their own compiler. But, as usual, AMD just whines when things aren't handed to them on a platter.

    This is just one more example of a weaker competitor trying to get the courts to give them an advantage over a stronger competitor.

    This may also be just another case of a Microsoft friend attacking a Microsoft enemy, in exchange for some unrevealed rewards. After all, Microsoft has been generating astroturf FUD against Intel for the last few years, ever since Intel starting working with Linux. The FUD is even stronger against Intel's Itanium CPU (you can see it in many of the posts for the Itanium story earlier today), due to the fact that Linux runs well on the Itanium, and Windows probably never will. Microsoft cosied up to AMD (you never see FUD articles against AMD like you do against Intel), and now AMD is attacking Intel in court, in what seems to be a rather dangerous and foolhardy move. I find that highly suspect.

    The fact is that right now I trust Intel a lot more than I trust AMD. This is especially true when it comes to Linux support, because Microsoft is in a position to help AMD gain marketshare, whereas Intel is feeling held back by Windows, and wants to reduce their dependency on Microsoft. If AMD wants to change my mind on that, their going to have to come up with something better than this.

  166. Why? by SumDog · · Score: 1

    Why would you be using icc anyway if you had an AMD? Sheesh!

  167. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 0

    Sorry to say this, but you have been trolled.

    I might get modded down for telling you this, but it's worth it if we can avoid a long thread about SPARC.

  168. Metrowerks sold their x86 compiler assets. by CyricZ · · Score: 2, Informative

    Metrowerks no longer produces an x86 compiler toolchain:

    http://www.metrowerks.com/MW/Develop/Desktop/defau lt.htm

    "Metrowerks recently sold its Intel x86 compiler and debugger technology to a third party. As a result, Metrowerks will no longer create and sell products that include this technology. Metrowerks will offer support for these products by hosting on-line discussions on newsgroups and on our web site.

    This sale does not affect the right to use CodeWarrior or create x86 code by customers currently licensed to use CodeWarrior x86 compilers."

    --
    Cyric Zndovzny at your service.
    1. Re:Metrowerks sold their x86 compiler assets. by myrick · · Score: 1

      Amazing. Thanks for the info, though I did enjoy pretending to be in the loop. ;)

      --
      I'd rather be cycling.
    2. Re:Metrowerks sold their x86 compiler assets. by CyricZ · · Score: 2, Interesting

      I'm interested in who purchased it, especially considering the upcoming transition of Macs to Intel-based systems.

      --
      Cyric Zndovzny at your service.
    3. Re:Metrowerks sold their x86 compiler assets. by Anonymous Coward · · Score: 0

      Nokia purchased it for their Symbian smartphone development. Metrowerks sold it not long before the Mac Intel announcement.

  169. Re:The Limit of Lawsuits by stripes · · Score: 2, Interesting
    "run on SPARC, which is a poorly designed processor"

    I know this is Slashdot, but do you have anything to back this up. Everything I have read about SPARC seems to suggest that it is a very well designed processor although manufacturers seem to have failed to push uit to the MHz that Intel and AMD have achieved.

    There isn't anything really poorly designed about the SPARC, which isn't to say it doesn't have some things nobody would put in a new CPU. For example it is one of only 2 commercial RISC CPUs with register windows (the other being the ill-fated AMD 29k), so I doubt anyone would do that again. It has (optional) branch delay slots, which were a win for a few years, but on OOO CPUs you can get the same gain without the pain. It also has a MULSTEP instruction, which is pretty much a waste when you have the transistor budget for a real multiplier.

    All of those can be forgiven as either actually a good idea in the late 80s, or at least not a known to be bad idea. Even the much maligned register stack was a pretty effective cache with way fewer transistors for a while there.

    SPARC hasn't suffered because it was a crap design, it has suffered because it doesn't have the same volumes the x86 does, so Intel putting $0.02 per CPU back into R&D gets it a bigger R&D budget then Sun pouring $1000 per CPU back into R&D. Disclaimer: I made those numbers up. Totally invented.

  170. Yes, for economic efficiency by Dire+Bonobo · · Score: 1
    > I don't mean to jump in, but does 'competition' require that the company
    > in the 'lead' has to help their competitor

    In certain cases, yes---anti-trust law would require a company with enough market power to not abuse that power to stifle competition.

    Business regulations of this sort aren't about "fairness"---they're about economic efficiency---and are important for getting the full benefits of a free market economy.

  171. It does make me wonder about the Apple switchover by imckinnon · · Score: 1

    I have heard stories about Intel for years, and have even taken the trouble to test and verify some of them on my own before I got tired of the whole deal and switched to Macs a year ago. Now like a piece of bad fish, the subject has come back up with Steve Jobs announcement of Apple going to Intel. With the predatory behavior of Intel, I have to wonder how much of this was in the way of "Special Deals" by Intel and maybe a little friendly coercion. I admit I am a little biased as I would have loved to see Apple go AMD which IMHO is a much better processor company than Intel.

  172. Another ludicrous lawsuit by Anonymous Coward · · Score: 0

    Devious or not, how is it in ANY way Intel's responsibility to produce a compiler that works as well for competitor platforms as Intel's, that works for competitor platforms at all.

    It's not. There is no legal precedent that forces Intel to optimize their own compiler to produce great results for an AMD chip.

    Is it a dirty trick that they purposelly hose code generated for non-Intel chips? Yeah. Are you suprised a big corporation plays dirty to screw the compeition? Duh.

    I know AMD is the slashdot favorite, but come on. AMD is a half-ass company that can't (after decades) seem to grow itself into the type of corporation that can attract, keep, and expand on an engineering base anything close to Intel's. Bitching because you are so weak that you have to rely on a competitor's compiler and don't like the results is laughable. As usual, weak company turns to courts and fantastic claims to try and stave off Darwin.

  173. Re:Compiler + host platform + target platform comb by Renegrade · · Score: 3, Interesting
    Most Linux development is done using GCC , Most of windows with MSVC++. Only true hard-core inner-loop optimising geeks usually use Intel C/C++ compilers. These are people like game devs, crypto developers and HPC programmers.

    I resent that. I optimize my inner loops (and the outer loops, and even the startup initialization data is cache aligned...) and develop games and I use MS VC6 for Windows and GCC for Linux/*BSD* exclusively.

    What sort of silly person would expect an INTEL compiler to generate decent AMD code anyways? While I didn't expect intentional sabotage, I'm not entirely surprised either. It's not like it's in Intel's best interest to spend millions on creating an optimizing AMD compiler.

  174. News for nerds. by AtariAmarok · · Score: 1

    The file formats are entirely different. You'd think this would matter. It is a tech site, after all. Or are you one of those who has tried to jam a 5.25" floppy disk into your CD-ROM drive? Hey, it's a diskette, right?

    --
    Don't blame Durga. I voted for Centauri.
    1. Re:News for nerds. by bemenaker · · Score: 1

      It wasn't about the format, it was about the drm. You missed the point altogether. But hey, since when does that matter.

  175. Re:The Limit of Lawsuits by Slack3r78 · · Score: 1

    And these branch predictors come at the expense of higher transistor counts, more heat, and the fact that >98% is not good enough to make up for the fact that your pipeline is *twice* the depth of your competitors'.

    The P4 quite possibly has the best branch predictor out there right now, but that doesn't make up for the fact that it *still* underperforms compared to AMD's chips.

  176. Huh? by GFLPraxis · · Score: 1

    "That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players. "

    What the heck are you talking about?

  177. Apple's switch to Intel by volts · · Score: 1

    I just took a read of AMD's brief. Makes me wonder if the IBM/Apple relationship was the object of similar monopolistic tactics.

  178. It may be all about Quality Assurance by Anonymous Coward · · Score: 0

    There is another side to this that Intel probably will use in their defense, and which may in fact be a perfectly legitimate reason for having seperate paths. Quality Assurance.

    They state that the code for certain sections the memcpy paths were optimized for the Pentium 4. Now say that you are the QA person responsible for ensuring that all of that new code creates absolutely perfect code, in all of your required situations, and say that AMD processor compilation is just a "nice to have." (how often does Ford create engine parts that work in Chrysler engines?)

    So, you don't spend the millions to test this new line of optimized code on AMD chips. But you know that the old line of code (that you haven't changed) still creates perfect code, you're just going to have the AMD path use the old code.

    An example. In my current position I am the QA for a java project processes monetary transactions and therefore has to work 100% each time, every time. We recently migrated away from Java1.3 (yeah, I know) to Java1.5. Now, we all know that the code works in 1.3, 1.5 AND 1.4. But we didn't have the requirement to work on 1.4, so we didn't QA it, so there's no way in hell we're going to allow it to run on 1.4. In fact, it is explicitly denied.

    No responsible legal entity will open themselves up to problems down the line by blindly certifying operating parameters. This is why GCC will work on the processors the coders -know- it will work on, while a proprietary compiler (like Intel's) will work only on processors the companty -tested-.

  179. detection is during execution. not compilation. by Anonymous Coward · · Score: 0

    I'm disappointed by all the ppl that screamed RTFA but didn't bother to read the article.

    I've pasted below the relevant snippet from the PDF.

    If you read it, you find that the Intel compiler would produce the same code independent of the compiling processor. The "special case" code happened during execution. (examples from other posts above illustrate workarounds that cause the "special case" flags to be hardcoded and never executed.

    -enote

    ---------------------
    125. Intel has designed its compiler purposely to degrade performance when a program
    is run on an AMD platform. To achieve this, Intel designed the compiler to compile code
    along several alternate code paths. Some paths are executed when the program runs on an Intel
    platform and others are executed when the program is operated on a computer with an AMD
    microprocessor. (The choice of code path is determined when the program is started, using a
    feature known as "CPUID" which identifies the computer's microprocessor.) By design, the
    code paths were not created equally. If the program detects a "Genuine Intel" microprocessor,
    it executes a fully optimized code path and operates with the maximum efficiency. However,
    if the program detects an "Authentic AMD" microprocessor, it executes a different code path
    that will degrade the program's performance or cause it to crash.

  180. Re:The Limit of Lawsuits by Nutria · · Score: 1
    I didn't expect that programs compiled with the Intel compiler would even try to work on an AMD CPU.

    Why shouldn't they?
    • AMD makes x86 CPUs, Intel makes x86 CPUs.
    • The same Windows, Linux, etc binaries run on both kinds of CPUs.
    • Everyone else's x86 compilers generate code that works on both CPUs. (When specifying something generic, like Pentium.)

    Face it: Intel is playing a dirty trick that would be legal if it didn't have such a huge market share.
    --
    "I don't know, therefore Aliens" Wafflebox1
  181. duh by Anonymous Coward · · Score: 0

    The issue is really not what cpu you are using when you are compiling but end-users may buy a product developed using the icc and find that it runs slow on the amd based system. No developer should be using the intal compiler if the finished software is to be run by users on both platforms.

  182. WTF? Counter-Strike? by Anonymous Coward · · Score: 0

    Does this mean that my Counter-Strike performs worse than it could because I use an AMD64?

    I would imagine that Valve uses Intel's compilers, highly regarded as they are. At least they sure as hell ain't using GCC...

  183. Re:The Limit of Lawsuits by lcsjk · · Score: 1

    I think my car already switched to that mode. I never thought about changing brands. Thanks!

  184. what a whiny bunch of bitches by Sebastopol · · Score: 0

    that's just pathetic--

    intel compilers make AMD CPUs crash?

    please.

    specify exactly how intel compilers do this and maybe you have a case. show an ASM code snippet at least.

    the two paragraphs that bitch about CPUID are complete bullshit.

    can't win? sue.

    it's the american way.

    --
    https://www.accountkiller.com/removal-requested
    1. Re:what a whiny bunch of bitches by Ambient+Sheep · · Score: 1
      > that's just pathetic--
      >
      > intel compilers make AMD CPUs crash?
      >
      > please.
      >
      > specify exactly how intel compilers do this and maybe
      > you have a case. show an ASM code snippet at least.

      Not the CPU itself, but certainly the program that it's running: http://www.swallowtail.org/naughty-intel.html

    2. Re:what a whiny bunch of bitches by Sebastopol · · Score: 1

      Thanks for following up to my troll with real info. Nice job.

      I raised this with Intel through their compiler support forums. The initial response from Intel was that

      "The most recent update of 8.0 compilers should have fixed the run-time issue with -xW and -xK on AMD processors. I don't believe the fix has been carried back to 7.1. It's not deliberate, it's an oversight, due to AMD processors not being supported or tested with those options."

      This is grey area: why should intel check optimizations for intel compilers on non-intel CPUS. On the one hand, its good coding practice. On the other, it is extra validation cycles cause by user error. Intel should have flagged an Intel option being used on a non-Intel processor, rather than writing out bogus code.

      On the third hand, there are bugs in GCC that affect specific CPU types, but no one claims GNU is biased.

      I'm out of hands, but thanks for the example.

      --
      https://www.accountkiller.com/removal-requested
  185. AMD does have a great Tool by MatthewNewberg · · Score: 1

    AMD did make a performance tool called Code Analysthttp://www.amd.com/us-en/Processors/Develop WithAMD/0,,30_2252_3604,00.html. From the little I have used it, it works great. They also have some good guides on how to improve your performance. AMD isn't up to the same level as Intel with there Developer support, but they have provided some great tools and white papers to help with performance.

  186. Re: Loop Unrolling by Lobachevsky · · Score: 2, Insightful

    The larger pipelines are also in anticipation of most compilers performing inlining and loop unrolling, in which case, many asm instructions will occur in sequence without any branching.

  187. Re:Compiler + host platform + target platform comb by Elwood+P+Dowd · · Score: 1

    I don't know what you're talking about. The whole point is that the generated application will use one code path when run on Intel processors and another code path when run on AMD processors. No matter whether you do your compilation on AMD or Intel.

    Lots of people use ICC, but it sounds like lots of people know the workaround to make it generate decent code for both AMD and Intel, which is to make the application lie about the processor architecture at runtime.

    Anyway, yes, there are definitely programs that run fine on Intel but crash on AMD and vice versa. My home computer crashes sometimes. It's AMD. My work computer crashes also. It's Intel. They crash at different times. In a system as complicated as a computer, I don't think I'll ever be able to say whether the problem is some ICC compiled game or something.

    --

    There are no trails. There are no trees out here.
  188. Like Mircosoft on a Cyrix chip? by Anonymous Coward · · Score: 0

    When they deliberately put code into the original release of NT4 to detect if it was running on a Cyrix cpu chip and disabled the processor's cache to artificially slow it down?

  189. Re:The Limit of Lawsuits by hsteck_ylf · · Score: 1

    Only if the "right" gas company was one making the car. Not exactly a great analogy there...

    --
    If you are expecting something here, I don't know what to tell you...
  190. Secure trusted computing initiative. by TimePressured · · Score: 1

    So this is what Intel meant when they said secure, secure against our competitors, Trusted as in trusted to screw with our competitors. I don't understand initiative though nothing new from Intel.

  191. How about throwing a few millions of dollars @GCC? by melted · · Score: 1

    Yeah, that's Intel's own compiler and they're free to do whatever they please with it. The reason is, they shouldn't have to test it for AMD processors unless AMD is willing to cover the costs of doing so. Don't get me wrong, I have an Athlon64 in my desktop, and I'm a huge AMD fan, but I'm sure there were diplomatic means of solving this issue.

    I would also like to see AMD throw some money to "starving artists" who develop GCC and boost the activity there. If this makes Intel's own compiler irrelevant in the marketplace, that's fine with me. If AMD-infused GCC performs better on AMD processors, that's fine with me also.

    Right now their position is not constructive. They just sit there and whine, and this never brings any glory.

  192. socialist AMD by Sebastopol · · Score: 0, Troll

    Yes, Intel should spend its R&D budget developing an optimized compiler for AMD.

    I'm glad we have a bunch of liberal socialists supporting AMD.

    Excuse me while I go listen to Rush's "The Trees" and read some Ayn Rand.

    --
    https://www.accountkiller.com/removal-requested
  193. My next machine... by Lodragandraoidh · · Score: 1

    Intel has just been added to my boycott list - joining Microsoft, and SCO near the top.

    My next machine will be an AMD, no question about it.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
  194. Re:The Limit of Lawsuits by lcsjk · · Score: 1

    No problem! I just thought you had a bad accent.

  195. great potential of AMD Re:New news by sogod · · Score: 1

    Could we imagine the greatness of AMD potential as a company, especially if she manages to survive against Intel monopoly fater all? Thank you, the competition, for the bargain prices we pay for our processors and for the hardware performance we currently have! I would sponsor AMD by any possible means, as a part of the better future for industry and all customers. Personally, I do not have especially bad feelings against Intel, rather against the regulation, allowing to have what happened now. Probably, it gonna cost to Intel, and she will be the forceable sponsor of AMD R&D for a bit of time.

  196. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 0

    I'm amazed that you're amazed. This is /., after all.

  197. The Intel compiler likes VC++ by Sycraft-fu · · Score: 1

    Integrates itself right in. Basically everything works the same, except Intel handles the compiling and linking and gives you faster code as a result. Now perhaps things have changed, but a couple years ago the ICC produced faster code for BOTH platofrms than the MS compiler, though it was even faster for Intel chips than AMD.

    Tom's Hardware did a test of various processors using FlaskMPEG (a program that decodes MPEG-2 and reencodes it to MPEG-4) back when the P4 was fairly new. The P4 did pathetic, worse than the P3 and Tom just panned it.

    http://www.tomshardware.com/cpu/20001122/p4-03.htm l

    Well Intel felt something had to be screwed up, this was just the kind of thing that the P4 was supposed to rock at. So they grabbed the source and recompiled it with the ICC pugged into VC++ (the program is a VC++ program) and sent it to Tom.

    http://www4.tomshardware.com/cpu/20001125/p4-06.ht ml

    Now as you can see, just the recompile (not using SSE2 optimizations) not only resulted in massive P4 speed increases, but almost doubled the speed of the Athlon. So while it certianly didn't optimize the Athlon to the same level as teh P4 (didn't do any 3dnow stuff) it certianly doesn't seem to give bad performance, at least in comparison to the MS copiler.

  198. SPEC CPU2000 Benchmark by shiller · · Score: 1

    If you search on the SPEC CPU2000 Benchmark for "Advanced Micro Devices", you will see that AMD uses the Intel compiler. If the Intel compiler is that bad, why do they use him?

    http://www.spec.org/cgi-bin/osgresults

    I personally compared Intel C++ 8.1 Compiler, gcc (MinGW and Cygwin) and Visual Studio .Net 2003 using the stream and the SPEC CPU2000 on AMD Opteron and Athlon 64. The benchmark result while using Intel C++ 8.1 Compiler was a bit faster than gcc and much faster compared to the VC++ Compiler with -O3 Optimization. Same thing than using the auto vectorized option and enabling SSE2.

    May be programs could run even faster if the Intel Compiler would be fair, it's still the fastest Compiler.

  199. Marketing BS? by zr-rifle · · Score: 1

    I want to know the following:

    1) Did Intel have access to the technical details and specifications necessary to fully optimize code for the AMD processors?

    2) If not, wouldn't this be a publicity stunt just waiting to be picked up by news sites like Slashdot?

    Just curious.

    --
    Hack your mind out of its sandbox.
    1. Re:Marketing BS? by ShoobieRat · · Score: 1

      1) Would they need to? If they created crappy code for AMD, and their strategy was to screw AMD and favor Intel, why would they need to know how to fully optimize code for the AMD chips? All they need is something that functions at that point.

      2) And if it was just a publicity stunt, it can only go good or bad for AMD, and...how would you know?

    2. Re:Marketing BS? by the_greywolf · · Score: 1

      to answer your 1): yes. AMD's optimization guides and techinical information is available for free download (PDF) or hardcopy (free shipping, 4-6 weeks delivery, no cost to you for the books). the case is identical with Intel. the entire programming guide is available for free in both forms.

      --
      grey wolf
      LET FORTRAN DIE!
  200. Not quite the whole issue by cyber-dragon.net · · Score: 1

    The real question is did Intel ever CLAIM thier compiler to be compatable with other processors? Did they ever sell it is a generic compiler for all platforms or did they sell it saying "This is our compiler for our chips and it will produce rock solid fast code for our chips"

    If so then those who baught it got what they paid for. What did they expect buying a compiler from a chip manufacturer?

    I don't buy a BMW engine, put it in a frame I "built to thier specifications" and then complain to BMW that it does not drive like one of thier cars. That is basicaly what this complaint boils down to.

    The other thing people seem to be missing here is Intel has NOT targeted AMD specificaly, they have targeted ANY processor that is not thiers. Does this make sense? YES. How else than they ensure full compliance with thier specs? Do you expect each executable to fully test every chip it is run on before executing an instruction?

    The compiler is not meant to be a generic compiler, it is mean to take advantage of technology in an Intel chip. If AMD wants to compete they should write a compiler that takes advantage of thier chips.

    The best they could do is offer some "certification" of the processor to allow it to report as compliant. Again though, why should they have to? Thier compiler is a product to produce optomised code to run on THIER chips, end of story.

    1. Re:Not quite the whole issue by non0score · · Score: 1

      I think you have the analogy mixed up.

      It's more like: "I don't buy a BMW engine, put it in a frame I 'built to their specifications' and then complain to BMW that it does not drive like one of their cars. However, if the engine did a DNA analysis and finds that the owner of the car is cyber-dragon.net and proceeds to max out at 100 horsepower lower, then that'd be something else. That is basically what this complaint boils down to."

  201. Re:The Limit of Lawsuits by Erich · · Score: 1
    Only Crays and DSPs used to have pipelines that long

    Show me one fixed-point DSP with anywhere close to a 32-stage pipeline.

    It is rare to see fixed point DSP pipelines longer than 12 stages, and most of that is just memory latency. That's short compared to just about any modern microprocessor.

    Not even floating point DSPs, which are irrelevant; nobody uses them. Well, maybe not nobody, but certainly the vast majority of the market is fixed-point with 16x16 multipliers. Pipelines for modern versions of these DSPs are usually in the 5-12 stage range.

    Perhaps you are thinking of graphics pipelines?

    --

    -- Erich

    Slashdot reader since 1997

  202. More bullshit? by Anonymous Coward · · Score: 0

    Since at least one company has pointed out the bullshit in AMDs previous lawsuit allegations, it may be prudent to assume that this one is full of crap as well.

    It's the 20th century, the century of competition by litigation.

    Frankly, AMD is on thin ice as it is, being nothing but an Embrace and Extend hanger-on to the Intel CPU archetecture. They should be happy they make any money at all on their CPUs, being the remoras that they are.

  203. Re:The Limit of Lawsuits by shmlco · · Score: 1
    I'm amazed at how you can find shills on /.

    And I'm amazed by the number of people who assume that anyone who disagrees with them must automatically be a shill. Of course, no rational person could possibly have a different perspective on such things...

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  204. Intel has NO NEED to ensure compatibility. by OmniGeek · · Score: 1

    Given that Intel and AMD are basically the only major players in the x86 CPU market, there seems to be no significant difference between detecting Intel vs non-Intel and detecting Intel vs AMD.

    But a MUCH more basic question is why Intel's compiler designers should give a soaring adlunar coition what chip the compiler is running on. If the compiler runs well on a real Intel chip, the job's done. THERE IS NO NEED to detect non-intel chips for ANY legitimate reason. If the third-party chip is *really* Intel-compatible, the compiler will run on it; if it doesn't run, too bad for that other chip, it loses fair and square. Why spend resources to work around the competition's mistakes when you can legitimately ignore them and make the competition pay to solve their problem?

    "Hey, Intel compiler support guy, your compiler craps on a MyCompatibleCPU." "Sorry, sir, it runs on all Intel chips. Not our problem, talk to MyCompatibleCPUVendor or use a real Intel chip for guaranteed compatibility."

    With this context in mind, it could be persuasively argued that ANY affirmative detection of non-Intel vs Intel CPUs is a sign of a probable anticompetitive act. If the "for Intel CPU" code runs as well or better on a non-Intel chip as the "for non-Intel CPU" code, then a smoking gun is present; prepare to see a painful and embarrassing (for Intel) discovery process.

    --

    "My strength is as the strength of ten men, for I am wired to the eyeballs on espresso."
    1. Re:Intel has NO NEED to ensure compatibility. by Anonymous+Custard · · Score: 1

      Well, then why do they make compiled code work at all on AMD chips?

      I agree with the poster above, though; he should have used a generic compiler (which he eventually did).

    2. Re:Intel has NO NEED to ensure compatibility. by Dun+Malg · · Score: 2, Insightful
      Well, then why do they make compiled code work at all on AMD chips?

      Because then nobody would use their compiler at all. They wanted to subtly punish buyers of AMD CPUs, not drive away compiler customers.

      --
      If a job's not worth doing, it's not worth doing right.
    3. Re:Intel has NO NEED to ensure compatibility. by LarsG · · Score: 1

      Given that Intel and AMD are basically the only major players in the x86 CPU market, there seems to be no significant difference between detecting Intel vs non-Intel and detecting Intel vs AMD.

      I'm not saying that it is very nice of the Intel compilers to generate binaries that only run MMX/SSE/etc code on Intel processors and falling back to generic x86 on everything else. The technically correct thing to do would be to check the capabilities flags and choose the code path most appropriate to the advertised capabilities of the CPU.

      What I am saying is that I doubt that Intel has any obligation to check for the capabilities on non-Intel CPUs. AMD will obviously make the same point you are making, but I think they will fight an up-hill battle unless they can show that the code paths executed on AMD CPUs are deliberately pessimized (i.e., performs worse than reasonable generic x86 code).

      --
      If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  205. Re:The Limit of Lawsuits by Rimbo · · Score: 4, Funny
    Next up, writing a VI clone in LISP! ;-)


    Hello, did someone say "Vi clone in LISP?"
    bash$ emacs -nw -f vi-mode
    Ya mean, like that? :D
  206. Speaking of gcc... by Anonymous Coward · · Score: 1, Insightful

    How involved in gcc development has AMD been? I'd love for them to contribute heavily toward making gcc-produced code fly on AMD64 cpus.

    It would be great if gcc were the reference compiler for AMD64.

  207. Re:Compiler + host platform + target platform comb by Chris_Mir · · Score: 1

    But how many people build stuff on Amd64 with an Intel compiler ?

    What's wrong with that? On my Mac, running VmWare to be able to run Win XP, so I can use CygWin in which I frequently crosscompile the latest Linux kernel optimized for AMD64 with an Intel compiler.

  208. "Deliberatly"? Learn to spell! by Anonymous Coward · · Score: 0

    It's "deliberately".

    Bad spelling screams out "Warning: I have a bad education, and I have nothing worthwhile to say".

    Editors, this goes for you, too.

    1. Re:"Deliberatly"? Learn to spell! by homeslice3 · · Score: 0, Offtopic

      It's "small penis". People who are good spellers scream out "Warning: I never get laid, I'm an uptight asshole and I like to correct others. Oh, and I have a small penis". Editors, this goes for you too.

  209. Re:Why? A Better Question.... by Callitrax · · Score: 1

    Why doesn't AMD release their *own* compiler?
    AMD's Compiler would be here:
    http://www.pgroup.com/

    AMD worked closely with PGI while prepping the K8 core for launch to have a 64 bit compiler capable of the same auto-vectorization the icc can do.

    Also, Intel does push icc as the best compiler for Windows/x86 linux (which it quite possibly is, this story aside). So they are screwing the people who buy the compiler and later find out that it intentionally sucks for 15% of the market. And AMD then gets hosed by looking appearing slower than the P4 on apps built by Intel's compiler.

  210. Missing the point by rongage · · Score: 1

    I can't believe how many of you folks are missing the point of this compiler problem...

    The point isn't about people who compile their own code (like us *nix folk), but the point is about people who use icc to compile binaries for wide distribution.

    An example of binaries for wide distribution: MySQL has a precompiled binary that was built using icc. There are no-doubt other software packages that are compiled using icc - no doubt without a word about it in public.

    Take a program like AutoCAD as a hypothetical. If AutoCAD were compiled using icc (instead of VC++), then it would scream on Intel chips yet would absolutely suck on AMD chips (if it ran at all). In this realistic case, Intel's code-path decisions are absolutely hurting the end user (and quite probably hurting AutoDesk as well).

    So this can prove to be a very big problem indeed...

    --
    Ron Gage - Westland, MI
  211. The benefits and costs of being in front... by podperson · · Score: 1

    Intel does a lot more for the software community than AMD does by virtue of its market dominance. It produces compilers and chipsets to support its cpu business. AMD tries to cherrypick the most profitable aspect of Intel's business while doing as little of the unprofitable support stuff as possible.

    This is an absolutely classic Hertz/Avis kind of thing. Macdonalds does enormous R&D to figure out where to put its franchises. Burger King puts its franchises across the street from Macdonalds. One can imagine Macdonalds trying to tie up potential Burger King leases before acquiring a site for one of its stores.

    I don't see that Intel is obligated to interoperate with AMD at all. They could simply design their compiler to refuse to run on an AMD box. They could design their compiler to write programs that refuse to run on an AMD box.

    AMD, in turn, could produce CPUs that claimed to be Intel CPUs.

    This is no different from Ford deciding to use odd shaped cup holders and selling expensive replacement cupholders to prevent Repco from undercutting them.

    What would be truly unethical and illegal would be what Microsoft did to Borland with Windows 95 betas -- incorrectly report errors after detecting a program compiled with a Borland compiler.

    If Intel produces crashing code for AMDs -- that's basically a form of libel. Aside from that, I just don't see the problem.

  212. They don't target AMD though... by Ayanami+Rei · · Score: 2, Informative

    They just refuse to turn on many optimizations unless they see "GenuineIntel" returned from the CPUID instruction. Thus excluding _everyone_ else.
    At least they're being fair about it. *eye roll*

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:They don't target AMD though... by coolGuyZak · · Score: 1
      Targeting a specific competitor is not a qualifier for anti-competitive practice.

      Lest you forgot your </sarcasm> tag.

    2. Re:They don't target AMD though... by Anonymous Coward · · Score: 0

      What are you, one of those people who think designing for Internet Explorer only is OK?

    3. Re:They don't target AMD though... by Osiris+Ani · · Score: 1

      Yes, they're equal-opportunity discriminators.

  213. Re:The Limit of Lawsuits by Physics+Nobody · · Score: 1

    "2. If you think the SPARC is a poorly designed processor, you need your head checked."

    If you don't think SPARC is a poorly designed processor you need to wake up from your trendy x86 bashing and smell some benchmarks done in the last 5 years. SPARC hasn't been competetive for a long time. The only reason it's still around is because of Solaris and the fact that it scales well when you want to use a very large number of processors. But with Sun investing in Opteron technology they will likely stop making SPARCs soon. They've already stopped developing future SPARC designs.

    --

    Physics is good

  214. Is all this activity by Anonymous Coward · · Score: 0

    right now on this suit related to Apple saying "Intel" and not "x86" multiple times in press releases?

  215. I know someone will mark this a flamebait or troll by Anonymous Coward · · Score: 0
    WHY SHOULD INTEL'S COMPILER BE EXPECTED TO WORK ON ANYTHING OTHER THAN INTEL'S CHIPS. AMD can make their own compiler if they don't like the way the intel compiler deals with their chips.

    There end of story!

  216. They check the feature flag on the chip... by Anonymous Coward · · Score: 0

    If it reports that it's present, you use the same goddamn code path. You don't check who the manufacturer is, you check what features the CPU supports.

  217. Re:The Limit of Lawsuits by j-turkey · · Score: 1
    I'm amazed at how you can find shills on /. to support almost any form of sleazy behavior on the part of some corporation.

    Um...do you always use corporation to mean unethical company? It's quickly become run of the mill agenda-speak. I'm amazed that how you can find shills on /. to reject almost any form of behavior by any business as 'evil' because it has to do with the word 'corporation' (which so many seem to have forgot the meaning of).

    It's hardly the same as refusing to allow your OS to run on another company's processors. If you don't want your compiler to support AMD, engineer it that way and say so to your customers. Building in stealth methods of sabotaging performance on the CPU is hardly the way to go (if in fact that is what Intel did without good engineering reasons why.)

    I haven't read all the legal complaint from AMD (TFA), and IANAL, so I can't speak definitively on this...but are you sure that Intel was acting in a nefarious way here, or just assuming it? If Intel's compiler simply disables propritary optimizations for non-Intel processors, there's nothing wrong with this. Intel shouldn't be under any obilgation to research their competitor's propritary optimizations and then support those with their compiler. There are other x86 compilers out there, right?

    That being said, if Intel's intentions were nefarious, and deliberately attempted to slow code on their competitor's chips, sobeit -- they deserve to be punished.

    So -- what evidence do you have as to Intel's intent? Are you only citing the AMD complaint? It was quoted in the summary, but are you sure that performance is only degraded if "Authentic AMD" is detected, or will it not apply Intel optimizations to any chip without "Genuine Intel" the CPUID? AMD's claim sure sounds open to some interpretation...and we all know that lawyers love to stretch the truth as much as possible, even if it is just a semantic technicality (ie: a conditional looks for GenuineIntel under CPUID and doesn't find it...in this case, AuthenticAMD != GenuineIntel and thus doesn't get the optimizations. Is this deliberate and nefarious, or just a lack of support someone else's technology?).

    I sure hope that you're not basing your entire judgement of Intel (and your subsequent judgement of anyone who poses any doubt to this) on AMD's legal claim, with absolutely no other supporting evidence. If this is the case, do you work for AMD, by any chance?

    I'll say again, just so there's no misinterpretation...I do not know anything about Intel's motivation or actions. If they've used their position to act against AMD, they deserve to be punished. However, if you're just using AMD's complaint againt Intel as 'fact' for judgement, then I've got some beachfront property in Arizona to sell you...as well as a few bridges.

    --

    -Turkey

  218. AMD Rules... AMD's Marketing SUCKS by Anonymous Coward · · Score: 0

    AMD is a bit of a puzzle in the technology world. They've got fantastically gifted engineers, and fantastic products. But in a world where chest beating is as important as technology, AMD consistently cowers in the corner. Where are the ads proclaiming the very obvious (and ultimately most important) point that "AMD CPU's ARE SIMPLY FASTER" ?

    People don't seem to realize that a 2.2GHz AMD CPU can spank a 3.2 GHz Intel chip. And why don't they realize that? Because AMD has some of the worst corporate communication skills in the tech world.

    Just take a look at AMD's website. My highschool sister makes slicker websites.

    AMD (God bless 'em and all their naivety) believes that better products alone will win the day. Newsflash guys: It ain't so. Faster chips alone won't cut it. They need to thump their chest and call Intel a bunch of sissies.

    AMD Management: Please for crying out loud, hire an ad agency. Hire a PR firm. Open up a can of marketing whup-ass on your competition. It ain't like you're poor.

  219. Re:The Limit of Lawsuits by AKAImBatman · · Score: 1

    If you don't think SPARC is a poorly designed processor you need to wake up from your trendy x86 bashing and smell some benchmarks done in the last 5 years.

    Do you actually know what you're talking about? Benchmarks have nothing to do with the validity of a design. In fact, they prove absolutely nothing since the SPARC is targetted at a very different market than the x86.

    Put this in your head and think about it: A CPU is but a single component in a much larger system.

    When you figure out how that relates to the x86 and SPARC architectures, let us know.

  220. Re:The Limit of Lawsuits by AxelTorvalds · · Score: 1

    What Cray processor are you thinking of? I think you're confused.

  221. You don't seem to undertand either by Anonymous Coward · · Score: 0

    You simply aren't getting it.

    You're stating as FACT that intel's compiler SHOULD make use of processor extensions on AMD chips. Why, what basis do you have...? Is there a legal requirement? Do intel advertise their compiler for compiling for AMD? Intel sell and market that compiler as producing top quality binaries for intel chips, which it does (although with recent versions less well on older Pentium models).

    That simply isn't the case. Intel's compiler doesn't use the same extensions on their own chips that are earlier than P4. That's intel's choice, not yours and not AMD's.

    There is NO reason that intel's compiler SHOULD produce code that runs at all on anyone but intel's chips.

    Your points are all based on the fact that intel should be providing AMD with free tools - that's simply incorrect. It may be comunity minded to do so but it's still not a requirement, legal or otherwise IMHO, IANAL.

    Also you state that the compiler should be checking for extensions and choosing to compile in functionality or not and go on to say that games companies do this with dll's.

    Unfortunatley you don't seem to quite grasp the way the intel compiler works. You can compile in multiple code paths to the same executable that will be chosen at run time to suit the processor that it is running on. So intel do exactly what you're talking about, but the compiler does it for you.

    The problem is that the code produced by the intel compiler treats any non-genuine intel CPU as being a basic i386. Fair enough, it doesn't have to run on them at all. This also saves them from masses and masses of potential compatibility testing and labs, all at intels expense with zero benefit to themselves.

    Maybe intel should sue Apple for only providing OSX on Apple hardware? Apple here have a piece of software that only runs on their hardware but would be beneficial for intel if it ran across all their chips too, for every clone PC. Does that mean that Apple are required to provide OSX to Dell? No of course not!

    Are you really suggesting that intel need to go to the effort of distinguishing all those different AMD chips, some of which identify themselves strangely? It's not fun, I know as I work for one of those aforementioned games companies and have had to do this.

    We don't use the intel compiler BTW because of just this kind of problem with AMD's not being very optimal. That's our choice.

    AMD shouldn't be suing intel over this, they should be making an effort to provide decent developer support and talking to developers that are shipping code that doesn't run optimally on their processors or balances better between manafacturers, not moaning about intel providing a compiler suite that works well for their processors.

    1. Re:You don't seem to undertand either by non0score · · Score: 1

      I think you're the one not getting it.

      The point is that there is a difference between "I only care about myself and I don't care about anyone else (i.e. ignore them)" and "I only care about myself, and I don't care about anyone else, EXCEPT I hate so-and-so, and will do anything to screw them over (NOT ignoring them, but deliberately singling them out)." The latter argument being AMD's claim that of being Intel's stance.

    2. Re:You don't seem to undertand either by Anonymous Coward · · Score: 0

      The Intel compiler DOES NOT specifically look for AMD and then do something bad. It looks for !(Pentium4||PentiumM) and then does "i386" code path, which is less optimal.

      If AMD is claiming that ICC is looking for the AMD ID string and doing something evil, a quick examiniation of the binary code will show that they are wrong. End of that claim.

      AMD, much like SCO, will end up "clarifying" thier suit a few hundred times until it's meaningless.

    3. Re:You don't seem to undertand either by non0score · · Score: 2, Interesting

      Sure. But what other mainstream i386 CPUs are out there that isn't AMD? VIA? Your Verilog implementation of the instruction set on your home PC? If that's the case, then both Cyrix and you should help AMD because they're obviously hating VIA and you too. If that's not the case, then AMD is the only major competitor to Intel, and the statement "looks for non-Intel" is EQUIVALENT to "looks for AMD."

      The fact is, it is SUFFICIENT to only test for the presence of SSE/SSE2/SSE3 instruction set. Anything more, like "GENU" "INEI" "NTEL", is absolutely unnecessary. Afterall, why would Intel care if the code fails on non-Intel CPUs if ICC is only meant for Intel CPUs (which it isn't)? On the other hand, if the ICC is designed for other CPUs, then Intel obviously would know (afterall, Intel IS licensing the SSE/SSE2/SSE3 instruction set to AMD) the capabilities of said CPUs, in which case they should enable SSE/SSE2/SSE3 for CPUs capable of the instructions. Last I heard, there weren't any problems with AMD's SSE/SSE2/SSE3 implementation. Therefore, the bottom line is this boils down to a Catch22 situation and Intel should know better than to pull such cheap tricks. If Intel is going to assume that any CPU that implements the i386 instruction set does this without major problems, then why would they not assume the same with SSE/SSE2/SSE3?

      Furthermore, if you actually read some of the user posts (and their links http://www.swallowtail.org/naughty-intel.html), you would have realized that ICC deliberately produces segfault code when the execution of the code doesn't find an Intel CPU. According to the article, this is with the -xK flag. That is, it produces ONLY SSE code, and NO fallback to i386 code. Yes, that means this code will fail on the original Pentium. However, in this case, Pentium will still try to execute the SSE code (and subsequently craps out), while AMD CPUs will not (and automatically segfaults). This kinda throws the "and then does 'i386' code path, which is less optimal" argument out the window....

  222. It's "Illegal Tying" -- that's what DOJ got IBM fo by coats · · Score: 1
    ...when IBM tied its System 360 operating systems and hardware together, back in the seventies.

    --
    "My opinions are my own, and I've got *lots* of them!"
  223. Their own compiler--contract to PathScale by coats · · Score: 1
    They contracted it out to PathScale: see http://www.pathscale.com/index.html

    And I've been very happy with it.

    --
    "My opinions are my own, and I've got *lots* of them!"
  224. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 0

    Actually, the K8's branch predictor is better. The Pentium M has probably one of the best branch predictors.

    Intel's CPUs outperform AMD's at a number of things. Intel loses big at the x86-64, because it's a stop-gap implementation. It loses at x87 performance, because the architecture was designed to favor the use of SSE. If you look at benchmarks, most stream processing favors Intel. Their implementation of SSE is better than AMD's as well. Once Intel adds an on-die memory controller, it will see the same handsome performance benefit AMD did. It's rather lame to use "underperforms" to compare them. They both have different strengths.

    The biggest problem with the P4 isn't its performance, but the absurd amount of heat it produces.

    The NetBurst architecture was designed to scale to high clock speeds, but Intel's process couldn't be scaled to meet the plans of the architecture. Intel has realized that previous process scaling methodology is no longer going to work, because leakage is just so bad. That's why the descendents of the Pentium M will replace the current P4.

  225. Re:The Limit of Lawsuits by Citizen+of+Earth · · Score: 1

    But in Intel's zeal to win the clock rate wars, they maxed out the pipeline to an absolutely ungodly length.

    The fools! All they needed was a built-in clock divider. They could have been delivering 128-GHz processors years ago. PHB types would have been saying "Wow! A 128x increase in speed--we've gotta get some of those!"

  226. Link by rangek · · Score: 4, Interesting

    This seems to be it. I haven't tested it yet.

  227. This is pure crap by kyoko21 · · Score: 1

    AMD is complaining that Intel deliberately complain that Intel's compiler favors Intel's chips for code optimization. Well, the last time that I checked, Intel spend the money to make the compiler so they have every reason to optimize for Intel's chips.

    A good example would be two neighbors in a suburban neighborhood. The two houses' front lawns have no true dividing lines. But clearly it is two yards. One owner isn't obligated to water the other person's yard. He paid for the water and he has the right to favor his lawn as much as he want and setup his lawn sprinklers to favor his side of the yard and not his neighbors.

    If his neighbor wants to keep his lawn green, he better spend the money to water his lawn and not cry fowl when his neighbor's water sometimes touch es his yard.

    If AMD wants to optimize their code execution, then they are more than welcome to release a comparable compiler that is optimized on AMD, but runs a bit slow on Intel. Remember, Intel isn't compiling code that doesn't run on AMD, they just only play favorites on their own chips.

  228. Re:Why? A Better Question.... by Chris+Burke · · Score: 2, Informative

    This is a case where a compiler can go "if it is a 'processor-type-a' use these instructions otherwise use something else". I don't see any fault here. Intel has created a compiler that uses their chip's optimal settings. An efficient instruction set of instructions for a P4 will not be the same for an Athlon anyway due to internals of both chips being different. Why would anyone believe otherwise?

    Because "anyone" would know that certain code paths are going to be faster on both AMD and Intel processors than others. An SSE2 optimized code path is going to be faster on both chips than an x87 code path. Yes the chips are different but both do better with certain kinds of code.

    Why would this be the case? Because AMD tried to make their SSE2 support as fast as possible so that it could run the same code as an intel compiler just as fast! AMD is not in a position to expect everyone to optimize their code for the underdog's processors. They have to make sure the code that exists runs fast.

    Yes, they are going to be differences in the most optimal sequence of instructions depending on the microarchitecture of the chips. This does not mean that the optimal code path for Intel is automatically sub-optimal for AMD. Why would you assume that?

    You don't see any fault because you aren't comprehending the situation. The CPUID instruction returns, among other things, a bit field detailing all of the instruction set extensions supported by the chip. AMD processors have supported SSE2 for years, and have this bit set. These instructions are quite fast on AMD processors, because they have to be. The Intel compiler produces code that uses SSE2, and other instructions if the compiler doesn't support it. However to determine which code path to use, the Intel-generated code uses the processor name returned by CPUID rather than the feature bits. It checks for "GeniuneIntel" or "AuthenticAMD", and uses either the fast code path or the slow one.

    It has nothing to do with compatability, and everything to do with detecting and crippling a competitor's chip.

    --

    The enemies of Democracy are
  229. Re:Compiler + host platform + target platform comb by RAMMS+EIN · · Score: 1

    ``The options are to switch to a different compiler and take the performance hit that comes from that (which can be quite significant) or put pressure on Intel to stop trying to 'innovate' using underhanded tactics.''

    Which nicely illustrate why dependence on proprietary software is a Bad Thing. I don't think I need to point this out to /.ers, but it makes a fine example case if you want to convince someone.

    Of course, in this case, it's a difficult problem. Making good compilers (especially for an ISA as complex as x86) is hard, and something that volunteers cannot seem to achieve - or even the GCC team, which I do believe gets some funding. Intel at least achieves it for its own CPUs, but that leaves the other arches in the cold, even without sabotage.

    Maybe we need some fund pooling for a truely great open source compiler, or maybe we just need to accept that suboptimal code is Good Enough, and wait for the next round of CPUs to get more performance...

    --
    Please correct me if I got my facts wrong.
  230. AMD *has*, not *have*. by i41Overlord · · Score: 1

    Singular entity. Is Cmdr Taco from the US or Europe? In the US, company names are referred to as singular proper nouns.

  231. Re:The Limit of Lawsuits by ThePiMan2003 · · Score: 1

    Actually it says right on the compiler that it only optimises for Intel CPU's.

    And lets set the point straight there is a difference between using a generic method of doing something that works on every cpu, and detectnig an "AuthenticAMD" cpuid and filling your code with things that wasted time. If they really wanted to be evil they could have porposly put out code filled with delay loops and other annoying stuff.

    Instead Intel just put out generic code.

  232. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 0
    Next up, writing a VI clone in LISP! ;-)

    It's called emacs

  233. Re:The Limit of Lawsuits by AKAImBatman · · Score: 1

    The fools! All they needed was a built-in clock divider. They could have been delivering 128-GHz processors years ago.

    There are *so* many things wrong with that joke. For one, I wouldn't be surprised if most motherboards today use a clock multiplier so that they don't need such expensive oscillators. Significantly increasing the multiplier would only serve to destablize the signal, resulting in a very poor wave after you divide it. The other problem is that the CPU is measured by the clock rate it actually runs at, not the rate of the crystal. Sorry. :-)

  234. Re: Loop Unrolling by Anonymous Coward · · Score: 0

    At the cost of blowing away your icache? I think not. Cache pressure is the single most common cause of performance problems in modern code.

  235. So? by Locke2005 · · Score: 1

    This is the only AMD claim that I completely disagree with. Intel is a chip company, not a software company. They only make compilers to leverage Intel CPU sales. Intel is under no obligation whatsoever to make their compilers work for AMD chips at all, let alone optimize them for AMD chips! While we're at it, why don't we sue Microsoft because Visual Studio won't produce code that will run on a Power PC, and won't produce code that will run under OS X... that's obviously anti-competitive behaviour too, isn't it?

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
    1. Re:So? by Zelatrix · · Score: 1
      It would be extra work - much extra work - for Microsoft to make Visual Studio produce code for a PowerPC or run on OS X; not so much on the development side perhaps, but certainly on the support and marketing side. Unfair use of monopoly power might be a factor in the business decision not to do so, but it could be easily explained as a lack of market demand.

      But Intel seem to be putting a lot of extra work to make the code not work properly on an AMD chip. I doubt there's much market demand for that. So it makes a much more compelling case that Intel are unfairly abusing their monopoly position to harm a competitor.

      Why do you feel that the two situations are equivalent?

    2. Re:So? by Locke2005 · · Score: 1
      Wouldn't it be extra work for the Intel compiler department to test their compiler on AMD chips? (To say nothing of the fact the AMD CPUs are somewhat rare on Intel campuses). Easiest and safest thing to do is to simply not do any optimization for "unknow" chips. Intel sells their compiler as an optimizing compiler for Intel CPUs. Why should anybody expect the Intel compiler to work at all for AMD chips, let alone optimize properly? I'm sorry, but I don't think AMD can make this claim stick in a court of law, whereas obvious Intel has been using some sort of kickbacks and/or supply threats to make vendors go Intel-only.

      I'm sorry, but I don't see any proof that Intel put "extra work" into making the compiler worse.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
  236. GCC portability? by tepples · · Score: 1

    Since Theo is a license zealot, he would drop GCC for a portable C compiler if the license was right.

    And GCC isn't portable?

  237. Flattery well deserved. by raehl · · Score: 1

    Congratulations. You're on the gcc mailing list and the rest of us must now bow before your mad news reading skills. You are truly one to behold.

    If you think that's impressive, you should see how entertaining he is at parties.

  238. Re:The Limit of Lawsuits by karnal · · Score: 1

    == YAY for Cyrix and Transmeta!!!!!

    Oh wait. compile(); probably just means compileMediocreBranch();...

    --
    Karnal
  239. Old news... by DKRobin · · Score: 1

    This is truly an old subject. Byte magazine showed this type of "optimization" and Dr. Dobbs has had numerous discussions on this over the years. Every CS major I was in school with in the early 90's saw this type of thing going on and we all just tossed the problem aside as Intel was the only real power in the x86 world at the time but I hope AMD has the fortitude to stick with this attack long enough to change a few things for all of us. I personally could care less who is "in the lead" as I am not a fanboy one direction or the other... I just buy whichever is more suitable at the time. However, the last time I ran in to this problem with Intel it was when I was putting together a recording studio for a client in Germany and we noticed that the Athlon ran the same code 30% slower than the Intel, even though the Athlon was at a higher clock and ran every other application 50% faster than the Intel. Again, this attack is long overdue from many people's perspectives.

  240. Re:The Limit of Lawsuits AMD/Intel/ms by HungWeiWeiHai · · Score: 1

    I was wondering whether AMD's "daring and bold" assault on Intel will have any repercussions as far as the Intel/ms and AMD/ms relationships go. I know they flip-flop between bending over for ms and splaying for Linux/Open Source, but couldn't AMD benefit by having an outlet store selling AMD-based computers and Linux? Just an idea, but would this cause problems for them and msoft?

    I ask partly because I'd heard that AMD is "deeply in bed" with msoft.

  241. Re:The Limit of Lawsuits by CantGetAUserName · · Score: 1

    Um, no they didn't. It segfaults on AMDs - does say that in the fine article, iirc

    --
    Semper en excreta sumus solum profundum
  242. Silly AMD by Anonymous Coward · · Score: 0

    Don't they know Intel has the money to buy the jury too?

  243. Re:The Limit of Lawsuits by Drakonian · · Score: 0
    Well it supports the x86 architecture. It doesn't have to support special features of AMD, but it should not purposely run different code (than it would on an intel proc) to crash the system. That's pushing the limit on anti-competitive, next thing you know ford is selling fuel that runs great in their cars but can tell if it's in a toyota and decides to spontaneously combust in the tank then.

    I'm curious - if Intel checked if it was an AMD chip and just refused to compile code at all, would people be up in arms? I doubt it. I don't think Intel is under any obligation to make compilers that work for AMD chips at all, never mind optimize for them.

    --
    Random is the New Order.
  244. Re:The Limit of Lawsuits by ratsg · · Score: 1

    If you don't think SPARC is a poorly designed processor you need to wake up from your trendy x86 bashing and smell some benchmarks done in the last 5 years. SPARC hasn't been competetive for a long time. The only reason it's still around is because of Solaris and the fact that it scales well when you want to use a very large number of processors. But with Sun investing in Opteron technology they will likely stop making SPARCs soon.

    I'm not sure that they ever did develop SPARC processors completely? I know that TI did/does sparc processors for Sun. And I believe that now (or the near future) that Fujitsu will be Sun's primary CPU vendor

    They've already stopped developing future SPARC designs.

    Also, isn't the SPARC CPU is a pretty open CPU

    http://www.sparc.org/

    compared to the intel/amd CPU's??

    And there are quite a few companies that make SPARC based systems other than just Sun like

    Tadpole
    RDI
    Fujitsu
    Rave
    NIS - I am typing this on a NIS UltraSparc II system
    Aries


    I know that there are others but that is all I can think of

  245. ...and what exactly is the news? by DeeKay · · Score: 1

    This has been in the PDF that AMD published on the day it made its lawsuit public exactly verbatim ever since DAY ONE!

    Why does this become such a big revelation all of a sudden? Oh, right, i forgot: People don't read PDFs!....

    What's more sad is that even ElReg didn't read it apparently...

  246. Re:Compiler + host platform + target platform comb by m50d · · Score: 1

    They sell it as "the fastest compiler for x86 systems". It should work on any x86 system.

    --
    I am trolling
  247. Do read the complaint! by PhYrE2k2 · · Score: 2, Interesting
    Do read the complaint. The history goes back 25 years in this, and seems to suggest a lot of fowlplay.


    12. When IBM defined the original PC standards in the early 1980s, it had available
    to it a variety of microprocessors, each with its own instruction set - among these were
    microprocessors developed by Motorola, Zilog, National Semiconductor, Fairchild, Intel and
    AMD. IBM opted for the Intel architecture, which utilized what became known as the x86
    instruction set (after Intel's naming convention for its processors, i.e., 8086, 80186, 80286,
    80386), and a compatible operating system offered by Microsoft, known as DOS. Unwilling to
    be consigned to a single source of supply, however, IBM demanded that Intel contract with
    another integrated circuit company and license it to manufacture x86 chips as a second source.
    AMD, which had worked with Intel before in supplying microprocessors, agreed to abandon its
    own, competing architecture, and it undertook to manufacture x86 chips as a second source of
    supply. Assured that it would not be dependent upon a monopoly supplier of x86 chips, IBM
    introduced the PC in August 1981 - and its sales exploded.
    13. Although an arbitrator later found that "AMD's sponsorship helped propel Intel
    from the chorus line of semiconductor companies into instant stardom," Intel soon set out to
    torpedo the 1982 AMD-Intel Technology Exchange Agreement (the "Agreement") by which
    each would serve as a second source for products developed by the other. For example, Intel
    was required by the Agreement to send AMD timely updates of its second generation 80286
    chip. Instead, in a "deliberate[]" effort "to shackle AMD progress," Intel sent AMD
    information "deliberately incomplete, deliberately indecipherable and deliberately unusable by
    AMD engineers." The conduct was, in the arbitrator's words, "inexcusable and unworthy."
    And it was not isolated. Intel elsewhere tried to "sabotage" AMD products, engaged in
    "corporate extortion" and demonstrated a near-malevolent determination "to use all of its
    economic force and power on a smaller competitor to have its way."
    14. In another underhanded effort to stifle AMD's business, Intel decided in 1984 that,
    the agreement between the parties notwithstanding, Intel would become the sole-source for the
    promising 80386 chip. To fully realize its objective, Intel engaged in an elaborate and
    insidious scheme to mislead AMD (and the public) into erroneously believing that AMD would
    be a second source, thereby keeping AMD in the Intel "competitive camp" for years. This
    duplicitous strategy served a broader purpose than simply preventing AMD from competing
    with Intel. Customers' perception that AMD would continue to serve as Intel's authorized
    second source was essential to Intel's aim of entrenching the x86 family of microprocessors as
    the industry standard (as it had been essential to IBM's original introduction of the PC). Intel
    was well aware that if computer manufacturers knew Intel intended to sole source its 32-bit
    product, they would be motivated to select alternative products produced by companies
    offering second sources. Intel could not preserve the appearance that AMD would second
    source the 386 if it terminated the contract or otherwise disclosed its actual intent. Thus, Intel
    stalled negotiations over product exchanges, while at the same time allowing AMD to believe
    that it could ultimately obtain the 386. This injured competition by deterring and impeding
    serious competitive challenges to Intel and directly injured AMD by depriving it of the
    revenues and profits it would have earned from such a challenge.
    15. Intel implemented this secret plan for the purpose of acquiring and maintaining an
    illegal monopoly in the x86 line of microprocessors, which it did by at least 1987.
    --

    when you see the word 'Linux', drink!
  248. Started with version 7.0 by wimp_org · · Score: 0


    According to this posting http://devforums.amd.com/index.php?showtopic=34&hl =intel+compiler on the amd developers forum it seems to have started with version 7.0.

    Also amd gives many hints on optimizing for amd cpus with the intel compiler in there Compiler flags document (PDF)
    http://www.amd.com/us-en/assets/content_type/white _papers_and_tech_docs/32035.pdf
    It mentions that some specific optimization flags work for version 7.1 and 8.0 but not for version 8.1.
    It seems that intel improves its amd-specific optimization with every version. :-)

    I could not find any other postings on this topic on the amd forum. You would expect people to post these kind of issues on such an obvious place.

    Wimp

    "Premature optimization is the root of all evil" Donald Knuth

  249. Really? by coolGuyZak · · Score: 1
    The arguments in this thread against Intel would have Intel engineers working to make AMD's product work better. *That* is anticompetitive

    Wow.

  250. Re:The Limit of Lawsuits AMD/Intel/ms by HungWeiWeiHai · · Score: 1

    I've managed to read up to page 17 of:

    http://www.amd.com/us-en/assets/content_type/Downl oadableAssets/AMD-Intel_Full_Complaint.pdf

    Now, for me, page 15 is where things begin to get "juicy". I would think that by now AMD would find all the AMD-friendly desktop/laptop computer makers it can and set up AMD outlets, a la Apple stores. With the profit margins so low on computers, and given that Intel is pushing AMD to the brink of "do or die" or at least putting oil on an already black-iced road for AMD, could it hurt AMD to just go "all out" and relentlessly push it's CPU's? I would hope or suggest they tap into Open Source developers and maybe take two courses of action:

    1. De-geek many Open Source user applications 2. Push AMD and Linux hardware and computer arrangements.

    After all, IFFF they are deeply in bed with msoft, then it's only a matter of time for Intel to assert a certain amount of "hypocrisy" on the part of AMD, when ms is a convicted and morally defunct monopolist. For any company to be in bed with ms when that company's intractable enemy also in bed with msoft probably spells the reality or likelihood of pissing off ms.

  251. What about the Microsoft compiler? by TropicalCoder · · Score: 1

    I'm not a compiler writter, but I do a lot hand optimizations in assembler everywhere appropriate.

    What I have found with MSVC is that the code produced by the compiler is very inneficient. From my experience, I like to say it's philosophy is "Never use the same register twice." In other words, though a register may have a value needed, left over from a previous operation, the compiler will always fetch it again. I always realize significant speed ups with assembler, from a minimum of at least 10X to commonly 100X or more.

    This makes me wonder if Microsoft uses the same compiler for their products? Perhaps they have secret compiler switches so that their products compile better? Or maybe they use the Intel compiler? Any thoughts on this?

  252. New Benchmarks... by non0score · · Score: 1

    What would be interesting to see is all the hardware review sites redo their CPU benchmarks with (hopefully) updated game/SPEC/3DMark/etc... binaries. I wonder what performance gains we'll see from these new binaries. (maybe this is why some of the benchmarks show that Intel CPUs are better?)

  253. AMD and GCC by Michael+Meissner · · Score: 4, Informative

    AMD is currently working with the Free Software communinity (including working with both SUSE and Red Hat) to improve GCC support on its platforms. At present, there are no direct contributions from AMD to the Free Software Tools, but that will change in the future.

    1. Re:AMD and GCC by Jherek+Carnelian · · Score: 1

      You deserve better karma.

  254. Why AMD didn't publish actual code examples? by relaxrelax · · Score: 1


    When windows 3.1 had a heavily encrypted, decompiler registry sabotaging, evil code that directly did "if dr. DOS then emit fake error message" it was documented quickly.

    It is odd that AMD doesn't provide a code example, that would help their cause's credibility immensely!

    I mean, perhaps sheer incompetence and lazyness of the programmer in charge of testing the Intel compiler on AMD made him write that "if AMD then don't try optimizing".

    I can see that happening if the lousy code path with undetected bugs ran fine for a day on an AMD and Intel not having a budget for testing if the optimisations ran fine too. While this is downright unethical to do it's not actually sabotage; it's called management.

    That's completely different from actual sabotage.

    Let AMD show us some actual code examples to see any actual proof of well-planned sabotage. Slashdot programmers aren't just gonna trust anyone's lawyer about this even if that lawyer is fighting a microsoft-behaved entity like Intel!

    Or is AMD so low budget they can't even afford a programmer to work for their legal team for one lousy day? (-;

    P.S.: I currently use AMD and love it.

    --
    Microsoft is pure dog-ma. FreeBSD is pure cat-ma.
  255. Re:The Limit of Lawsuits by jonadab · · Score: 1

    > Next up, writing a VI clone in LISP!

    It's called viper-mode, and Emacs has come with it included for years. (If you don't understand why Emacs has to come with a vi clone included, then you clearly don't understand Emacs.)

    --
    Cut that out, or I will ship you to Norilsk in a box.
  256. Re:The Limit of Lawsuits by Master+of+Transhuman · · Score: 1


    As I indicated in my post, I'm NOT assuming Intel is guilty. I'm just saying that if in fact they did not have good engineering reasons to do what they did, then it's sleazy behavior.

    As for the poster who says the compiler docs say it doesn't optimize for other processors, that's fine if that's ALL it does. I doubt AMD is filing a legal case based on that simply because it would be easy to disprove and get the case thrown out of court. I make no assumptions, but it seems likely to me that AMD has some engineering reasons for saying the lack of optimization is in bad faith.

    As other posters here have suggested, failing to use CPU facilities that are in BOTH the Intel and AMD architectures would seem to indicate at least a considerable lack of interest in providing compiler performance to their COMPILER customers running on AMD as opposed to their CPU customers for reasons of protecting their CPU business. If true, this would likely be considered anti-competitive behavior by the courts.

    "will it not apply Intel optimizations to any chip without "Genuine Intel" the CPUID?"

    And who else is a significant competitor to Intel except AMD? Fujitsu?

    As for corporations being unethical, I go further than that. Most humans are "unethical". As Robert Ringer pointed out once, every human draws the line between "right" and "wrong" so that his actions fall on the "right" side of the line. I don't bother talking about "right" and "wrong" - I talk about "correct" and "incorrect." By that criteria, yes, most corporations suck rocks.

    As for the "meaning" of the word "corporation", a corporation is NOT a "company". A "company" is a group of people heading in the same direction and providing mutual support and dealing with the outside world as a group. A "corporation" is a state-created entity which has legal protections not available to individuals. Ipso facto, from my view, the corporation is "evil" since it would not exist without the existence of the state - which almost by definition is "evil" (not that I take the term "evil" to have any more meaning than the words "right" or "wrong" - the effects of the state are universally bad, however.)

    I don't assume every corporation is behaving badly by intention. In some cases, they behave badly by stupidity and incompetence. There may even be some corporations run by reasonably well-meaning and competent people - very few, in my lifetime experience. Certainly most of the big ones succumb to sleazy behavior at some point. Why trust them until you know otherwise?

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  257. Uh... so why not copy the CPUID? by popo · · Score: 1


    Why can't AMD CPU's contain an Intel CPUID ?

    Its not as if a CPUID represents any kind of legal trademark. As I understand its simply a bit set to 1. I'd love to see Intel try to claim that they own a trademark on that particular numeric value in that particular memory address.

    Has anyone ever been sued for electronic-identifier infringement? In this particular case it would be seen as "performance enhancing code".

    So why on Earth doesn't AMD just burn the Intel CPUID directly to AMD CPU's?

    --
    ------ The best brain training is now totally free : )
    1. Re:Uh... so why not copy the CPUID? by Marrow · · Score: 1

      Trademark infringment probably

    2. Re:Uh... so why not copy the CPUID? by Anonymous Coward · · Score: 0


      " Trademark infringment probably"

      No way. Trademark law doesn't touch this. (ie: What's the mark?)

      First off you can't trademark a number in the U.S. or under the Madrid Trademark protocols.

      Secondly -- putting a -512 number in the correct address has a verifiable performance impact on software. ie: its "functional".

      Trademark law doesn't apply. The poster is right. I'm not sure there's any IP on a number in a memory address.

  258. Re:The Limit of Lawsuits by Master+of+Transhuman · · Score: 1

    "Instead Intel just put out generic code."

    Is this an assumption on your part? Have you seen the source code?

    And apparently there is some question over whether Intel's compiler bothers to optimize when optimization features are present in BOTH Intel and AMD architectures. This might be attributable to laziness or incompetence, but it might also be more than that.

    At the very least Intel compiler users who run on AMD should feel slighted if Intel did not bother to optimize code everywhere it could do so safely simply to protect its CPU business.

    Who's right depends on an impartial engineering analysis of the compiler. Without the source code, this may prove difficult. Presumably AMD will demand exactly this - analysis of the source code by a court-appointed independent group - much like has been done in the IBM vs SCO suit. It will be interesting to see whether two opposing groups of analysts will come to opposite conclusions.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  259. Another EXCELLENT reason to use cross compilers by NZheretic · · Score: 2, Informative
    You've obviously forgotten (or more likely, never heard of) David Mohring.He was the guy that put forward the solution of using many third party C compilers and environments for the original bootstrap compiler build and compare the resulting code after the resulting compiler has rebuild itself for the third time. If the result greatly differs then manual inspect the generated code where it differs.

    He did it to show that even theoretical attacks, which have never been seen in the wild, can be effectively mitigated out of existence.

    Never forget that the Open Source development community have been working towards providing more secure environments, whether you make use what is available is up to you.

    maow.

  260. News flash!!!! by Anonymous Coward · · Score: 0

    All corporations are corrupt, greedy, despotic.
    Details at 11:00!

  261. Re:The Limit of Lawsuits by Anonymous Coward · · Score: 0

    1. AMD's claim is that the Intel Compiler produces code that actively detects the AMD CPU, then intentionally runs slower code. That's not the same thing as Intel optimizing their compiler for the Pentium Architecture.

    The problem with this claim is that it's not actually true! I hate to ask this, but have you checked what happens when you use the Intel computer on a system powered by a VIA CPU? That's right - you end up running "the slower code". What the Intel compiler does is check for certain lntel CPUs - it certainly does not target AMD CPUs. (If you think it does: show me the code emitted by the compiler. This shouldn't be hard like it was with the SCO case, since you can download the compiler free for noncommercial use.)

    Of course, it doesn't help AMDs argument one bit that there are non-Intel, non-AMD CPUs such as those from VIA which are actually great little (and cheap!) CPUs that do encryption really fast these days. They make for awesome FreeBSD home/office firewall/webserver/proxy boxes!

  262. Am I the only one who doesn't fault Intel here? by Electroly · · Score: 1, Insightful

    Why does everyone expect Intel to have an *obligation* to write optimizations in THEIR COMPILER for a COMPETITOR'S chip? And they don't specifically check for AMD and write bogus code if so -- quite the opposite. They check if they're running on Intel, and if so they put in faster code that's specifically designed for Intel processors. I'm not seeing the problem here. This lawsuit should be thrown out. This is like suing OpenOffice for having full support of their own file format, but "DISCRIMINATING" against Microsoft Word by not supporting it as well.

    1. Re:Am I the only one who doesn't fault Intel here? by Anonymous Coward · · Score: 0

      Definately not. But the AMD fan-bois need a day in the sun before they are relegated to the same bin as the SCO supporters. Let them have their day. It's much easier to show them their faults later.

  263. Maybe we need to re-run some benchmarks! by Marrow · · Score: 1

    Maybe some benchmarks that have been run recently are compromised by this stupidity?

    It should be possible to find out by looking at the binaries which "benchmark" programs are compiled with the Intel compiler.

    For instance, many websites post FPS and other types of metrics from games and application programs as measures of real world CPU performance.

    Perhaps AMDs performance is even better than the current reviewers claim.

  264. Let's Clarify this WHOLE DEBATE by popo · · Score: 1


    AMD claims the Intel compiler INTENTIONALLY singles out AMD and compiles cumbersome, slow code for AMD CPU's.

    Intel claims it does not.

    But from everything I can see on this board... AMD has been extremely vague about whether or not the slower compile paths apply to "non-Intel chips in general" or "specifically to AMD chips". (The latter would indeed be grounds for a lawsuit).

    But let's be clear: Intel would be perfectly within their rights to make a generic non-Intel option which functions at the level of the safest (albeit slowest) common denominator. To begin to optimize and troubleshoot for alternate (competitor's) chips would be an absurd project for Intel to invest resources in. The question is this: Is AMD uniquely singled out here by the Intel compiler? (By name?) Or does the Intel compiler check the CPUID for a simple boolean of Intel or non-Intel.

    I've read all the linked articles here and I have to say that no one has provided a shred of evidence that Intel specifically cripples AMD chips. I'm no fan of Intel, but I have to say it sounds like they are simply:

    a) writing enhanced code for their products.
    b) ensuring cross-product compatibility at the lowest possible denominator.

    Does this lowest possible denominator suck *so* badly that it is malicious? That may be a good question that a jury will have to answer.

    --
    ------ The best brain training is now totally free : )
    1. Re:Let's Clarify this WHOLE DEBATE by the_greywolf · · Score: 2, Insightful
      But let's be clear: Intel would be perfectly within their rights to make a generic non-Intel option which functions at the level of the safest (albeit slowest) common denominator. To begin to optimize and troubleshoot for alternate (competitor's) chips would be an absurd project for Intel to invest resources in. The question is this: Is AMD uniquely singled out here by the Intel compiler? (By name?) Or does the Intel compiler check the CPUID for a simple boolean of Intel or non-Intel.

      according to this guy, it is in fact a boolean test of Intel/non-Intel. correct me if i'm wrong, but AMD is the only competing company to provide an SE2 solution, so i would go as far as to say this is singling them out. the Fortran compiler 7.1 executes a mov $0x1, 0x0 in the case of non-Intel chips, regardless of SSE support. compiler 8.0+ executes SSE instructions in the case of existing SSE support, optimized SSE2 instructions on Intel chips supporting it, and crippled SSE support on non-Intel ships.

      if AMD is the only other provider of an SSE2-supporting chip, this could easily be construed as singling-out.

      --
      grey wolf
      LET FORTRAN DIE!
    2. Re:Let's Clarify this WHOLE DEBATE by Anonymous Coward · · Score: 0

      At the time the ICC SSE2 compiler code was written, Intel was the only available supporting chip.

      Should Intel be required to maintain their compiler and update it for future AMD products ?

      I would say no. Intel created a compiler and clearly stated it works on Intel products only. Maintaining it for other vendors is ridculous.

    3. Re:Let's Clarify this WHOLE DEBATE by Anonymous Coward · · Score: 0

      >> Is AMD uniquely singled out here by the Intel compiler?

      No, Intel is using the same code on older Intel processors.

      >> a) writing enhanced code for their products.

      As is clearly stated in the docs and license. Sorry AMD fans, this will no win in court.

    4. Re:Let's Clarify this WHOLE DEBATE by the_greywolf · · Score: 1

      they don't need to maintain it for other vendors.

      all they need to do is use the features of their own CPUID instruction to see if SSE2 support exists, which it does not do. they go out of their way to alienate everything else, even their own old CPUs.

      they've turned it into a marketing tool instead of a compiler.

      --
      grey wolf
      LET FORTRAN DIE!
  265. It's not the extension. by AtariAmarok · · Score: 1
    "Forgive me. You're correct. The file extension on those free music files is not mp3... "

    Have you ever used a computer? Or an MP3 player? How can anyone in this age think that the only difference between file formats is the extension: "Want to convert your html file to a Word doc? Just rename it from thisfile.html to thisfile.doc !!!"

    " distinction that I'm sure is highly significant to you and perhaps five other people."

    I'm sure it is much more than 5 million, not 5. Only an idiot newbie would confuse entirely different file formats.

    --
    Don't blame Durga. I voted for Centauri.
    1. Re:It's not the extension. by shmlco · · Score: 1
      I said, and I quote, "The file extension on those free music files is not mp3." Which is true.

      But, where, oh argumentitive one, did I specifically state that it was really an mp3 file in disguise? Or that changing the file extension would magically change it from one compressed audio format to another?

      I'm waiting. Exact quotes, if you please.

      Or were you simply making an ASSumption on your part, the end result of which was designed to awe us with your theoretically superior intellect and technological knowledge? Or were you attempting to quash the "newbie", smashing that which would dare question a being such as yourself.

      Is your ego that precious and fragile a thing?

      I read your original comment as complaining that Apple never gave away free MUSIC, as the term mp3s usually equates to music, at least in the common vernacular. However, your apparently small and feeble mind has fixated on the three small letters at the end of the file name. (Excuse me, on the fact that the free music in question is not encoded in the MPeg layer 3 file format.)

      The point you seem unwilling or unable to grasp is that I, like quite a few other people, buy MUSIC, not file formats. And as long as I have a reasonable expectation of fair use, which FairPlay grants, I could care LESS what format it's in.

      Which, before you make another rash assumption, doesn't mean I don't KNOW which format it's in.

      Get a life dude...

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    2. Re:It's not the extension. by pboulang · · Score: 1
      The originl question:
      Can you find an instance of Apple ever giving MP3's to play in the iPod?

      Your reply:

      Buy an iPod and you'll get a set of ten free downloads to go with it.

      I think a new promotion is out where if you buy an AirPort Express from them you'll get 30 free itunes.

      Now, nobody asked your specific opinion, but you went ahead and jumped in, so you get the brunt, deal with it like a man..

      The reason that the MP3/AAC distinction is important was that the original question was in reply to this specific wording: That would be like saying that Apple gave away free MP3s that work in the Ipod but that crash other music players. amidst ranting about Microsoft breaking HTMl, Adobe breaking PDF. The importance is that MP3 is a STANDARD, like PDF or HTMl, and if Apple were to take the standard and BREAK it, then that would be as bad as the other citations.. However, as you know, AAC with or without Fairplay is NOT MP3.

      The original question was posing the thought that "look, Apple didn't take a standard and fuck it up, they used their own proprietary format, so the complaint doesn't apply." When you MISSED that point of the question, and focused instead on whether Apple ever gave away free music.

      That's why you got so much grief and why you got so defensive.. you didn't realize that you were pushing the point that Apple took a standard and then broke it for their own benefit like MS and Adobe when they merely made a new format and ran with it.

      So yeah, those are the exact quotes and more importantly WHY everyone thinks you are wrong.

      --

      This comment is guaranteed*

      *not guaranteed

  266. Welcome, digital alchemist !!! by AtariAmarok · · Score: 1
    To imply that to change the name of a file from .aac to .mp3 changes the file itself is some sort of file alchemy. Does your amazing talent work with metals? Can you change lead into gold merely by renaming the lead as gold?

    Or do you have some sort of super-sophisticated OS we do not know about it that performs such complex apples-to-oranges file conversion operations instantly merely by renaming the files?

    Your idea that "an AAC is really an MP3 file with a a non-MP3 extension" is intriguing.

    --
    Don't blame Durga. I voted for Centauri.
  267. Well, duh! by jabber01 · · Score: 1

    So, Intel engineers put in more time, and had more knowledge and experience, on how to optimize code for Intel processors than for "Intel compatible" ones? Shocking! What is this world coming to?

    --

    The REAL jabber has the user id: 13196
    What you do today will cost you a day of your life

  268. Yet even with crap paths its faster than GCC. by Anonymous Coward · · Score: 0

    GCC needs some serious work when deliberately crapified code runs faster than what GCC calls optimized. Let that sink in. GCC's output is so bad that even with optimizing isa extensions turned on, it's slower than bog standard stosb.

  269. Re:The Limit of Lawsuits by ThePiMan2003 · · Score: 1

    Actually this fine article says "it executes a different code path that will degrade the program's performance or cause it to crash." but gives no example. Just like SCO claims IBM infringed on it. However I doubt it causes it to crash on purpose or we would hear lots of people complaining about programs not working on thier AMD's. Compilers are tricky.

  270. Re:The Limit of Lawsuits by ThePiMan2003 · · Score: 1

    Except that one of the examples sited was that AMD processors run a gauranteed compatible chunk of code that uses no MMX instructyions. The compiler simply doesn't recognise it and defaults to code that will run on anything, which means it can't use MMX registers, etc.

    As for

    "At the very least Intel compiler users who run on AMD should feel slighted if Intel did not bother to optimize code everywhere it could do so safely simply to protect its CPU business."

    I guess I would say to those people use another compiler. Or if you really want to use the Intel compiler use the Intel chips. I am glad that Intel did not waste time supporting other peoples chipsand instead made theirs as fast as possible.

  271. Re:The Limit of Lawsuits by LarsG · · Score: 1

    but if they sold their product as simply a vanilla x86 compiler, then they've got shit to be responsible for

    If so, the compiler customers might have something to sue about. Whether it is illegal under antitrust is a different question.

    --
    If J.K.R wrote Windows: Puteulanus fenestra mortalis!
  272. Fanless 486 by cbreaker · · Score: 1

    So was my Packard Bell Legend, with a 486SX 20Mhz. No fan in the system, and no heat sink on the CPU. Ran for years (with the lid shut) until I had a power surge that killed the PSU, which burned off several resistors and capacitors on the mainboard.

    I overclocked it to 33Mhz and it still needed no fan. Back in 1991, nobody believed me at the computer shows when I told them all you had to do was set a jumper to make the CPU run faster.

    --
    - It's not the Macs I hate. It's Digg users. -
  273. It is hard to prove by wcedev · · Score: 1

    Intel will just say that they had different teams responsible for optimization for different chips. After that it is just logical that the most talanted guys were responsible for Intel chips.

    1. Re:It is hard to prove by codeguy007 · · Score: 1

      ROFL. AMD has support for most of those intel commands (SSE3,etc). They use the intel command set for 32 bit processing (with 3DNow added and the like). The optimization should work on both in most cases. Also if Intel had anyone working on support for AMD processors, it would be to slow them down because the sure aren't going to go out of their way to support AMD in their compiler.

  274. Why? by Anonymous Coward · · Score: 0

    Tradema...nevermind.

    Too easy.

  275. Re:The Limit of Lawsuits by TLLOTS · · Score: 1

    You're missing the point. If Intel did what you said and made it so the compiler simply did not compile code for AMD based processors at all, people wouldn't be as concerned. Why? Because it would be quite obvious to anyone that tried to use it that the compiler didn't work for AMD CPU's, end of story. However, in this case what's happening is that when it comes to AMD CPU's, the compiler is still compiling, but it's also purposly making an effort to slow the AMD CPU, all without indicating that to be the case.

    It's this misleading part that people are so angry about. Had Intel openly stated that their compiler would not work as efficiently with AMD CPU's, then Intel may have been ok.

  276. Why is this wrong? by nurb432 · · Score: 0

    Assuming for a moment this garbage is true, who says Intel has to fairly support their *competition*? ( or at all )

    Last i heard , they were not declared a monopoly ( i could be wrong here ), and if that is still true they dont *have* to do diddly.

    --
    ---- Booth was a patriot ----
  277. Where's the AMD Compiler? by k31 · · Score: 1

    This question probally betrays my ignorance, but where's the AMD Compiler? Its true that free compiler may support AMD, but it would seem that AMD should invest in creating an optomising compiler for itself... perhaps one that can work as a drop-in substitute for Microsoft's in Visual Studio?

    In any case, Intel clearly was under-handed here... but its just another case of them being bigger and more popular, but not better.

  278. Re:Compiler + host platform + target platform comb by Omnifarious · · Score: 1

    I suggest pressuring Intel with a class action lawsuit. I'm certain it's the only thing they'll listen to, and I doubt they'll even listen to that. You'll probably have to win your lawsuit.

  279. see the swallowtail.org link by Joseph_Daniel_Zukige · · Score: 1

    elsewhere in this thread.

    It gives enough information that anyone with the compiler should be able to check it.

  280. Re:The Limit of Lawsuits by Stauf · · Score: 1

    Which means that Intel could produce AMD64 CPUs if they wanted!

    From what I understand, the agreement didn't apply to the AMD x64 chips. Intel had to enter into a seperate agreement in order to get its hands on enough x64-tech to build the emulation layer used by the EMT64.

  281. Way, way up there, by Joseph_Daniel_Zukige · · Score: 1

    Somebody pointed out swallowtail.org's analysis. That analysis includes a description of how to patch around the check for the manufacturer string.

    I might guess that many of those who use iNTEL's compilers already patch their binaries?

  282. Clues for the clueless by pidge-nz · · Score: 1

    AMD have licensed the MMX, SSE, SSE2 and SSE3 (and other) x86 intruction set extensions from Intel and have functional implementations of those extensions in their various CPUs. This is so that AMDs CPUs are not placed at a disadvantage in the marketplace, and can compete in a level playing field, so for a program that uses MMX, SSE, SSE2 or SSE3, the program can use those extensions rather than emulating them.

    Intel have a complier that makes use of those extension - but by default the compiled object code will only use the code path that implements those extensions if the object code is run on a Real Intel CPU - regardless of what instructions sets the CPU actually supports.

    This is NOT about Intel supporting AMD's own extensions (3DNow!), or providing code that is optimised for the way the AMD CPUs actually carry out the instructions.

    This is about a seemingly deliberate attempt by Intel to provide a compiler that only provides code that runs optimally on recent designs of their own CPU - at the expense of every other CPU design, even if those other designs support the same performance enhancing extensions that have been licensed from Intel! It requires deliberate checks in the run time object code to detect what CPU the code is running on - but instead of querying the CPU for which extensions are supported, the complied object code is querying for the CPU for its make and model, which is a sub-optimal method of checking for supported extensions, when the CPU can tell you directly which ones are supported.

    Which brings us up the point about Hanlons's Razor "Never attribute to malice that which can be adequately explained by stupidity" . Either Intel's compier engineers are so incompetent as to use a clunky, unreliable method of CPU capabilty detection by CPU Make and model rather than the more elegant method of asking the CPU for its supported instruction sets, or the Intel Engineers are doing it through malice (or by Marketing Department Directive...).

    In light of that, the outcome for Intel is not good - either their engineers are made to either look incompetent (I don't know about you, but I don't think that's good), or there Marketing Deparment are acting with malice against their competitors to mis-represent the performance of Intel CPUs with respect to its competitor's CPUs. (not good either)

    Oh, and I noticed you'd posted as AC, but I've seen that on Slashdot if uncritical thinking goes unchallenged, it tends to run rampant...

  283. to whom is this relevant? by alonsoac · · Score: 1

    I always buy AMD chips when I can just because I think they are cheap and good. In some cases I have compared performance but it hasn't ever affected my final decision on which one to buy.

    Has anyone ever not bought an AMD CPU because they compared performance of a program compiled with intel's CPU and the intel CPU was faster, and that alone was the key factor in taking that decision?

  284. Hey, "homeslice" can you spell... by Anonymous Coward · · Score: 0

    ...ad hominem?

    I didn't think so.

  285. Oh cry me a fucking river by Anonymous Coward · · Score: 0

    I am so fucking sick of these stupid businesses suing these so called "monopolies" under the anti-trust act which is unconstitutional to fucking begin with. The reason why microsoft has such a large market share is because no one has been willing to come up with a god damned competing product that's worth something. I was a fan of AMD, but after making such fucking ludicrous claims, the next processor I will get is an Intel processor.

    OF course, when you're the under dog and don't want to compete using pure capitalism, you bitch moan, whine and fucking cry to the god damned government for them to do something. AMD should write their own god damned compiler, Intel has every fucking right to cause the application to run slower, to crash if they want if it detects an AMD processor. Fuck, they even have every right to prevent the fucking software that's created on their compiler to refuse to run on anything but an Intel processor if they fucking choose to do so.

    AMD need to fucking shut up, compete with Intel like they have been doing, or they're going to go belly up.

  286. Re:The Limit of Lawsuits by Master+of+Transhuman · · Score: 1


    Yes, one could tell those people that.

    But I think they'd prefer to have been told IN ADVANCE BY INTEL.

    Presumably they use the Intel compiler because it's the fastest and also presumably many are writing code they would like to see run equally or at least acceptably fast on AMD. If in fact Intel concealed an attempt to run slower on AMD, they are defrauding their compiler customers who are in the situation specified. It's really that simple.

    Whether it was in fact done deliberately or not is a matter for court-appointed analysts to determine.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  287. Anti-trust how? by Frankie70 · · Score: 1

    How is this anti-trust? Do Intel Compilers have a monopoly?

  288. Missing the point, a cpu is not a magic black box by Devistater · · Score: 1
    Many many people are missing the point and thinking the CPU is a magic black box that you can "optimize" for intel, or that this doesn't detect intel only CPU, etc.

    Let me make an analogy to explain this a bit. Its like if you had a motherboard from nvidia, say an nforce 4 motherboard. What if it looked for the presense of an nvidia graphics card, and if so, enabled AGP 8x, fast writes, etc, but if it found an ATI graphics card it only enabled AGP 4x etc, disabled fast writes. REGARDLESS of if the graphics card supported the agp 8x or not. Its ATI's responsibility with thier card to ensure it supports AGP 8x properly if they list it on their box. Its not the motherboard manufacture's job to arbitrarily enable and disable it based on brand alone. Everyone can see where that would be wrong and unfair to the competition (ATI).

  289. what happened to capitalism? by SammysIsland · · Score: 1
    if I am a processor manufacturing company, and I write some software, why would I spend time working on optimization code for running on other processors?

    Of course the code takes two different code paths for different processors! they have different instruction sets, and therefore optimization techniques for one differs from optimization techniques for another. why spend time optimizing your own software for the competitions hardware.

    we are capitalists here! (i am anyway) why do we feel it's neccessary to help the limping competitor?

  290. MP3 is not generic name for all music formats. by AtariAmarok · · Score: 1
    "I said, and I quote, "The file extension on those free music files is not mp3." Which is true."

    The difference is much more than just the file extension.

    "us with your theoretically superior intellect and technological knowledge?..."

    No. It does not take a rocket scientist to know that Apple does not deal in MP3 files at all, and that AAC files are not the same as MP3 files.

    "as the term mp3s usually equates to music, at least in the common vernacular. "

    Are you now making stuff up to cover your earlier mistakes in this? There is a big difference. Or, do you think that "VHS equates to movies", which makes it OK to confuse VHS with DVD?

    "However, your apparently small and feeble mind has fixated on the three small letters at the end of the file name."

    They are important, and make the statement that Apple gives away MP3's entirely incorrect. Once again you are saying that the only difference in the file formats is the extension on the end. You seem to be unaware of the basic tech issue of different file formats, and the incompatibilities which arise from them. Again and again, you say it is just a matter of the extension, and not the file content itself. Do you actually think that these mp3 files Apple gives away will play on most mp3 players? Since we know that they won't, are you still insisting that it is OK to call these files "mp3" when they won't even work?

    "The point you seem unwilling or unable to grasp is that I, like quite a few other people, buy MUSIC, not file formats"

    I am perfectly aware of that. However, the original incorrect statement about Apple actually referred to a specific file format, not "music".

    "And as long as I have a reasonable expectation of fair use, which FairPlay grants, I could care LESS what format it's in. "

    That is an entirely different subject. "FairPlay" does not grant a reasonable expectation of fair use. It is a kludge if I have to burn and re-rip from a CD, or seek out dubious Hymm programs in order to get it to a format that will play on my hardware. If Apple actually DID deal in MP3's, this would not be a problem.

    --
    Don't blame Durga. I voted for Centauri.
  291. I have no idea why you guys bash AMD by SwiftWind · · Score: 2, Insightful

    Regardless of who has better chips and regardless of what capitalism is all about. Having a healthy competition is one thing. However, Intel taking the roll of the punisher when AMD is involved is another. You want more sales? Then as usual, try to outdo AMD by benchmarks. What this boils down to is its the customer's choice of who they wish to go with, not Intel's. When Intel begins to start forcing/punishing the user to go with their products, then someone needs to step in because the customer should never lose the right to choose.

  292. Re:The Limit of Lawsuits by ThePiMan2003 · · Score: 1

    You are forgetting the fact right on the site for Intel compilers it says:

    "Deliver outstanding performance by optimizing your applications for Intel® processors."

    It says nothing about "Will also optimize for any other processor you might have around the place."

    So should I be mad at NVIDIA that they don't make drivers that work on my ATI video card? Thats just being a corrupt corporation!

  293. Re:The Limit of Lawsuits by Master+of+Transhuman · · Score: 1


    First of all, the Web site is making marketing speak to get people to use the Intel compiler on their Intel processors. If Intel didn't want people to use their compiler on AMD processors, they should have said plainly "Does not execute properly on AMD" or "Not for use on AMD processors." Obviously therefore they DO expect people to run their compiler on other non-Intel architectures.

    And if they didn't want to optimize on other processors, they could have said equally plainly, "NO optimization done on anything but Intel processors." Which obviously would have led most people to NOT buy their compiler if using AMD.

    So if they then deliberately sabotaged those other architectures (and I repeat, I'm not saying they did), they are guilty of fraud to their compiler customers.

    Secondly, the comparison with NVIDIA vs ATI is not relevant. They are two competing architectures, but the drivers make no sense outside of their respective architectures, by definition. Drivers are not compilers. You're seriously reaching here. It's the same as the AIX on Sun argument but more so.

    Operating systems other than Linux are used to drive sales of hardware, not the reverse (which is why Linux will bury Solaris, AIX, and HP/UX once it gets enough enterprise-class capabilities). If Intel wants to use compilers to do the same, they should do so openly, not with anonymous hacks (if in fact they did so, which, I repeat, I do not know.)

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  294. Re:Compiler + host platform + target platform comb by Renegrade · · Score: 1

    I'm pretty sure that if you looked deep down into definitions, you'd find that an AMD system is "x86-compatible" rather than just plain "x86". Especially if you're reading Intel's dictionary and/or legal contracts.

    Further, if that's the actual quote, that may very well mean that it compiles faster than any other x86 compiler... not that it makes faster code. Typical market-droid logic/doublespeak.

    Yet, even with all these shenanigans going on, at $400, it's only about half of Microsoft's offering... Half the processor compatibility, half the price. Heh.

  295. If I were an Intel lawyer... by mosel-saar-ruwer · · Score: 1

    That's just not feasible. Unlike Intel, AMD isn't huge and they don't have a massive software team.

    If I were an Intel lawyer, your post [and others like it] would be defense exhibit #1:

    A) Writing a compiler is tedious, costly, and time consuming, and requires an enormous investment from the company [on the order of hundreds, or even thousands, of employee man-years].

    B) That kind of investment is not going to be given away for free to some Johnny-Come-Lately imitator who has done nothing but copy our IP for the last two decades [64-bit extensions notwithstanding].

    C) If Johnny-Come-Lately wants his own compiler, then he can damn well write it himself.

    1. Re:If I were an Intel lawyer... by Chris+Burke · · Score: 1

      Good thing you aren't an Intel lawyer, since that argument does nothing to address Intel deliberately running slower code on AMD parts. "Write your own damn compiler" doesn't address the issue of Intel's compiler producing code that, despite the expectations of its users, avoids using extensions available on a processor because Intel doesn't like that processor. But good luck.

      --

      The enemies of Democracy are
    2. Re:If I were an Intel lawyer... by Anonymous Coward · · Score: 0

      What you're missing is that Intel's compiler is a commercial product costing $399 (plus a further $199 for high-performance numerical libraries). And the people who use it aren't Intel and AMD - they are companies who have bought this compiler and are using it to compile their own products which they then sell to other people.

      It is reasonable for these companies to assume that when they spend hundreds of dollars on software that is marketed as improving their own product, it will actually improve their product. It is not reasonable for that software to have hidden trojan code that will actually make the company's product worse if their customers happen to be using non-Intel processors!

  296. Responsibility & Legal Culpability by mosel-saar-ruwer · · Score: 1

    Good thing you aren't an Intel lawyer, since that argument does nothing to address Intel deliberately running slower code on AMD parts. "Write your own damn compiler" doesn't address the issue of Intel's compiler producing code that, despite the expectations of its users, avoids using extensions available on a processor because Intel doesn't like that processor. But good luck.

    "Its users" are Intel customers, not AMD customers. If Intel were to guarantee the performance of their compiler on AMD platforms, then they would have to purchase and assemble a small warehouse full of platforms, and train and support a small army of specialists in those platforms. That's a huge expenditure in time and money and employee man-years, which is not Intel's responsibility: It's AMD's responsibility. And if Intel releases a compiler that includes a fatal bug on AMD hardware, then they could become legally culpable for any damage caused by that bug.

    By the way, I use AMD CPUs exclusively. I just don't like this idea that Intel is responsible for everybody else's hardware platform, and that somehow Intel is supposed to provide all of these services to AMD for free.

    Again, the obvious solution is for AMD to write their own compiler.

    1. Re:Responsibility & Legal Culpability by Anonymous Coward · · Score: 0

      "Its users" are Intel customers, not AMD customers.

      Some people actually buy products from more than one manufacturer. There are people who have bought Intel's compiler and AMD processors. And there are people who have bought Intel's compiler and are selling software compiled with it. They should not have to include a disclaimer saying "Intel have crippled my software, so please don't buy it if you use an AMD processor".

      If Intel were to guarantee the performance of their compiler on AMD platforms, then they would have to purchase and assemble a small warehouse full of platforms, and train and support a small army of specialists in those platforms.

      That's a straw man. AMD are not demanding that Intel guarantee high performance on AMD processors. They are demanding that Intel stop deliberately crippling performance on AMD processors.

      And if Intel releases a compiler that includes a fatal bug on AMD hardware, then they could become legally culpable for any damage caused by that bug.

      Really? Under which law, precisely? It sounds to me like AMD would be liable, since they would be the ones who had failed to sell the product that worked as advertised (i.e. they said it was Intel-compatible but it wasn't).

      I just don't like this idea that Intel is responsible for everybody else's hardware platform, and that somehow Intel is supposed to provide all of these services to AMD for free.

      That's good, because neither does anyone else. Which is why nobody is saying that. We are saying that Intel should concentrate on making the best compiler possible for the x86 platform.

      I will repeat that, since you seem to have a hard time getting this into your head: nobody is saying Intel should optimise for AMD, or test with AMD, or do anything at all to do with AMD whatsoever.

      Again, the obvious solution is for AMD to write their own compiler.

      What, and so then anyone who wants to sell high-performance programs on the x86 platform will have to purchase two expensive compilers, and ship two binaries, and try to explain to customers that they have to check who made the processor in their system before they'll know which to run?

      Seems to me it would be far simpler, and no less fair, simply to tell Intel to follow the standards they themselves invented about how to tell whether a chip supports SSE2 instructions, instead of checking for an Intel trademark in it. That's the free market solution: it lets anyone make clones and try to compete. Why do you hate capitalism?

    2. Re:Responsibility & Legal Culpability by Chris+Burke · · Score: 1

      "Its users" are Intel customers, not AMD customers.

      No, its users are software developers. Software developers who use ICC because it produces the fastest code, but who want their application to run on everything, and have no reason to expect that the code produced by ICC will fail to use an optimal codepath for no reason.

      If Intel stated that the code produced by ICC would only run on Intel parts, no software developer would use it since the software developers' customers could be using any chip and it would be foolish to cut off 15-20% of your market for no reason. But Intel dosen't state this, they just make it look like AMD chips are slower.

      If Intel were to guarantee the performance of their compiler on AMD platforms, then they would have to purchase and assemble a small warehouse full of platforms, and train and support a small army of specialists in those platforms.

      They don't have to guarantee the performance on AMD, but they should not deliberately break performance on AMD.

      Is this difference between "supporting and optimizing for competitors products" and "not deliberately breaking for competitors products" really not obvious?

      Intel would not have to do any more work to make the codepath work on AMD. All they have to do is correctly determine if the processor supports SSE2 -- which is done with the same instruction as detecting that the chip is GenuineIntel -- and use SSE2 if it is supported. That's it. Estimated cost: $0.

      And if Intel releases a compiler that includes a fatal bug on AMD hardware, then they could become legally culpable for any damage caused by that bug.

      Highly doubtful. When has that ever happened? I doubt you could hold Intel responsible for fatal bugs when running on Intel hardware. Again, they don't have to guarantee in any way, legally binding or otherwise, that their code works on AMD chips. They just have to allow it to work. Instead they prevent it from working.

      If the code failed on an AMD part because of an incompatability, that would fall on AMD's shoulders. AMD knows that, and so they make their part fully compatible. It is AMD's responsibility to make sure that if their chip claims SSE2 support that it really does support SSE2. And it does.

      I just don't like this idea that Intel is responsible for everybody else's hardware platform, and that somehow Intel is supposed to provide all of these services to AMD for free.

      That's not the idea. The idea is that Intel should produce code that doesn't artificially fail to support a fully compatible chip.

      Is this clear? All Intel has to do is correctly -- according to their own documentation -- check whether a CPU supports a given feature when deciding whether to use a given codepath or not. That's it. They just have to make their compiler work correctly, rather than deliberately break.

      Again, in case it still isn't clear. This is like Microsoft supporting DRDOS versus detecting that it is DRDOS and then deliberately breaking even though DRDOS could run Windows just fine otherwise. That is precisely the situation here -- AMD processors could perfectly run the SSE2 codepaths that ICC produces, but Intel deliberately fails to use that code path for anyone but their own parts.

      There is no support issue. Nobody wants Intel to guarantee that AMD parts work. Nobody wants Intel to make special optimizations for AMD. We only want ICC to not hinder AMD parts.

      Again, the obvious solution is for AMD to write their own compiler.

      Again, this is obviously infeasible and obviously not relevent to Intel's behavior.

      --

      The enemies of Democracy are
  297. Dare we meddle in the meantime? by NotBorg · · Score: 1

    Would it be possible to patch affected software after market? If I purchased some software compiled with Intel's compiler and own an AMD processor it would bug the crap out of me knowing that it could be better.

    There are thousands of cracks to defeat the copy protection in games. Could we see cracks that would unleash the full potential of AMD processors?

    Would it be legal to do so? Would a software vender actually prosecute someone if they created or used such a patch?

    --
    I want this account deleted.
  298. Never mind, I decided not to hire you. by Anonymous Coward · · Score: 0

    Never mind, I decided not to hire you.

    Better get used to that.

  299. Re:The Limit of Lawsuits by mink · · Score: 1

    So coders now need to buy a compiler for each x86 compatable chip the code is to run on and maintain as many code bases, and aplications need to have binary installs for each x86 class chip?

    Shit like that belongs in the 1970s.

    --
    Well I've wrestled with reality for thirty five years doctor, and I'm happy to say I finally won out over it.
  300. Re:Compiler + host platform + target platform comb by Billly+Gates · · Score: 1

    The intel compiler though is no longer as bright as it once was since MS and gnu have both improved their C and C++ compilers. I admit on Windows gnu c/C++ still sucks but I have seen benchmarks which show the intel one being near in performance with the other compilers.

    Fortran is different since the gnu one is based on ansi 77 not 90, and the portland group is the only company left even making commercial fortran compilers.

  301. Re:The Limit of Lawsuits by ThePiMan2003 · · Score: 1

    Then buy a generic compiler instead of one built by and for Intel. If you don't need the enhanced speed the Intel compiler can give you on Intel processors don't use it.