[all-commits] [llvm/llvm-project] 00e3e6: [X86] Hygon Processors Initial enablement (#187622)

Xiaomeng Zhang via All-commits all-commits at lists.llvm.org
Tue Jun 9 03:46:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 00e3e6f4cbbba60ddfcd648269dd5f2e8d799cbc
      https://github.com/llvm/llvm-project/commit/00e3e6f4cbbba60ddfcd648269dd5f2e8d799cbc
  Author: Xiaomeng Zhang <zhangxiaomeng at hygon.cn>
  Date:   2026-06-09 (Tue, 09 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/x86-march.c
    M clang/test/Frontend/x86-target-cpu.c
    M clang/test/Misc/target-invalid-cpu-note/x86.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/include/llvm/TargetParser/Host.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/TargetParser/X86TargetParser.h
    M llvm/lib/Target/X86/X86.td
    A llvm/lib/Target/X86/X86ScheduleC864GM4.td
    A llvm/lib/Target/X86/X86ScheduleC864GM7.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
    M llvm/test/CodeGen/X86/cmp16.ll
    A llvm/test/CodeGen/X86/cpus-hygon.ll
    M llvm/test/CodeGen/X86/rdpru.ll
    M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
    M llvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
    M llvm/test/CodeGen/X86/vector-shuffle-fast-per-lane.ll
    M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
    M llvm/test/MC/X86/x86_long_nop.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-adx.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-aes.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-avx1.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-avx2.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-bmi1.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-bmi2.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-clflushopt.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-clzero.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-cmov.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-cmpxchg.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-f16c.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-fma.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-fsgsbase.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-lea.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-lzcnt.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-mmx.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-movbe.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-mwaitx.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-pclmul.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-popcnt.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-prefetchw.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-rdrand.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-rdseed.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sha.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse1.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse2.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse3.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse41.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse42.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-sse4a.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-ssse3.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-x86_32.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-x86_64.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-x87.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/resources-xsave.s
    A llvm/test/tools/llvm-mca/X86/C864GM4/zero-idioms.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/independent-load-stores.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/partially-overlapping-group-resources.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-adx.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-aes.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx1.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx2.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512bitalg.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512bitalgvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512bw.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512bwvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512cd.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512cdvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512dq.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512dqvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512gfni.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512gfnivl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512ifma.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512ifmavl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vaes.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vaesvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vbmi.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vbmi2.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vbmi2vl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vbmivl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vnni.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vnnivl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vp2intersect.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vp2intersectvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vpclmulqdq.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vpclmulqdqvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vpopcntdq.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avx512vpopcntdqvl.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avxgfni.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-avxvnni.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-bmi1.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-bmi2.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-clflushopt.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-clwb.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-cmov.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-cmpxchg.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-f16c.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-fma.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-fsgsbase.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-gfni.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-lea.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-lzcnt.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-mmx.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-movbe.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-mwaitx.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-pclmul.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-popcnt.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-prefetchw.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-rdrand.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-rdseed.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sha.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse1.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse2.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse3.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse41.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse42.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-sse4a.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-ssse3.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-vaes.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-vpclmulqdq.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-x86_32.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-x86_64.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-x87.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/resources-xsave.s
    A llvm/test/tools/llvm-mca/X86/C864GM7/zero-idioms.s

  Log Message:
  -----------
  [X86] Hygon Processors Initial enablement (#187622)

This patch adds initial support for several Hygon architectures.

The Hygon architectures include:

- c86-4g-m4
- c86-4g-m6
- c86-4g-m7

This patch includes:

- Added Hygon architectures CPU targets recognition in Clang and LLVM
- Added Hygon architectures to target parser and host CPU detection
- Updated compiler-rt CPU model detection for Hygon architectures
- Added Hygon architectures to various optimizer tests
- Added scheduler models for Hygon architectures CPU targets



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list