Patch implements a multiclass 'SInstBF16', a wrapper around SInst that
also defines a bfloat16 variant. This is used to merge the definitions
of intrinsics with bfloat16 support. The multiclass also handles
multiple arch guards.
Details
Details
- Reviewers
sdesmalen fpetrogalli kmclaughlin efriedma
Diff Detail
Diff Detail
Event Timeline
clang/include/clang/Basic/arm_sve.td | ||
---|---|---|
264 | I'd rather see that we define ArchGuard as a list of strings, and then do a simple !listconcat for each of the features. Then we can do the expansion to the eventual #if defined (pred1 && pred2 && ... predN) in SveEmitter.cpp. There you can get the ArchGuard as a std::vector<StringRef>. I also think the current implementation isn't correct, because it misses the encapsulating defined(...) ? |
I'd rather see that we define ArchGuard as a list of strings, and then do a simple !listconcat for each of the features. Then we can do the expansion to the eventual #if defined (pred1 && pred2 && ... predN) in SveEmitter.cpp. There you can get the ArchGuard as a std::vector<StringRef>.
I also think the current implementation isn't correct, because it misses the encapsulating defined(...) ?