You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 3330 Reporter: administrator Status: closed Resolution: fixed Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
I just grabbed a copy of O'Caml and tried to build it, and the build
failed like this:
make[1]: Leaving directory /home/tleonard/bin/ocaml-3.08.2/otherlibs/str' make[1]: Entering directory /home/tleonard/bin/ocaml-3.08.2/otherlibs/num'
cc -O -I../../byterun -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64
-D_REENTRANT -fPIC -DBNG_ARCH_ia32 -DBNG_ASM_LEVEL=2 -c -o bng.o bng.c
/tmp/ccVOhAqZ.s: Assembler messages:
/tmp/ccVOhAqZ.s:281: Error: no such instruction: `paddq %mm1,%mm0'
[...]
Can you offer any suggestions about what I could do to fix the problem,
or even to diagnose it? I don't think I did anything unusual in the
build: "./configure -prefix /home/tleonard" and "make world". I don't
think there's anything unusual about the system I'm running it on: a
recent Red Hat Linux on a modern ia32 box. I've tried both gcc 3.2 and
cc, and got the same failure.
It seems that you assembler doesn't like sse2 instructions.
Rather surprising for a recent RedHat.
Since this is an assembler problem, changing the gcc version will not
solve the it.
Looking at the innards of bng_ia32.c (which is mostly assembler), it
seems that you could at bypass the problem by setting manually
BNG_ASM_LEVEL to 1 in config/Makefile or otherlibs/num/Makefile.
Actually this is all the stranger as configure already checks about
sse2 instruction. I cannot understand how you can have pmuludq, but
not paddq. Can you try "./configure -verbose" after adding
'asm("paddq %mm1,%mm0")' to config/auto-aux/ia32sse2.c, and send the
output?
Jacques
The text was updated successfully, but these errors were encountered:
Original bug ID: 3330
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
From: tim.leonard@intel.com
It seems that you assembler doesn't like sse2 instructions.
Rather surprising for a recent RedHat.
Since this is an assembler problem, changing the gcc version will not
solve the it.
Looking at the innards of bng_ia32.c (which is mostly assembler), it
seems that you could at bypass the problem by setting manually
BNG_ASM_LEVEL to 1 in config/Makefile or otherlibs/num/Makefile.
Actually this is all the stranger as configure already checks about
sse2 instruction. I cannot understand how you can have pmuludq, but
not paddq. Can you try "./configure -verbose" after adding
'asm("paddq %mm1,%mm0")' to config/auto-aux/ia32sse2.c, and send the
output?
Jacques
The text was updated successfully, but these errors were encountered: