Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re: [Caml-devel] ocaml build fails with "no such instruction" (PR#3329) #3330

Closed
vicuna opened this issue Dec 3, 2004 · 1 comment
Closed
Labels

Comments

@vicuna
Copy link

vicuna commented Dec 3, 2004

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

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

@vicuna
Copy link
Author

vicuna commented Jan 31, 2005

Comment author: administrator

see #3329
fixed DD+XL 2005-01-31

@vicuna vicuna closed this as completed Jan 31, 2005
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant