nemanjai wrote:

> I have always been unconvinced that these are a good idea to have / add 
> significant value over using inline assembly. IIRC Arm has them but nobody 
> uses them?

Is this a comment about the general concept of builtins to produce specific 
instructions or about these specific ones?
For these ones, the patch isn't something I materialized out of thin air just 
because I think it's nice to have - it was in response to the very use case I 
described (from a library writer). They had something like:
```
void __attribute__((always_inline)) set_csr(unsigned CSRNum, unsigned Val) {
__asm__ volatile ...
```
Which works great if you're optimizing, but doesn't with -O0. Of course they 
could write it as a macro, but that has all the pitfalls of function-style 
macros.

Of course, if the consensus is to not provide these because of some reason, I'm 
fine with that - I would just like to understand the reason for the opposition 
to this.

https://github.com/llvm/llvm-project/pull/85091
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to