Raymond Toy pushed to branch issue-86-save-fpu-state-on-entry-to-alloc at cmucl / cmucl
Commits:
29cac208 by Raymond Toy at 2020-08-27T00:36:27+00:00
Fix #85: Let each x86 configs set optimization level
Add `COPT` variable in `Config.x86_common` to set the optimization
level (defaulting to `-O2`). Then each `Config.x86` file can set
`COPT` as desired if the default doesn't work.
Thus, `Config.x86_linux` sets `COPT` to `-O1`, but others can use the
default value. See issue #68.
- - - - -
d0b192cd by Raymond Toy at 2020-08-27T00:36:28+00:00
Merge branch 'issue-85-opt-level-set-in-x86-config' into 'master'
Fix #85: Let each x86 configs set optimization level
Closes #85
See merge request cmucl/cmucl!52
- - - - -
4b80a6e5 by Raymond Toy at 2020-08-26T23:26:12-07:00
Merge branch 'master' into issue-86-save-fpu-state-on-entry-to-alloc
- - - - -
0 changed files:
Changes:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d51dabf0f0c6868834ba5c…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d51dabf0f0c6868834ba5c…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
29cac208 by Raymond Toy at 2020-08-27T00:36:27+00:00
Fix #85: Let each x86 configs set optimization level
Add `COPT` variable in `Config.x86_common` to set the optimization
level (defaulting to `-O2`). Then each `Config.x86` file can set
`COPT` as desired if the default doesn't work.
Thus, `Config.x86_linux` sets `COPT` to `-O1`, but others can use the
default value. See issue #68.
- - - - -
d0b192cd by Raymond Toy at 2020-08-27T00:36:28+00:00
Merge branch 'issue-85-opt-level-set-in-x86-config' into 'master'
Fix #85: Let each x86 configs set optimization level
Closes #85
See merge request cmucl/cmucl!52
- - - - -
6 changed files:
- src/lisp/Config.x86_common
- src/lisp/Config.x86_darwin
- src/lisp/Config.x86_linux
- src/lisp/Config.x86_linux_clang
- src/lisp/Config.x86_netbsd
- src/lisp/Config.x86_solaris_sunc
Changes:
=====================================
src/lisp/Config.x86_common
=====================================
@@ -45,10 +45,11 @@ endif
CPPFLAGS := $(CPP_DEFINE_OPTIONS) $(CPP_INCLUDE_OPTIONS)
CFLAGS += -Wstrict-prototypes -Wall -g -fno-omit-frame-pointer
-# gcc 8.1.1 and 8.3.1 (and probably anything after 8.1.1?) won't
-# produce a working lisp with -O2. Just use -O1.
-CFLAGS += -O1
-ASFLAGS = -g
+# Default optimization level. This can be changed in the individual
+# configs.
+COPT = -O2
+
+ASFLAGS = -g
ASSEM_SRC = x86-assem.S
ARCH_SRC = x86-arch.c
=====================================
src/lisp/Config.x86_darwin
=====================================
@@ -6,6 +6,7 @@ include Config.x86_common
# you have the SDK available.
MIN_VER = -mmacosx-version-min=10.6
+CFLAGS += $(COPT)
CPPFLAGS += -DDARWIN $(MIN_VER) -m32
CFLAGS += -g3 -mtune=generic
ASFLAGS += -g3 $(MIN_VER)
=====================================
src/lisp/Config.x86_linux
=====================================
@@ -1,6 +1,10 @@
# -*- Mode: makefile -*-
include Config.x86_common
+# gcc 8.1.1 and 8.3.1 (and probably anything after 8.1.1?) won't
+# produce a working lisp with -O2. Just use -O1.
+COPT = -O1
+CFLAGS += $(COPT)
CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
CFLAGS += -rdynamic -march=pentium4 -mfpmath=sse -mtune=generic
=====================================
src/lisp/Config.x86_linux_clang
=====================================
@@ -3,6 +3,7 @@ include Config.x86_common
CC = clang
CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
+CFLAGS += $(COPT)
CFLAGS += -march=pentium4 -mfpmath=sse -mtune=generic
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
=====================================
src/lisp/Config.x86_netbsd
=====================================
@@ -1,6 +1,7 @@
# -*- Mode: makefile -*-
include Config.x86_common
+CFLAGS += $(COPT)
CPPFLAGS += -march=pentium4 -mfpmath=sse
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
=====================================
src/lisp/Config.x86_solaris_sunc
=====================================
@@ -2,6 +2,7 @@
include Config.sparc_common
CC = cc -xlibmieee -g
+CFLAGS += $(COPT)
CFLAGS += -Di386
CPP = cc -E
DEPEND_FLAGS = -xM1
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d1c5289eb069df2ecdbac3…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d1c5289eb069df2ecdbac3…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-85-opt-level-set-in-x86-config at cmucl / cmucl
Commits:
d1c5289e by Raymond Toy at 2020-08-26T17:12:40-07:00
Fix typo
- - - - -
38372fd9 by Raymond Toy at 2020-08-26T17:14:30-07:00
Fix typo
- - - - -
1 changed file:
- src/lisp/Config.x86_freebsd
Changes:
=====================================
src/lisp/Config.x86_freebsd
=====================================
@@ -3,7 +3,7 @@ include Config.x86_common
# Set the path to your verison of GCC here.
CC = gcc -m32
-CFLAGS += -O2
+CFLAGS += $(COPT)
CPPFLAGS += -march=pentium4 -mfpmath=sse
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/449f8ec10cd560b5a1deab…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/449f8ec10cd560b5a1deab…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
d1c5289e by Raymond Toy at 2020-08-26T17:12:40-07:00
Fix typo
- - - - -
1 changed file:
- src/lisp/Config.x86_freebsd
Changes:
=====================================
src/lisp/Config.x86_freebsd
=====================================
@@ -3,6 +3,7 @@ include Config.x86_common
# Set the path to your verison of GCC here.
CC = gcc -m32
+CFLAGS += $(COPT)
CPPFLAGS += -march=pentium4 -mfpmath=sse
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/d1c5289eb069df2ecdbac38…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/d1c5289eb069df2ecdbac38…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch rtoy-amd64-p1 at cmucl / cmucl
Commits:
aa7b0b27 by Raymond Toy at 2020-08-20T07:38:21-07:00
Make cross-x86-amd64 look more like cross-x86-x86
Make the cross compiler script look more like the x86-x86 one.
* Don't load float-tran-dd since the x86 script doesn't.
* Forgot to load vm:c-call. Fixes error about make-call-out-tns not
existing.
* Don't load compiler/codegen and compiler/array-tran since the x86
script doesn't. Not sure why these are here, but just comment them
out for now.
Still get this error:
; Compiling DEFUN INT-INIT-XORO-STATE:
Structure for accessor C:TN-OFFSET is not a C:TN:
#<RETURN #x6034AD55
LAMBDA= #<LAMBDA #x603494BD
NAME= (FLET MAKE-DOUBLE INT-INIT-XORO-STATE)
TYPE= #<FUNCTION-TYPE (FUNCTION ((UNSIGNED-BYTE 64))
DOUBLE-FLOAT)>
WHERE-FROM= :DEFINED
VARS= (X)>
RESULT-TYPE= #<NUMERIC-TYPE DOUBLE-FLOAT>>
Aborting...
0: (DEBUG:BACKTRACE 536870911
#<Stream for file "/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/compile-lisp.log">)
1: ("DEFUN COMF" #<SIMPLE-TYPE-ERROR {60A80CBD}>)
2: (SIGNAL #<SIMPLE-TYPE-ERROR {60A80CBD}>)
3: (ERROR SIMPLE-TYPE-ERROR
:DATUM #<RETURN #x6034AD55
LAMBDA= #<LAMBDA #x603494BD
NAME= #
TYPE= #<FUNCTION-TYPE #>
WHERE-FROM= :DEFINED
VARS= #>
RESULT-TYPE= #<NUMERIC-TYPE DOUBLE-FLOAT>>
:EXPECTED-TYPE ...)
4: ("DEFUN STRUCTURE-SLOT-ACCESSOR" #<unavailable-arg>)
5: (C::DO-CALL #<Code Object "DEFUN INLINE-ALLOCATION" {6171372F}> 11 12 143
...)
6: ("DEFINE-VOP (MOVE-FROM-DOUBLE)"
#<C::VOP #x603C3005
INFO= AMD64::MOVE-FROM-DOUBLE
ARGS= #<C:TN-REF #x603C2FAD
TN= #<TN t1[XMM1]>
WRITE-P= NIL
VOP= AMD64::MOVE-FROM-DOUBLE>
RESULTS= #<C:TN-REF #x603C2FD5
TN= #<TN t2[RSI]>
WRITE-P= T
VOP= AMD64::MOVE-FROM-DOUBLE>>)
7: (C::GENERATE-CODE
#<C:COMPONENT #x603517B5 NAME= "DEFUN INT-INIT-XORO-STATE">)
And then finally in worldbuild, we get:
/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/code/type.amd64f
End-of-File on #<Stream for file "/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/code/type.amd64f">
[Condition of type END-OF-FILE]
I'm guessing the fops are not getting written out correctly or the
fasl loader isn't interpreting the lengths correctly. Not sure
exactly what. It would be nice if we had a fasl dumper to print out
the contents of a fasl file in a readable format.
- - - - -
1 changed file:
- src/tools/cross-scripts/cross-x86-amd64.lisp
Changes:
=====================================
src/tools/cross-scripts/cross-x86-amd64.lisp
=====================================
@@ -300,7 +300,7 @@
(load "target:compiler/srctran")
(load "vm:vm-typetran")
(load "target:compiler/float-tran")
-(load "target:compiler/float-tran-dd")
+;;(load "target:compiler/float-tran-dd")
(load "target:compiler/saptran")
(load "vm:macros")
@@ -322,12 +322,16 @@
(load "vm:cell")
(load "vm:subprim")
(load "vm:debug")
+(load "vm:c-call")
(load "vm:sse2-c-call")
+
(load "vm:print")
(load "vm:alloc")
(load "vm:call")
(load "vm:nlx")
(load "vm:values")
+;; These need to be loaded before array because array wants to use
+;; some vops as templates.
(load "vm:sse2-array")
(load "vm:array")
(load "vm:pred")
@@ -343,8 +347,10 @@
(check-move-function-consistency)
-(load "target:compiler/codegen")
-(load "target:compiler/array-tran.lisp")
+;; Aret these necessary?
+;;(load "target:compiler/codegen")
+;;(load "target:compiler/array-tran.lisp")
+
(load "vm:new-genesis")
;;; OK, the cross compiler backend is loaded.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/aa7b0b276fe865275bfbbad…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/aa7b0b276fe865275bfbbad…
You're receiving this email because of your account on gitlab.common-lisp.net.