aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/gorciw.h
diff options
context:
space:
mode:
Diffstat (limited to 'riscv/insns/gorciw.h')
-rw-r--r--riscv/insns/gorciw.h11
1 files changed, 0 insertions, 11 deletions
diff --git a/riscv/insns/gorciw.h b/riscv/insns/gorciw.h
deleted file mode 100644
index 44ade80..0000000
--- a/riscv/insns/gorciw.h
+++ /dev/null
@@ -1,11 +0,0 @@
-require_rv64;
-require_extension(EXT_XZBP);
-require(SHAMT < 32);
-reg_t x = RS1;
-int shamt = SHAMT;
-if (shamt & 1) x |= ((x & 0x5555555555555555LL) << 1) | ((x & 0xAAAAAAAAAAAAAAAALL) >> 1);
-if (shamt & 2) x |= ((x & 0x3333333333333333LL) << 2) | ((x & 0xCCCCCCCCCCCCCCCCLL) >> 2);
-if (shamt & 4) x |= ((x & 0x0F0F0F0F0F0F0F0FLL) << 4) | ((x & 0xF0F0F0F0F0F0F0F0LL) >> 4);
-if (shamt & 8) x |= ((x & 0x00FF00FF00FF00FFLL) << 8) | ((x & 0xFF00FF00FF00FF00LL) >> 8);
-if (shamt & 16) x |= ((x & 0x0000FFFF0000FFFFLL) << 16) | ((x & 0xFFFF0000FFFF0000LL) >> 16);
-WRITE_RD(sext32(x));