0x3F | L | (((1 << 14) - 1) << 28), 6, _),
srcs = 1, is_float = True)
+def iunop(name, opcode):
+ assert(opcode < 4)
+ op(name, (0x3E | (opcode << 26),
+ 0x7F | L | (((1 << 14) - 1) << 26),
+ 6, _),
+ srcs = 1)
+
# Listing of opcodes
funop("floor", 0b000000)
funop("srsqrt", 0b000001)
funop("trunc", 0b100000)
funop("roundeven", 0b110000)
+iunop("bitrev", 0b01)
+iunop("popcount", 0b10)
+iunop("ffs", 0b11)
+
op("fadd",
encoding_16 = (0x26 | L, 0x3F | L, 6, _),
encoding_32 = (0x2A | L, 0x3F | L, 6, _),