summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/frontend/ir/ir_emitter.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-02-19 22:10:18 +0100
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:22 +0200
commit6db69990da9f232e6d982cdcb69c2e27d93075cf (patch)
tree9367909cd030622ea36c4cadccd2fabc6f28d471 /src/shader_recompiler/frontend/ir/ir_emitter.cpp
parentshader: Primitive Vulkan integration (diff)
downloadyuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar.gz
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar.bz2
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar.lz
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar.xz
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.tar.zst
yuzu-6db69990da9f232e6d982cdcb69c2e27d93075cf.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/frontend/ir/ir_emitter.cpp70
1 files changed, 35 insertions, 35 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
index f42489d41..559ab9cca 100644
--- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp
+++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp
@@ -547,11 +547,11 @@ F32 IREmitter::FPSqrt(const F32& value) {
F16F32F64 IREmitter::FPSaturate(const F16F32F64& value) {
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<F16>(Opcode::FPSaturate16, value);
- case Type::U32:
+ case Type::F32:
return Inst<F32>(Opcode::FPSaturate32, value);
- case Type::U64:
+ case Type::F64:
return Inst<F64>(Opcode::FPSaturate64, value);
default:
ThrowInvalidType(value.Type());
@@ -560,11 +560,11 @@ F16F32F64 IREmitter::FPSaturate(const F16F32F64& value) {
F16F32F64 IREmitter::FPRoundEven(const F16F32F64& value) {
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<F16>(Opcode::FPRoundEven16, value);
- case Type::U32:
+ case Type::F32:
return Inst<F32>(Opcode::FPRoundEven32, value);
- case Type::U64:
+ case Type::F64:
return Inst<F64>(Opcode::FPRoundEven64, value);
default:
ThrowInvalidType(value.Type());
@@ -573,11 +573,11 @@ F16F32F64 IREmitter::FPRoundEven(const F16F32F64& value) {
F16F32F64 IREmitter::FPFloor(const F16F32F64& value) {
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<F16>(Opcode::FPFloor16, value);
- case Type::U32:
+ case Type::F32:
return Inst<F32>(Opcode::FPFloor32, value);
- case Type::U64:
+ case Type::F64:
return Inst<F64>(Opcode::FPFloor64, value);
default:
ThrowInvalidType(value.Type());
@@ -586,11 +586,11 @@ F16F32F64 IREmitter::FPFloor(const F16F32F64& value) {
F16F32F64 IREmitter::FPCeil(const F16F32F64& value) {
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<F16>(Opcode::FPCeil16, value);
- case Type::U32:
+ case Type::F32:
return Inst<F32>(Opcode::FPCeil32, value);
- case Type::U64:
+ case Type::F64:
return Inst<F64>(Opcode::FPCeil64, value);
default:
ThrowInvalidType(value.Type());
@@ -599,11 +599,11 @@ F16F32F64 IREmitter::FPCeil(const F16F32F64& value) {
F16F32F64 IREmitter::FPTrunc(const F16F32F64& value) {
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<F16>(Opcode::FPTrunc16, value);
- case Type::U32:
+ case Type::F32:
return Inst<F32>(Opcode::FPTrunc32, value);
- case Type::U64:
+ case Type::F64:
return Inst<F64>(Opcode::FPTrunc64, value);
default:
ThrowInvalidType(value.Type());
@@ -729,33 +729,33 @@ U32U64 IREmitter::ConvertFToS(size_t bitsize, const F16F32F64& value) {
switch (bitsize) {
case 16:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U32>(Opcode::ConvertS16F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U32>(Opcode::ConvertS16F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U32>(Opcode::ConvertS16F64, value);
default:
ThrowInvalidType(value.Type());
}
case 32:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U32>(Opcode::ConvertS32F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U32>(Opcode::ConvertS32F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U32>(Opcode::ConvertS32F64, value);
default:
ThrowInvalidType(value.Type());
}
case 64:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U64>(Opcode::ConvertS64F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U64>(Opcode::ConvertS64F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U64>(Opcode::ConvertS64F64, value);
default:
ThrowInvalidType(value.Type());
@@ -769,33 +769,33 @@ U32U64 IREmitter::ConvertFToU(size_t bitsize, const F16F32F64& value) {
switch (bitsize) {
case 16:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U32>(Opcode::ConvertU16F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U32>(Opcode::ConvertU16F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U32>(Opcode::ConvertU16F64, value);
default:
ThrowInvalidType(value.Type());
}
case 32:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U32>(Opcode::ConvertU32F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U32>(Opcode::ConvertU32F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U32>(Opcode::ConvertU32F64, value);
default:
ThrowInvalidType(value.Type());
}
case 64:
switch (value.Type()) {
- case Type::U16:
+ case Type::F16:
return Inst<U64>(Opcode::ConvertU64F16, value);
- case Type::U32:
+ case Type::F32:
return Inst<U64>(Opcode::ConvertU64F32, value);
- case Type::U64:
+ case Type::F64:
return Inst<U64>(Opcode::ConvertU64F64, value);
default:
ThrowInvalidType(value.Type());
@@ -829,10 +829,10 @@ U32U64 IREmitter::ConvertU(size_t result_bitsize, const U32U64& value) {
case 64:
switch (value.Type()) {
case Type::U32:
+ return Inst<U64>(Opcode::ConvertU64U32, value);
+ case Type::U64:
// Nothing to do
return value;
- case Type::U64:
- return Inst<U64>(Opcode::ConvertU64U32, value);
default:
break;
}