32#ifndef __ARCH_AMDGPU_COMMON_DTYPE_FP8_E5M2_HH__
33#define __ARCH_AMDGPU_COMMON_DTYPE_FP8_E5M2_HH__
53 inf = (0x7c << zbits),
54 nan = (0xff << zbits),
67static_assert(
sizeof(fp8_e5m2_info) == 4);
80 return a.exp == 0x1F &&
a.mant == 0x0;
85 return a.exp == 0x1F &&
a.mant != 0x0;
90 return !(
a.exp == 0 &&
a.mant != 0);
94class numeric_limits<
gem5::AMDGPU::fp8_e5m2_info>
97 static constexpr bool has_quiet_NaN =
true;
100 assert(has_quiet_NaN);
106 static constexpr bool has_infinity =
true;
109 assert(has_infinity);
static gem5::AMDGPU::fp8_e5m2_info max()
static gem5::AMDGPU::fp8_e5m2_info quiet_NaN()
static gem5::AMDGPU::fp8_e5m2_info infinity()
constexpr T mbits(T val, unsigned first, unsigned last)
Mask off the given bits in place like bits() but without shifting.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Overload hash function for BasicBlockRange type.
constexpr bool isinf(gem5::AMDGPU::fp16_e5m10_info a)
constexpr bool isnan(gem5::AMDGPU::fp16_e5m10_info a)
constexpr bool isnormal(gem5::AMDGPU::fp16_e5m10_info a)