diff options
Diffstat (limited to 'src/shader_recompiler/frontend/ir/ir_emitter.h')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.h b/src/shader_recompiler/frontend/ir/ir_emitter.h index 72af5db37..8edb11154 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.h +++ b/src/shader_recompiler/frontend/ir/ir_emitter.h | |||
| @@ -29,6 +29,7 @@ public: | |||
| 29 | [[nodiscard]] U32 Imm32(s32 value) const; | 29 | [[nodiscard]] U32 Imm32(s32 value) const; |
| 30 | [[nodiscard]] F32 Imm32(f32 value) const; | 30 | [[nodiscard]] F32 Imm32(f32 value) const; |
| 31 | [[nodiscard]] U64 Imm64(u64 value) const; | 31 | [[nodiscard]] U64 Imm64(u64 value) const; |
| 32 | [[nodiscard]] U64 Imm64(s64 value) const; | ||
| 32 | [[nodiscard]] F64 Imm64(f64 value) const; | 33 | [[nodiscard]] F64 Imm64(f64 value) const; |
| 33 | 34 | ||
| 34 | void Branch(Block* label); | 35 | void Branch(Block* label); |
| @@ -170,7 +171,7 @@ public: | |||
| 170 | [[nodiscard]] U32U64 ISub(const U32U64& a, const U32U64& b); | 171 | [[nodiscard]] U32U64 ISub(const U32U64& a, const U32U64& b); |
| 171 | [[nodiscard]] U32 IMul(const U32& a, const U32& b); | 172 | [[nodiscard]] U32 IMul(const U32& a, const U32& b); |
| 172 | [[nodiscard]] U32U64 INeg(const U32U64& value); | 173 | [[nodiscard]] U32U64 INeg(const U32U64& value); |
| 173 | [[nodiscard]] U32 IAbs(const U32& value); | 174 | [[nodiscard]] U32U64 IAbs(const U32U64& value); |
| 174 | [[nodiscard]] U32U64 ShiftLeftLogical(const U32U64& base, const U32& shift); | 175 | [[nodiscard]] U32U64 ShiftLeftLogical(const U32U64& base, const U32& shift); |
| 175 | [[nodiscard]] U32U64 ShiftRightLogical(const U32U64& base, const U32& shift); | 176 | [[nodiscard]] U32U64 ShiftRightLogical(const U32U64& base, const U32& shift); |
| 176 | [[nodiscard]] U32U64 ShiftRightArithmetic(const U32U64& base, const U32& shift); | 177 | [[nodiscard]] U32U64 ShiftRightArithmetic(const U32U64& base, const U32& shift); |
| @@ -193,7 +194,7 @@ public: | |||
| 193 | [[nodiscard]] U32 UMax(const U32& a, const U32& b); | 194 | [[nodiscard]] U32 UMax(const U32& a, const U32& b); |
| 194 | 195 | ||
| 195 | [[nodiscard]] U1 ILessThan(const U32& lhs, const U32& rhs, bool is_signed); | 196 | [[nodiscard]] U1 ILessThan(const U32& lhs, const U32& rhs, bool is_signed); |
| 196 | [[nodiscard]] U1 IEqual(const U32& lhs, const U32& rhs); | 197 | [[nodiscard]] U1 IEqual(const U32U64& lhs, const U32U64& rhs); |
| 197 | [[nodiscard]] U1 ILessThanEqual(const U32& lhs, const U32& rhs, bool is_signed); | 198 | [[nodiscard]] U1 ILessThanEqual(const U32& lhs, const U32& rhs, bool is_signed); |
| 198 | [[nodiscard]] U1 IGreaterThan(const U32& lhs, const U32& rhs, bool is_signed); | 199 | [[nodiscard]] U1 IGreaterThan(const U32& lhs, const U32& rhs, bool is_signed); |
| 199 | [[nodiscard]] U1 INotEqual(const U32& lhs, const U32& rhs); | 200 | [[nodiscard]] U1 INotEqual(const U32& lhs, const U32& rhs); |
| @@ -207,9 +208,12 @@ public: | |||
| 207 | [[nodiscard]] U32U64 ConvertFToS(size_t bitsize, const F16F32F64& value); | 208 | [[nodiscard]] U32U64 ConvertFToS(size_t bitsize, const F16F32F64& value); |
| 208 | [[nodiscard]] U32U64 ConvertFToU(size_t bitsize, const F16F32F64& value); | 209 | [[nodiscard]] U32U64 ConvertFToU(size_t bitsize, const F16F32F64& value); |
| 209 | [[nodiscard]] U32U64 ConvertFToI(size_t bitsize, bool is_signed, const F16F32F64& value); | 210 | [[nodiscard]] U32U64 ConvertFToI(size_t bitsize, bool is_signed, const F16F32F64& value); |
| 210 | [[nodiscard]] F16F32F64 ConvertSToF(size_t bitsize, const U32U64& value); | 211 | [[nodiscard]] F16F32F64 ConvertSToF(size_t dest_bitsize, size_t src_bitsize, |
| 211 | [[nodiscard]] F16F32F64 ConvertUToF(size_t bitsize, const U32U64& value); | 212 | const Value& value); |
| 212 | [[nodiscard]] F16F32F64 ConvertIToF(size_t bitsize, bool is_signed, const U32U64& value); | 213 | [[nodiscard]] F16F32F64 ConvertUToF(size_t dest_bitsize, size_t src_bitsize, |
| 214 | const Value& value); | ||
| 215 | [[nodiscard]] F16F32F64 ConvertIToF(size_t dest_bitsize, size_t src_bitsize, bool is_signed, | ||
| 216 | const Value& value); | ||
| 213 | 217 | ||
| 214 | [[nodiscard]] U32U64 UConvert(size_t result_bitsize, const U32U64& value); | 218 | [[nodiscard]] U32U64 UConvert(size_t result_bitsize, const U32U64& value); |
| 215 | [[nodiscard]] F16F32F64 FPConvert(size_t result_bitsize, const F16F32F64& value); | 219 | [[nodiscard]] F16F32F64 FPConvert(size_t result_bitsize, const F16F32F64& value); |