--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: Sys.word_size not constant folded
- From: Falk Hueffner <falk@debian.org>
- Date: Mon, 02 Aug 2004 20:34:42 +0200
- Message-id: <E1Brhdy-00064l-6B@juist>
Package: ocaml-nox
Version: 3.08.0-2
Severity: normal
File: /usr/bin/ocamlopt
% cat test.ml && ocamlopt -c test.ml && objdump -d test.o
let f () = if Sys.word_size = 64 then 1 else 0;;
test.o: file format elf64-alpha
Disassembly of section .text:
0000000000000000 <camlTest__f_57>:
0: 00 00 bb 27 ldah gp,0(t12)
4: 00 00 bd 23 lda gp,0(gp)
8: 00 00 7d a4 ldq t2,0(gp)
c: 20 00 43 a4 ldq t1,32(t2)
10: b9 35 50 40 cmpeq t1,0x81,t11
14: 02 00 20 e7 beq t11,20 <camlTest__f_57+0x20>
18: 03 00 1f 20 lda v0,3
1c: 01 80 fa 6b ret
20: 01 00 1f 20 lda v0,1
24: 01 80 fa 6b ret
28: 1f 04 ff 47 nop
2c: 00 00 fe 2f unop
This makes it basically impossible to optimize for 32 or 64 bit.
Falk
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: alpha
Kernel: Linux 2.6.0-test3
Locale: LANG=C, LC_CTYPE=de_DE@euro
Versions of packages ocaml-nox depends on:
ii libncurses5-dev 5.4-4 Developer's libraries and docs for
ii ocaml-base-nox [ocaml-base-no 3.08.0-2 Runtime system for ocaml bytecode
ii ocaml-interp [ocaml-interp-3. 3.08.0-2 Ocaml interpreter and standard lib
-- no debconf information
--- End Message ---