[klee-dev] Is llvm incompatible with some cpu instruction sets?

agan Davis agandavis at gmail.com
Thu May 8 08:47:02 BST 2014


Hi everyone

I get strange problem, I build klee/llvm3.1 successfully on "Intel(R)
Core(TM) i7-2760QM" cpu and  "Inte(R) Xeon(R) CPU E7 - 4830 "cpu, but when
I run klee, it is normal at  i7-2760QM machine, but it gets the error
information at  E7 - 4830 machine below:
$klee
illegal Instruction(core dumped)

I use gdb to lookup it, after type
$gdb klee:
gdb$b main:cpp:main
gdb$run
using host libthread_db library/lib/x86_64-linux-gun/libthread_db.so.1
Program received signal SIGILL, Illegal instruction

I try it on klee/llvm2.9, it is ok, so I suspect the problem is that  E7 -
4830 has cpu instruction sets which llvm/3.1 can not support on, but when I
look up the cpu info of  i7-2760QM and   E7 - 4830, I find the result is
that i7-2760QM has more instruction sets than  E7 - 4830.

$cat /proc/cpuinfo

...
model name : Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc
aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx
hypervisor lahf_lm ida arat xsaveopt pln pts dtherm
....

and

...
model name :DELL R810 Inte(R) Xeon(R) CPU E7 - 4830 @ 2.13Ghz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss  syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc
aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes  hypervisor
lahf_lm ida arat dtherm
...
i7-2760QM supports "ht  xsave avx  xsaveopt pln pts " instrcution sets, but
E7 - 4830 can not.

Did someone get the similar problem? Or finding the reason with the problem
with me.
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list