Skip to content

[CIR] Upstream handling of X86 builtins #167752

@andykaylor

Description

@andykaylor

Overview

This is an umbrella task for all X86 builtin upstreaming. There are enough X86-specific builtins that creating separate issues for each logical group is not practical. Many people can work on this in parallel, if we can successfully coordinate the work to avoid overlap as much as possible. To that end, I am adding a partial list here of the builtins that need to be upstreamed. If you would like to contribute to this task, please comment saying which builtin(s) you are working on.

I will remove builtins from this list as they are upstreamed.

Please check the table below before beginning work to make sure no one else is working on the builtins you are targeting. If you have any questions, please comment here tagging @andykaylor.

Needed builtins

Builtin group Assignee
rdtsc, rdtscp
lzcnt, tzcnt
undef @Thibault-Monnier
vec_ext @Thibault-Monnier
vec_set
xsave, xrstor
masked store
masked load
convert to mask
compress store
gather
scatter
vinsert, shuffle, blend , perm @Thibault-Monnier

Many more builtins are needed but not yet implemented in the incubator. I will create a separate issue for that. work.

Existing incubator tests

clang/test/CIR/CodeGen/X86/*

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClangIRAnything related to the ClangIR projectgood first issuehttps://github.com/llvm/llvm-project/contribute

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions