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.