)]}'
{
  "commit": "d0aa6740323e48d4b3743dc8fcd5c0ff552f86d1",
  "tree": "341efbbc0aa3847d19285ed80b148642f8664d05",
  "parents": [
    "090baea02d768ff884d1b326d6bf7d57cfcc1231"
  ],
  "author": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Fri Aug 07 16:21:54 2026 +0800"
  },
  "committer": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Fri Aug 14 08:40:10 2026 +0800"
  },
  "message": "x86: Update cpuid.h to pass leaf to __get_cpuid_max\n\ncommit 44cc8e5718efd0cc1ef57c68052dbe33b047f158\nAuthor: Ewan \u003cewanhai-oc@zhaoxin.com\u003e\nDate:   Tue Mar 17 16:12:15 2026 +0800\n\n    i386: Fix __get_cpuid() and __get_cpuid_count() for Centaur/Zhaoxin CPUID ra\nnge\n\ncaused many regressions, like\n\nFAIL: gcc.dg/vect/vect-100.c scan-tree-dump-not optimized \"Invalid sum\"\n\non Linux/x86-64 with -m32.  The commit above changed __get_cpuid_count\nwhich is used by check_vect in tree-vect.h.  When GCC tried to vectorize\ncheck_vect, it outputted\n\n__attribute__((noinline))\nvoid check_vect ()\n{\n...\n;;   Invalid sum of incoming counts 966367640 (estimated locally, freq 0.9000),\nshould be 719407024 (estimated locally, freq 0.6700)\n\nwhich failed\n\n/* { dg-final { scan-tree-dump-not \"Invalid sum\" \"optimized\" } } */\n\nChange __get_cpuid and __get_cpuid_count to pass the leaf argument\ndirectly to __get_cpuid_max and apply 0xC0000000 mask before passing\nit to CPUID.\n\n\tPR testsuite/126697\n\t* config/i386/cpuid.h (__get_cpuid_max): Rename the first\n\targument to __leaf and apply 0xC0000000 mask before passing\n\tit to CPUID.\n\t(__get_cpuid): Pass __leaf to __get_cpuid_max.\n\t(__get_cpuid_count): Likewise.\n\nSigned-off-by: H.J. Lu \u003chjl.tools@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "129531dcc382b64dc323480d3c9e38cee2788e88",
      "old_mode": 33188,
      "old_path": "gcc/config/i386/cpuid.h",
      "new_id": "5e1aad57d40dca0213dccad3b5a7be0236ee08da",
      "new_mode": 33188,
      "new_path": "gcc/config/i386/cpuid.h"
    }
  ]
}
