#[derive(Clone, Copy, Debug, Default)]
pub enum AluOp {
#[default]
Add,
Sub,
Sll,
Slt,
Sltu,
Xor,
Srl,
Sra,
Or,
And,
Mul,
Mulh,
Mulhsu,
Mulhu,
Div,
Divu,
Rem,
Remu,
FAdd,
FSub,
FMul,
FDiv,
FSqrt,
FMin,
FMax,
FMAdd,
FMSub,
FNMAdd,
FNMSub,
FCvtWS,
FCvtLS,
FCvtSW,
FCvtSL,
FCvtWUS,
FCvtLUS,
FCvtSWU,
FCvtSLU,
FCvtSD,
FCvtDS,
FCvtSH,
FCvtHS,
FCvtDH,
FCvtHD,
FSgnJ,
FSgnJN,
FSgnJX,
FEq,
FLt,
FLe,
FClass,
FMvToX,
FMvToF,
Sh1Add,
Sh2Add,
Sh3Add,
AddUw,
Sh1AddUw,
Sh2AddUw,
Sh3AddUw,
SlliUw,
Andn,
Orn,
Xnor,
Clz,
Ctz,
Cpop,
Max,
Maxu,
Min,
Minu,
SextB,
SextH,
Rol,
Ror,
OrcB,
Rev8,
Clmul,
Clmulh,
Clmulr,
Bclr,
Bext,
Binv,
Bset,
Brev8,
Pack,
Packh,
Packw,
Xperm4,
Xperm8,
}