From adc34055376a31648c14f28760f34a63160c2840 Mon Sep 17 00:00:00 2001 From: chrisps Date: Thu, 20 Oct 2022 14:56:55 -0700 Subject: [PATCH 1/2] change else{if} to else if in AndNot --- src/xenia/cpu/hir/hir_builder.cc | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/xenia/cpu/hir/hir_builder.cc b/src/xenia/cpu/hir/hir_builder.cc index 286a19845..f8b617be7 100644 --- a/src/xenia/cpu/hir/hir_builder.cc +++ b/src/xenia/cpu/hir/hir_builder.cc @@ -1872,18 +1872,16 @@ Value* HIRBuilder::AndNot(Value* value1, Value* value2) { ASSERT_NON_FLOAT_TYPE(value1); ASSERT_NON_FLOAT_TYPE(value2); ASSERT_TYPES_EQUAL(value1, value2); - //only other type it can be used with is INT64_TYPE (andc) + // only other type it can be used with is INT64_TYPE (andc) if (value1->type != VEC128_TYPE) { return this->And(this->Not(value2), value1); + } else if (value1 == value2) { + return LoadZero(value1->type); + } else if (value1->IsConstantZero()) { + return value1; + } else if (value2->IsConstantZero()) { + return value1; } else { - if (value1 == value2) { - return LoadZero(value1->type); - } else if (value1->IsConstantZero()) { - return value1; - } else if (value2->IsConstantZero()) { - return value1; - } - Instr* i = AppendInstr(OPCODE_AND_NOT_info, 0, AllocValue(value1->type)); i->set_src1(value1); i->set_src2(value2); From 4493d17acc2d9bd2ec7938567412cf818026a15d Mon Sep 17 00:00:00 2001 From: chrisps Date: Thu, 20 Oct 2022 14:58:27 -0700 Subject: [PATCH 2/2] Update hir_builder.cc --- src/xenia/cpu/hir/hir_builder.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/xenia/cpu/hir/hir_builder.cc b/src/xenia/cpu/hir/hir_builder.cc index f8b617be7..7a5935001 100644 --- a/src/xenia/cpu/hir/hir_builder.cc +++ b/src/xenia/cpu/hir/hir_builder.cc @@ -1877,9 +1877,7 @@ Value* HIRBuilder::AndNot(Value* value1, Value* value2) { return this->And(this->Not(value2), value1); } else if (value1 == value2) { return LoadZero(value1->type); - } else if (value1->IsConstantZero()) { - return value1; - } else if (value2->IsConstantZero()) { + } else if (value1->IsConstantZero() || value2->IsConstantZero()) { return value1; } else { Instr* i = AppendInstr(OPCODE_AND_NOT_info, 0, AllocValue(value1->type));