From f860e52fe85837ba9e1a9df578b54ab12a983089 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Fri, 13 Mar 2026 16:30:02 -0400 Subject: Ensure rounding flag is properly emitted on some x86 floating point instructions --- arch/x86/arch_x86_intrinsics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'arch/x86/arch_x86_intrinsics.cpp') diff --git a/arch/x86/arch_x86_intrinsics.cpp b/arch/x86/arch_x86_intrinsics.cpp index 23c7ac53..c6cd46ae 100644 --- a/arch/x86/arch_x86_intrinsics.cpp +++ b/arch/x86/arch_x86_intrinsics.cpp @@ -5183,9 +5183,9 @@ vector X86CommonArchitecture::GetIntrinsicInputs(uint32_t intrinsic vector>> X86CommonArchitecture::GetIntrinsicOutputs(uint32_t intrinsic) { - static const vector>> singleFloat10 { Type::FloatType(10)->SetIgnored(true) }; + static const vector>> singleFloat10Bool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) }; static const vector>> singleInt10 { Type::IntegerType(10, false)->SetIgnored(true) }; - static const vector>> float10Bool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) }; + static const vector>> float10BoolBool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true) }; static const vector>> doubleFloat10Bool { Type::FloatType(10)->SetIgnored(true), Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) }; static const vector>> float10BoolInt1 { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::IntegerType(1, false)->SetIgnored(true) }; static const vector>> quadBool { Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true) }; @@ -5202,13 +5202,13 @@ vector>> X86CommonArchitecture::GetIntrinsicOutputs(uint32_ case INTRINSIC_FSCALE: case INTRINSIC_FYL2X: case INTRINSIC_FYL2XP1: - return singleFloat10; + return singleFloat10Bool; case INTRINSIC_FBST: return singleInt10; case INTRINSIC_FSIN: case INTRINSIC_FCOS: case INTRINSIC_FPTAN: - return float10Bool; + return float10BoolBool; case INTRINSIC_FSINCOS: return doubleFloat10Bool; case INTRINSIC_FPREM: -- cgit v1.3.1