- Nov 22, 2013
-
-
Raymond Toy authored
-
- Nov 10, 2013
-
-
Raymond Toy authored
-
- Nov 08, 2013
-
-
Raymond Toy authored
-
- Nov 07, 2013
-
-
Raymond Toy authored
-
- Oct 27, 2013
-
-
Raymond Toy authored
0.
-
- Oct 24, 2013
-
-
Raymond Toy authored
on x86.
-
Raymond Toy authored
-
- Oct 22, 2013
-
-
Raymond Toy authored
-
Raymond Toy authored
double-float-bits for x86/sse2. This gives x86 the same micro-optimizations that were available for sparc and ppc. o code/kernel.lisp: o Enable fast double-float-bits using the vop instead of calling double-float-high-bits/double-float-low-bits. o compiler/float-tran.lisp: o Make fast-unary-ftruncate known to compiler and enable optimizer for it. o Make double-float-bits known to compiler o compiler/x86/float-sse2.lisp: o Implement fast-unary-ftruncate for singles and doubles. o Implement double-float-bits.
-
- Oct 20, 2013
-
-
Raymond Toy authored
-
- Oct 18, 2013
-
-
Raymond Toy authored
these were needed for sparc v7 and earlier which didn't have a multiply or divide instruction (multiply step, and divide step). We don't support v7 anymore so the existing vops for multiplication and division work just fine.
-
- Sep 29, 2013
-
-
Raymond Toy authored
Could optimize SUB-OUTPUT-INTEGER and DIGIT-TO-CHAR if needed, but I'm assuming printing of fixnums and bignums is not limited by the conversion of each digit to a character. * src/code/print.lisp: * Print integers in lowercase if *print-case* is :downcase * Update a docstring. * src/i18n/locale/cmucl.pot: * Update * src/general-info/release-20f.txt: * New file with updated info.
-
- Sep 22, 2013
-
-
Raymond Toy authored
-
- Sep 21, 2013
-
-
Raymond Toy authored
The comment says the field should be proceeded with a + or -, but depended on negative integers producing the needed -. When disassembling with a radix, this doesn't produce the expected output (#x7 vs #x-7 vs -#x7). So really print + or - followed by the absolute value.
-
Raymond Toy authored
-
Raymond Toy authored
* src/compiler/byte-comp.lisp * Update fasl file version to 20e * bootfiles/20d/boot-20e.lisp * Use this during a normal compile to update to 20e.
-
Raymond Toy authored
-
- Sep 12, 2013
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
* src/compiler/main.lisp: * Add *FILE-COMMENT-FROM-GIT* to control whether to use git to derive the file-comment. Default is T. Otherwise, the actual file-comment is used. * Update PROCESS-FILE-COMMENT to use *FILE-COMMENT-FROM-GIT*. * bin/build-all.sh * bin/build.sh * bin/build-world.sh * Add -G option to control whether file-comment's are derived from git.
-
- Sep 09, 2013
-
-
Raymond Toy authored
I almost always build with sparc_sunc so make it the default. I only do sparc_gcc for testing that the build still works with gcc.
-
- Sep 07, 2013
-
-
Raymond Toy authored
-
- Aug 24, 2013
-
-
Raymond Toy authored
implementation details of DISASSEM:DISASSEMBLE. code/exports.lisp:: * Update packages so CL:DISASSEMBLE is not DISASSEM:DISASSEMBLE. code/misc.lisp:: * Define CL:DISASSEMBLE. compiler/fndb.lisp:: * Update defknow for disassemble. compiler/disassem.lisp:: * Print of source codes uses standard I/O syntax instead of inheriting from the environment. * Add new keyword arguments to DISASSEM:DISASSEMBLE for the base, case, and radix. These default to 16, :downcase, and *print-radix*, respectively. This means disassembly now prints out all numbers in base 16 and is in lowercase. * When printing a note for an assembler routine, we don't need to print the (hex) address if *print-base* is 16. compiler/x86/insts.lisp:: * Fix some issues when in print-mem-access. * Sometimes the absolute value of the value was printed instead of the value (displaying the wrong value). * Print out the value as an unsigned in some cases instead of signed value. * Fix print-label to print addresses as unsigned integers. This fixes the issue where things like call #x-4xxxxxxx were printed. i18n/locale/cmucl.pot:: * Update because of new or changed docstrings.
-
- Aug 22, 2013
-
-
Raymond Toy authored
With these changes, you can bind *print-base* to 16 and *print-case* to :downcase to get correctly printed disassembly in lower case with all numerical values in hex. If you want the radix marker as well, bind *print-radix* to T; the disassembly is still correct. src/compiler/disassem.lisp: o When printing out the source code, bind *print-base* to 10 so that the code is printed "naturally". src/compiler/x86/insts.lisp: o Use Carl's much cleaned-up print-mem-access o Update print-imm-data to use princ for all values, removing the special casing for NIL o When printing out xmm registers, honor *print-case*. src/general-info/release-20e.txt: o Update
-
- Aug 11, 2013
-
-
Carl Shapiro authored
-
Carl Shapiro authored
-
- Aug 08, 2013
-
-
Carl Shapiro authored
-
Carl Shapiro authored
-
- Aug 07, 2013
-
-
Carl Shapiro authored
-
- Aug 03, 2013
-
-
Raymond Toy authored
-
- Aug 02, 2013
-
-
Carl Shapiro authored
-
- Aug 01, 2013
-
-
Carl Shapiro authored
-
Carl Shapiro authored
* Remove the name dependence on EAX in move-to-word/integer. * Change move-from-signed to do a fixnum check using one branch instead of two. * Remove move-from-signed and move-from-unsigned assembly routines and the commented out code that refers to them.
-
- Jul 05, 2013
-
-
Raymond Toy authored
This change allow cmucl to fold identity operations as in (defun foo (x) (declare (float x)) (* x 1)) Previously, cmucl wouldn't change (* x 1) to just x. because the declaration of x is represented internally as a union type.
-
- Jul 04, 2013
-
-
Raymond Toy authored
-
Raymond Toy authored
-
- Jul 02, 2013
-
-
Raymond Toy authored
are set but never used.
-
Raymond Toy authored
-
- Jun 26, 2013
-
-
Raymond Toy authored
-
- Jun 01, 2013
-
-
Raymond Toy authored
-