summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-09-04 21:00:01 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-09-04 21:00:01 +0000
commitdc6721288696a5e188b51a3a4657d4a259c3c1b9 (patch)
tree67539e20bb6b24a72bc547b1f456f236ef22caa8
parent2357060c4dfbc63b801e94e137f147bafa9425f4 (diff)
downloadfpc-dc6721288696a5e188b51a3a4657d4a259c3c1b9.tar.gz
* clz is only available on thumb2/arm
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25416 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--compiler/options.pas4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/options.pas b/compiler/options.pas
index 38ad08d049..ec6c2e0b55 100644
--- a/compiler/options.pas
+++ b/compiler/options.pas
@@ -3424,7 +3424,9 @@ if (target_info.abi = abi_eabihf) then
{ it is determined during system unit compilation if clz is used for bsf or not,
this is not perfect but the current implementation bsf/bsr does not allow another
solution }
- if CPUARM_HAS_CLZ in cpu_capabilities[init_settings.cputype] then
+ if (CPUARM_HAS_CLZ in cpu_capabilities[init_settings.cputype]) and
+ ((init_settings.instructionset=is_arm) or
+ (CPUARM_HAS_THUMB2 in cpu_capabilities[init_settings.cputype])) then
begin
def_system_macro('FPC_HAS_INTERNAL_BSR');
if CPUARM_HAS_RBIT in cpu_capabilities[init_settings.cputype] then