On 2/19/23 21:47, gaosong wrote:
I have some questions: 1 Should we need implement GVecGen* for simple gvec instructiosn? such as add, sub , or , xor..
No, these are done generically.
2 Should we need implement all fni8/fni4, fniv, fno?
You need not implement them all. Generally you will only implement fni4 for 32-bit arithmetic operations, and only fni8 for logical operations; there is rarely a cause for both with the same operation.
You can rely on the generic cutoff of 4 integer inline operations -- easy for your maximum vector length of 128-bits -- to avoid implementing fno.
But in extreme, you can implement only fno. You can choose this over directly calling a helper function, minimizing differences in the translator code paths and letting generic code build all of the pointers.
r~