factor/basis/compiler
Slava Pestov 45a2105449 cpu.x86.assembler: IMUL2 instruction was busted for immediate operands
When given a register and an immediate, it would generate imul imm,dst,dst however the 64-bit prefix was generated wrong and if dst was an extended register only the first operand would be an extended register. To fix this, change IMUL2 to not work on immediates anymore, and added a new IMUL3 that takes a destination register, source register, and immediate. Also, change compiler.cfg.two-operand to not two-operandize %mul-imm, since this isn't needed anymore.
This fixes the sporadic benchmark.tuple-arrays crash on 64-bit machines.
2009-06-08 21:15:52 -05:00
..
alien Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
cfg cpu.x86.assembler: IMUL2 instruction was busted for immediate operands 2009-06-08 21:15:52 -05:00
codegen Remove %dispatch-label since its tehe same on all platforms; fix %gc on PowerPC 2009-06-07 21:46:28 -05:00
constants Remove compiled slot from quotations since its not needed 2009-05-12 03:09:15 -05:00
errors Compiler warnings are no more 2009-04-23 22:17:25 -05:00
tests cpu.x86: fix small register intrinsics on x86-64 2009-06-03 03:22:46 -05:00
tree Merge branch 'master' into global_optimization 2009-06-01 03:12:32 -05:00
utilities Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
authors.txt Create basis vocab root 2008-07-28 22:03:13 -05:00
compiler-docs.factor Rename enable/disable-compiler to enable/disable-optimizer, and add with-optimizer and without-optimizer combinators 2009-05-01 05:52:05 -05:00
compiler.factor compiler: more informative trace-compilation 2009-06-05 17:32:37 -05:00
summary.txt Create basis vocab root 2008-07-28 22:03:13 -05:00
tags.txt Create basis vocab root 2008-07-28 22:03:13 -05:00