From b4830be9bcdbcee7e1bd5bd2db8709e7446bab27 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Thu, 14 Mar 2013 08:48:01 -0500 Subject: [PATCH] Actually set the bIDIVa value in the ARM CPUDetect. --- Source/Core/Common/Src/ArmCPUDetect.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Source/Core/Common/Src/ArmCPUDetect.cpp b/Source/Core/Common/Src/ArmCPUDetect.cpp index db1c967ec3..04be3ac90c 100644 --- a/Source/Core/Common/Src/ArmCPUDetect.cpp +++ b/Source/Core/Common/Src/ArmCPUDetect.cpp @@ -122,6 +122,12 @@ void CPUInfo::Detect() bVFPv4 = CheckCPUFeature("vfpv4"); bIDIVa = CheckCPUFeature("idiva"); bIDIVt = CheckCPUFeature("idivt"); + + // On some buggy kernels(Qualcomm) they show that they support VFPv4 but not IDIVa + // All VFPv4 CPUs will support IDIVa + if (bVFPv4) + bIDIVa = bIDIVt = true; + // These two are ARMv8 specific. bFP = CheckCPUFeature("fp"); bASIMD = CheckCPUFeature("asimd"); @@ -154,10 +160,8 @@ std::string CPUInfo::Summarize() if (bVFPv3) sum += ", VFPv3"; if (bTLS) sum += ", TLS"; if (bVFPv4) sum += ", VFPv4"; - // On some buggy kernels(Qualcomm) they show that they support VFPv4 but not IDIVa - // All VFPv4 CPUs will support IDIVa - if (bIDIVa || bVFPv4) sum += ", IDIVa"; - if (bIDIVt || bVFPv4) sum += ", IDIVt"; + if (bIDIVa) sum += ", IDIVa"; + if (bIDIVt) sum += ", IDIVt"; return sum; }