4vtomat wrote: > > Since it's possible that **ISA spec** and **intrinsics spec** are not > > synchronized, so the updates add an dummy extension called > > **zexperimental**, once `-menable-experimental-extensions` is specified, > > the feature `zexperimental` is automatically added. > > If `let RequiredFeatures = ["Zexperimental"] ` is added in `.td` file, it > > will check if `zexperimental` exists, if not, the corresponding intrinsics > > would not be added, hence causing an **intrinsics undeclared** error. > > Thanks for looking into this. It's perhaps surprising we've gone so long > without having the infrastructure to make an extension non-experimental > without making its not-yet-finalized intrinsics non-experimental. Introducing > a new required feature seems like a reasonable way of doing this, but > introducing a dummy extension seems unnecessary (unless I'm missing > something?). > > I could see a solution involving a Clang flag (e.g. > `-menable-experimental-intrinsics`), or perhaps a solution where the user > must use a certain `#define` (I know riscv_vector.h is implemented using a > pragma, but presumably that could still query defines). There may be other > options too. > > Another piece of info that would be helpful to better understand is what the > process is for finalising intrinsic additions (@eopXD might know?). If it's > just the case that we have to wait another month before moving an extension > from experimental to experimental then maybe extra infro to separate > experimental intrinsics from instructions is less interesting. If it's more > indeterminate than that, we probably need it. > > I'll put this on the agenda for Thursday's RISC-V LLVM sync-up call in the > hope we can resolve it there.
Yeah, we don't need a new extension actually, thanks for pointing out! https://github.com/llvm/llvm-project/pull/69000 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits