On 9/1/22 08:48, Paolo Bonzini wrote:
#define OP(op, flags, a, b, c, d) \
-{flags, {a, b, c, d} }
+{flags, {{.op = a}, {.op = b}, {.op = c}, {.op = d} } }
It would have been handy to have uppercase macro args here, because .op looks
like...
struct SSEOpHelper_table1 {
Use a union to store the various possible kinds of function pointers, and
access the correct one based on the flags.
SSEOpHelper_table6 and SSEOpHelper_table7 right now only have one case,
but this would change with AVX's 3- and 4-argument operations. Use
unions there too, to keep the code more