aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/clmulhw.h
blob: f41acb0e831ded0e099a30a307cc73236597e191 (plain)
1
2
3
4
5
6
require_extension(EXT_XZBC);
reg_t a = zext32(RS1), b = zext32(RS2), x = 0;
for (int i = 1; i < 32; i++)
  if ((b >> i) & 1)
    x ^= a >> (32-i);
WRITE_RD(sext32(x));