summaryrefslogtreecommitdiff
path: root/arch/x86/arch_x86_intrinsics.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2026-03-13 16:30:02 -0400
committerPeter LaFosse <peter@vector35.com>2026-03-27 10:02:29 -0400
commitf860e52fe85837ba9e1a9df578b54ab12a983089 (patch)
tree459d6819f34ff6e380a64f6a23327fb3d60ba88e /arch/x86/arch_x86_intrinsics.cpp
parent339ce9d5b3a1b6e116c7cd43349a3d935959ee35 (diff)
Ensure rounding flag is properly emitted on some x86 floating point instructions
Diffstat (limited to 'arch/x86/arch_x86_intrinsics.cpp')
-rw-r--r--arch/x86/arch_x86_intrinsics.cpp8
1 files changed, 4 insertions, 4 deletions
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<NameAndType> X86CommonArchitecture::GetIntrinsicInputs(uint32_t intrinsic
vector<Confidence<Ref<Type>>> X86CommonArchitecture::GetIntrinsicOutputs(uint32_t intrinsic)
{
- static const vector<Confidence<Ref<Type>>> singleFloat10 { Type::FloatType(10)->SetIgnored(true) };
+ static const vector<Confidence<Ref<Type>>> singleFloat10Bool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) };
static const vector<Confidence<Ref<Type>>> singleInt10 { Type::IntegerType(10, false)->SetIgnored(true) };
- static const vector<Confidence<Ref<Type>>> float10Bool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) };
+ static const vector<Confidence<Ref<Type>>> float10BoolBool { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true) };
static const vector<Confidence<Ref<Type>>> doubleFloat10Bool { Type::FloatType(10)->SetIgnored(true), Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true) };
static const vector<Confidence<Ref<Type>>> float10BoolInt1 { Type::FloatType(10)->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::IntegerType(1, false)->SetIgnored(true) };
static const vector<Confidence<Ref<Type>>> quadBool { Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true), Type::BoolType()->SetIgnored(true) };
@@ -5202,13 +5202,13 @@ vector<Confidence<Ref<Type>>> 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: