【RISC-V】fclass数值类型对照表

指令:

复制代码
vfclass.v vd, vs2, vm # Vector-vector

解析:

cpp 复制代码
if (vl > vlmax(e32, mf2)) vl = __riscv_vsetvl_e32mf2(vl);
vuint32mf2_t res;
for (size_t i = 0; i < vl; i++) {
  uint32_t t = 0;
  float32_t a = op1[i];
  bool sub = is_subnormal(op1[i]); // false for ±0
  if (a == -∞)     t |= 1<<0; //负无穷 ==   1 == 0x001
  if (a<0 && !sub) t |= 1<<1; //负正规数 ==   2 == 0x002; false for ±0.0
  if (a<0 &&  sub) t |= 1<<2; //负非正规数(指数) ==   4 == 0x004; false for ±0.0
  if (a === -0.0)  t |= 1<<3; //负零 ==   8 == 0x008
  if (a === +0.0)  t |= 1<<4; //正零 ==  16 == 0x010
  if (a>0 &&  sub) t |= 1<<5; //正非正规数 ==  32 == 0x020
  if (a>0 && !sub) t |= 1<<6; //正正规数 ==  64 == 0x040
  if (a == +∞)     t |= 1<<7; //正无穷 == 128 == 0x080
  if (isSNaN(a))   t |= 1<<8; //信号 == 256 == 0x100
  if (isQNaN(a))   t |= 1<<9; //静默 == 512 == 0x200
  res[i] = t;
}
for (size_t i = vl; i < vlmax; i++) res[i] = anything();
return res;

对应表格

代码逻辑判断 (伪代码) 分类名称 对应位 返回值 (十进制) 返回值 (十六进制)
a == -∞ 负无穷 (Negative Infinity) Bit 0 1 0x001
a < 0 && !sub (负数且非非正规数) 负正规数 (Negative Normal) Bit 1 2 0x002
a < 0 && sub (负数且为非正规数) 负非正规数 (Negative Subnormal) Bit 2 4 0x004
a === -0.0 负零 (Negative Zero) Bit 3 8 0x008
a === +0.0 正零 (Positive Zero) Bit 4 16 0x010
a > 0 && sub (正数且为非正规数) 正非正规数 (Positive Subnormal) Bit 5 32 0x020
a > 0 && !sub (正数且非非正规数) 正正规数 (Positive Normal) Bit 6 64 0x040
a == +∞ 正无穷 (Positive Infinity) Bit 7 128 0x080
isSNaN(a) 信号型 NaN (Signaling NaN) Bit 8 256 0x100
isQNaN(a) 静默型 NaN (Quiet NaN) Bit 9 512 0x200

举例:

cpp 复制代码
const float32_t vec1[DATALEN] = { 16.0, 16.50, -16.5000, -16.5001, +0.0, -0.0, -1e-38, 1e-38 };

结果:

cpp 复制代码
res[8] = {64, 64, 2, 2, 16, 8, 4, 32}
相关推荐
国科安芯2 天前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
RISCV_Explorer3 天前
RISC-V RVV向量性能调优实战——LMUL与SEW参数选型、访存瓶颈判断与微基准方法
risc-v
国科安芯6 天前
星载通信载荷信号处理中抗辐射微控制器的选型与适应性分析
人工智能·嵌入式硬件·mcu·信号处理·risc-v·抗辐射·空间信息
RISCV_Explorer7 天前
RISC-V RVV向量编程模型机制解析——vsetvl配置、掩码与尾元素策略及长度无关编程
后端·risc-v
RISCV_Explorer7 天前
RISC-V电源管理与低功耗实战——WFI指令、电源域划分与唤醒路径设计
单片机·嵌入式硬件·risc-v
ChipCamp7 天前
Spike-pk在RISC-V RTL开发验证中的应用:黄金参考基准
risc-v·spike·difftest·co-simulation·spike-pk·riscv-pk
Hi202402177 天前
Vortex CUDA 生态适配:让 CUDA C、CUTLASS 与 Triton 在 RISC-V GPGPU 上运行
人工智能·risc-v·gpgpu
国科安芯8 天前
用 AS32X601 做一块关节电机驱动板:三相桥、电流采样、封波保护、FOC 代码一次讲透
risc-v·foc·bldc·关节电机·机器人关节·as32x601·三相逆变桥
硅基手札8 天前
【risc-v专栏 07】启动与 bare-metal 流程
risc-v
硅基手札8 天前
【risc-v专栏 08】扩展生态与 -march/-mabi 匹配
risc-v