]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gas/testsuite/gas/riscv/bitmanip-insns.s
RISC-V: Support riscv bitmanip frozen ZBA/ZBB/ZBC instructions (v0.93).
[thirdparty/binutils-gdb.git] / gas / testsuite / gas / riscv / bitmanip-insns.s
1 # pseudo/aliaese
2 zext.h a0, a1
3 rev8 a0, a1
4 orc.b a0, a1
5 .ifdef __64_bit__
6 zext.w a0, a1
7 .endif
8
9 # ZBA
10 sh1add a0, a1, a2
11 sh2add a0, a1, a2
12 sh3add a0, a1, a2
13 .ifdef __64_bit__
14 sh1add.uw a0, a1, a2
15 sh2add.uw a0, a1, a2
16 sh3add.uw a0, a1, a2
17 add.uw a0, a1, a2
18 slli.uw a0, a1, 0
19 slli.uw a0, a1, 63
20 .endif
21
22 # ZBB
23 clz a0, a1
24 ctz a0, a1
25 cpop a0, a1
26 min a0, a1, a2
27 max a0, a1, a2
28 minu a0, a1, a2
29 maxu a0, a1, a2
30 sext.b a0, a1
31 sext.h a0, a1
32 andn a0, a1, a2
33 orn a0, a1, a2
34 xor a0, a1, a2
35 rori a0, a1, 0
36 rori a0, a1, 31
37 ror a0, a1, a2
38 ror a0, a1, 0
39 ror a0, a1, 31
40 rol a0, a1, a2
41 .ifdef __64_bit__
42 clzw a0, a1
43 ctzw a0, a1
44 cpopw a0, a1
45 rori a0, a1, 63
46 ror a0, a1, 63
47 roriw a0, a1, 0
48 roriw a0, a1, 31
49 rorw a0, a1, a2
50 rorw a0, a1, 0
51 rorw a0, a1, 31
52 rolw a0, a1, a2
53 .endif
54
55 # ZBC
56 clmul a0, a1, a2
57 clmulh a0, a1, a2
58 clmulr a0, a1, a2