CakeML:194173c631e462b507edcadc2f3a78deeead7cd8
Compile reg zeroing to self-xor on x64
#1272 (xor-eax-eax)
Merging into:f83f947d7a224f726fdc114a5177e61b4908265b
Merge pull request #1270 from CakeML/new-prims
HOL:f02a261b181e0408a16745877f3feb8f1b8c1cb6
Modernise syntax in milawa_proofp
Machine:pavlova
Claimed job
Building HOL
Starting developers
Finished developers 3s 214MB
Starting developers/bin
Finished developers/bin 3s 91MB
Starting misc
Finished misc 48s 1GB
Starting compiler/proofs
Finished compiler/proofs 58m48s 11GB
Starting compiler/bootstrap/compilation/x64/64/proofs
FAILED: compiler/bootstrap/compilation/x64/64/proofs
Scanning $(HOLDIR)/src/bag
Scanning $(HOLDIR)/src/sort
Scanning $(HOLDIR)/src/string
Scanning $(HOLDIR)/src/n-bit
Scanning $(HOLDIR)/src/res_quan/src
Scanning $(HOLDIR)/src/finite_maps
Scanning $(HOLDIR)/src/integer
Scanning $(HOLDIR)/src/transfer
Scanning $(HOLDIR)/src/pred_set/src/more_theories
Scanning $(HOLDIR)/src/algebra/base
Scanning $(HOLDIR)/src/algebra/construction
Scanning $(HOLDIR)/src/algebra
Scanning $(HOLDIR)/src/hol88
Scanning $(HOLDIR)/src/rational
Scanning $(HOLDIR)/src/real
Scanning $(HOLDIR)/examples/data-structures/balanced_bst
Scanning $(HOLDIR)/examples/formal-languages
Scanning $(HOLDIR)/examples/formal-languages/context-free
Scanning $(HOLDIR)/src/search
Scanning $(HOLDIR)/examples/formal-languages/regular
Scanning $(HOLDIR)/examples/machine-code/hoare-triple
Scanning $(HOLDIR)/src/coalgebras
Scanning $(HOLDIR)/examples/pl-semantics/lprefix_lub
Scanning $(CAKEMLDIR)/developers
Scanning $(CAKEMLDIR)/misc
Scanning $(CAKEMLDIR)/semantics/ffi
Scanning $(CAKEMLDIR)/semantics
Scanning $(CAKEMLDIR)/basis/pure
Scanning $(CAKEMLDIR)/semantics/proofs
Scanning $(CAKEMLDIR)/compiler/parsing
Scanning $(CAKEMLDIR)/translator
Scanning $(CAKEMLDIR)/characteristic
Scanning $(CAKEMLDIR)/translator/monadic/monad_base
Scanning $(CAKEMLDIR)/translator/monadic
Scanning $(CAKEMLDIR)/basis
Scanning $(CAKEMLDIR)/candle/standard/ml_kernel/lisp
Scanning $(CAKEMLDIR)/candle/syntax-lib
Scanning $(CAKEMLDIR)/candle/standard/syntax
Scanning $(CAKEMLDIR)/candle/standard/monadic
Scanning $(CAKEMLDIR)/candle/standard/ml_kernel
Scanning $(CAKEMLDIR)/candle/set-theory
Scanning $(CAKEMLDIR)/candle/standard/semantics
Scanning $(CAKEMLDIR)/candle/prover/compute
Scanning $(CAKEMLDIR)/candle/prover
Scanning $(HOLDIR)/examples/algorithms
Scanning $(HOLDIR)/examples/machine-code/multiword
Scanning $(CAKEMLDIR)/compiler/backend/pattern_matching
Scanning $(CAKEMLDIR)/unverified/reg_alloc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc
Scanning $(HOLDIR)/src/floating-point
Scanning $(HOLDIR)/src/monad/more_monads
Scanning $(HOLDIR)/src/update
Scanning $(HOLDIR)/examples/l3-machine-code/common
Scanning $(CAKEMLDIR)/compiler/encoders/asm
Scanning $(CAKEMLDIR)/compiler/backend
Scanning $(CAKEMLDIR)/compiler/backend/gc
Scanning $(CAKEMLDIR)/compiler/backend/reg_alloc/proofs
Scanning $(CAKEMLDIR)/semantics/alt_semantics
Scanning $(CAKEMLDIR)/semantics/alt_semantics/proofs
Scanning $(CAKEMLDIR)/compiler/backend/semantics
Scanning $(CAKEMLDIR)/compiler/backend/proofs
Scanning $(HOLDIR)/examples/l3-machine-code/lib
Scanning $(HOLDIR)/examples/l3-machine-code/x64/model
Scanning $(HOLDIR)/examples/machine-code/decompiler
Scanning $(HOLDIR)/examples/l3-machine-code
Scanning $(HOLDIR)/examples/l3-machine-code/x64/step
Scanning $(CAKEMLDIR)/compiler/encoders/x64
Scanning $(CAKEMLDIR)/compiler/backend/x64
Scanning $(HOLDIR)/examples/l3-machine-code/x64/prog
Scanning $(CAKEMLDIR)/compiler/encoders/x64/proofs
Scanning $(CAKEMLDIR)/compiler/backend/x64/proofs
Scanning $(CAKEMLDIR)/compiler/encoders/ag32
Scanning $(CAKEMLDIR)/compiler/backend/ag32
Scanning $(HOLDIR)/examples/l3-machine-code/arm/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm7
Scanning $(CAKEMLDIR)/compiler/backend/arm7
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/model
Scanning $(HOLDIR)/examples/l3-machine-code/arm8/step
Scanning $(CAKEMLDIR)/compiler/encoders/arm8
Scanning $(CAKEMLDIR)/compiler/backend/arm8
Scanning $(HOLDIR)/examples/l3-machine-code/mips/model
Scanning $(HOLDIR)/examples/l3-machine-code/mips/step
Scanning $(CAKEMLDIR)/compiler/encoders/mips
Scanning $(CAKEMLDIR)/compiler/backend/mips
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/model
Scanning $(HOLDIR)/examples/l3-machine-code/riscv/step
Scanning $(CAKEMLDIR)/compiler/encoders/riscv
Scanning $(CAKEMLDIR)/compiler/backend/riscv
Scanning $(HOLDIR)/examples/algorithms/unification/triangular
Scanning $(HOLDIR)/src/transfer/examples
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order
Scanning $(HOLDIR)/examples/algorithms/unification/triangular/first-order/compilation
Scanning $(CAKEMLDIR)/compiler/inference
Scanning $(CAKEMLDIR)/pancake
Scanning $(CAKEMLDIR)/pancake/parser
Scanning $(CAKEMLDIR)/compiler
Scanning $(CAKEMLDIR)/compiler/backend/serialiser
Scanning $(CAKEMLDIR)/compiler/encoders/monadic_enc
Scanning $(CAKEMLDIR)/compiler/parsing/ocaml
Scanning $(CAKEMLDIR)/compiler/inference/proofs
Scanning $(CAKEMLDIR)/compiler/printing
Scanning $(CAKEMLDIR)/compiler/repl
Scanning $(CAKEMLDIR)/compiler/bootstrap/translation
Scanning $(HOLDIR)/src/num/theories/cv_compute/automation
Scanning $(HOLDIR)/examples/bootstrap
Scanning $(CAKEMLDIR)/compiler/backend/cv_compute
Scanning $(CAKEMLDIR)/cv_translator
Scanning $(CAKEMLDIR)/unverified/sexpr-bootstrap
Scanning $(CAKEMLDIR)/compiler/bootstrap/compilation/x64/64
Scanned 112 directories
Starting work on precparserTheory
Starting work on basis_cvTheory
Starting work on ml_monadStoreTheory
Starting work on lisp_valuesTheory
precparserTheory examples/formal-languages/context-free (0s) OK
Finished $(HOLDIR)/examples/formal-languages/context-free [#theories: 1] (0.800s)
Starting work on holSyntaxLibTheory
lisp_valuesTheory candle/standard/ml_kernel/lisp (1s) OK
Starting work on lisp_parsingTheory
lisp_parsingTheory candle/standard/ml_kernel/lisp (1s) OK
Starting work on lisp_printingTheory
lisp_printingTheory candle/standard/ml_kernel/lisp (1s) OK
Starting work on lisp_parsing_proofsTheory
basis_cvTheory basis/pure (5s) OK
Finished $(CAKEMLDIR)/basis/pure [#theories: 1] (5.120s)
Starting work on ast_extrasTheory
lisp_parsing_proofsTheory candle/standard/ml_kernel/lisp (3s) OK
Finished $(CAKEMLDIR)/candle/standard/ml_kernel/lisp [#theories: 4] (7.940s)
Finished $(CAKEMLDIR)/unverified/reg_alloc (0.000s)
Finished $(CAKEMLDIR)/compiler/backend/reg_alloc (0.000s)
Finished $(HOLDIR)/examples/l3-machine-code/x64/step (0.000s)
Starting work on x64_targetProofTheory
holSyntaxLibTheory candle/syntax-lib (10s) OK
Finished $(CAKEMLDIR)/candle/syntax-lib [#theories: 1] (10.840s)
Starting work on holSyntaxTheory
ast_extrasTheory candle/prover (11s) OK
Starting work on permsTheory
ml_monadStoreTheory translator/monadic (17s) OK
Finished $(CAKEMLDIR)/translator/monadic [#theories: 1] (17.160s)
Starting work on unify_cvTheory
holSyntaxTheory candle/standard/syntax (18s) OK
Starting work on holSyntaxExtraTheory
unify_cvTheory compiler/inference (14s) OK
Starting work on infer_cvTheory
permsTheory candle/prover (45s) OK
Starting work on num_list_enc_decTheory
holSyntaxExtraTheory candle/standard/syntax (34s) OK
Starting work on holBoolSyntaxTheory
num_list_enc_decTheory compiler/backend/serialiser (19s) OK
Starting work on holKernelTheory
infer_cvTheory compiler/inference (55s) OK
Finished $(CAKEMLDIR)/compiler/inference [#theories: 2] (70.800s)
Starting work on num_tree_enc_decTheory
holBoolSyntaxTheory candle/standard/syntax (26s) OK
Starting work on holAxiomsSyntaxTheory
num_tree_enc_decTheory compiler/backend/serialiser (14s) OK
Starting work on backend_enc_decTheory
holAxiomsSyntaxTheory candle/standard/syntax (15s) OK
Finished $(CAKEMLDIR)/candle/standard/syntax [#theories: 4] (94.720s)
Starting work on monadic_encTheory
holKernelTheory candle/standard/monadic (27s) OK
Starting work on holKernelPmatchTheory
monadic_encTheory compiler/encoders/monadic_enc (11s) OK
Starting work on holKernelProofTheory
holKernelPmatchTheory candle/standard/monadic (17s) OK
Starting work on runtime_checkTheory
runtime_checkTheory candle/standard/ml_kernel (14s) OK
Starting work on ml_hol_kernel_funsProgTheory
backend_enc_decTheory compiler/backend/serialiser (52s) OK
Starting work on print_thmTheory
print_thmTheory candle/standard/ml_kernel (12s) OK
Finished $(CAKEMLDIR)/compiler/backend/serialiser [#theories: 3] (87.150s)
Starting work on monadic_enc64Theory
holKernelProofTheory candle/standard/monadic (51s) OK
Finished $(CAKEMLDIR)/candle/standard/monadic [#theories: 3] (97.660s)
Starting work on compute_syntaxTheory
monadic_enc64Theory compiler/encoders/monadic_enc (15s) OK
Finished $(CAKEMLDIR)/compiler/encoders/monadic_enc [#theories: 2] (26.350s)
Starting work on caml_lexTheory
compute_syntaxTheory candle/prover/compute (20s) OK
Starting work on compute_evalTheory
compute_evalTheory candle/prover/compute (18s) OK
Starting work on compute_execTheory
compute_execTheory candle/prover/compute (15s) OK
Starting work on computeTheory
computeTheory candle/prover/compute (13s) OK
Starting work on compute_syntaxProofTheory
compute_syntaxProofTheory candle/prover/compute (83s) OK
Starting work on compute_evalProofTheory
caml_lexTheory compiler/parsing/ocaml(133s) OK
Starting work on compute_pmatchTheory
ml_hol_kernel_funsProgTheory candle/standard/ml_kernel(199s) OK
Finished $(CAKEMLDIR)/candle/standard/ml_kernel [#theories: 3] (227.260s)
Starting work on camlPEGTheory
compute_pmatchTheory candle/prover/compute (16s) OK
Starting work on candle_kernelProgTheory
compute_evalProofTheory candle/prover/compute (67s) OK
Starting work on compute_execProofTheory
compute_execProofTheory candle/prover/compute (13s) OK
Starting work on computeProofTheory
camlPEGTheory compiler/parsing/ocaml(104s) OK
Starting work on camlPtreeConversionTheory
computeProofTheory candle/prover/compute (40s) OK
Finished $(CAKEMLDIR)/candle/prover/compute [#theories: 9] (289.700s)
Starting work on addPrintValsTheory
addPrintValsTheory compiler/printing (10s) OK
Starting work on addTypePPTheory
addTypePPTheory compiler/printing (6s) OK
Starting work on printTweaksTheory
candle_kernelProgTheory candle/prover(127s) OK
Starting work on candle_kernel_valsTheory
printTweaksTheory compiler/printing (9s) OK
Finished $(CAKEMLDIR)/compiler/printing [#theories: 3] (25.700s)
Starting work on evaluate_skipTheory
camlPtreeConversionTheory compiler/parsing/ocaml (50s) OK
Starting work on caml_parserTheory
caml_parserTheory compiler/parsing/ocaml (12s) OK
Finished $(CAKEMLDIR)/compiler/parsing/ocaml [#theories: 4] (301.300s)
Starting work on repl_moduleProgTheory
x64_targetProofTheory compiler/encoders/x64/proofs(539s) OK
Finished $(CAKEMLDIR)/compiler/encoders/x64/proofs [#theories: 1] (539.580s)
Starting work on x64_configProofTheory
x64_configProofTheory compiler/backend/x64/proofs (24s) OK
Finished $(CAKEMLDIR)/compiler/backend/x64/proofs [#theories: 1] (24.670s)
Starting work on backend_asmTheory
candle_kernel_valsTheory candle/prover (85s) OK
Starting work on candle_prover_invTheory
evaluate_skipTheory compiler/repl (91s) OK
Starting work on evaluate_initTheory
backend_asmTheory compiler/backend/cv_compute (22s) OK
Starting work on backend_arm8Theory
candle_prover_invTheory candle/prover (27s) OK
Starting work on candle_kernel_permsTheory
backend_arm8Theory compiler/backend/cv_compute (16s) OK
Starting work on repl_decs_allowedTheory
repl_moduleProgTheory compiler/repl (89s) OK
Starting work on repl_init_envProgTheory
repl_decs_allowedTheory compiler/repl (25s) OK
Starting work on repl_check_and_tweakTheory
evaluate_initTheory compiler/repl (90s) OK
Starting work on backend_x64Theory
repl_init_envProgTheory compiler/repl (43s) OK
Starting work on decProgTheory
repl_check_and_tweakTheory compiler/repl (38s) OK
Starting work on repl_init_typesTheory
backend_x64Theory compiler/backend/cv_compute (17s) OK
Starting work on repl_typesTheory
repl_init_typesTheory compiler/repl (58s) OK
Finished $(CAKEMLDIR)/compiler/backend/cv_compute [#theories: 3] (56.980s)
Starting work on to_data_cvTheory
candle_kernel_permsTheory candle/prover(149s) OK
Starting work on candle_kernel_funsTheory
repl_typesTheory compiler/repl (62s) OK
Starting work on repl_initTheory
candle_kernel_funsTheory candle/prover (63s) OK
Starting work on candle_prover_evaluateTheory
decProgTheory compiler/bootstrap/translation(142s) OK
Starting work on to_flatProgTheory
repl_initTheory compiler/repl (86s) OK
Finished $(CAKEMLDIR)/compiler/repl [#theories: 9] (585.530s)
Starting work on README.md
README.md compiler/bootstrap/compilation/x64/64/proofs (0s) OK
candle_prover_evaluateTheory candle/prover (61s) OK
Starting work on candle_basis_evaluateTheory
candle_basis_evaluateTheory candle/prover (34s) OK
Starting work on candle_prover_semanticsTheory
candle_prover_semanticsTheory candle/prover (86s) OK
Finished $(CAKEMLDIR)/candle/prover [#theories: 10] (691.400s)
to_flatProgTheory compiler/bootstrap/translation(286s) OK
Starting work on to_closProgTheory
to_data_cvTheory cv_translator(390s) OK
Starting work on backend_cvTheory
backend_cvTheory cv_translator(204s) OK
Starting work on backend_64_cvTheory
to_closProgTheory compiler/bootstrap/translation(400s) OK
Starting work on to_bvlProgTheory
backend_64_cvTheory cv_translator(179s) OK
Starting work on backend_arm8_cvTheory
Starting work on backend_x64_cvTheory
backend_x64_cvTheory cv_translator(132s) OK
backend_arm8_cvTheory cv_translator(147s) OK
Starting work on cake_compile_heap
cake_compile_heap cv_translator (73s) OK
Finished $(CAKEMLDIR)/cv_translator [#theories: 5] (1128.200s)
to_bvlProgTheory compiler/bootstrap/translation(278s) OK
Starting work on to_bviProgTheory
to_bviProgTheory compiler/bootstrap/translation(234s) OK
Starting work on to_dataProgTheory
to_dataProgTheory compiler/bootstrap/translation(163s) OK
Starting work on lexerProgTheory
lexerProgTheory compiler/bootstrap/translation(168s) OK
Starting work on parserProgTheory
parserProgTheory compiler/bootstrap/translation(456s) OK
Starting work on caml_lexProgTheory
caml_lexProgTheory compiler/bootstrap/translation(375s) OK
Starting work on caml_parserProgTheory
caml_parserProgTheory compiler/bootstrap/translation (19m) OK
Starting work on pancake_lexProgTheory
pancake_lexProgTheory compiler/bootstrap/translation(158s) OK
Starting work on pancake_parseProgTheory
pancake_parseProgTheory compiler/bootstrap/translation(176s) OK
Starting work on reg_allocProgTheory
reg_allocProgTheory compiler/bootstrap/translation(962s) OK
Starting work on inferProgTheory
inferProgTheory compiler/bootstrap/translation (19m) OK
Starting work on explorerProgTheory
explorerProgTheory compiler/bootstrap/translation(414s) OK
Starting work on decodeProgTheory
decodeProgTheory compiler/bootstrap/translation(306s) OK
Starting work on sexp_parserProgTheory
sexp_parserProgTheory compiler/bootstrap/translation(263s) OK
Starting work on basis_defProgTheory
basis_defProgTheory compiler/bootstrap/translation(505s) OK
Starting work on printingProgTheory
printingProgTheory compiler/bootstrap/translation(195s) OK
Starting work on to_word64ProgTheory
to_word64ProgTheory compiler/bootstrap/translation (20m) OK
Starting work on to_target64ProgTheory
to_target64ProgTheory compiler/bootstrap/translation(780s) OK
Starting work on from_pancake64ProgTheory
from_pancake64ProgTheory compiler/bootstrap/translation(924s) OK
Starting work on x64ProgTheory
x64ProgTheory compiler/bootstrap/translation(556s)FAIL<1>
ADD<x64Prog$X64_INSTRUCTION_TYPE_def>
invalidated by NewBinding("X64_INSTRUCTION_TYPE_def", {private=false,loc=Unknown,class=Thm})>>
Saved theorem _______ "X64_INSTRUCTION_TYPE_def"
Attempting proof of: EqualityType X64_INSTRUCTION_TYPE
.. done EqualityType proof.
Adding type :instruction to module x64Prog.
Saved theorem _______ "nsLookup_x64Prog_env_15_pfun_eqs"
<<HOL message: mk_functional:
pattern completion has added 1 clause to the original specification.>>
<<HOL warning: ThmSetData.revise_data:
Theorems in set "compute":
ADD<x64Prog$generated_definition_def>
invalidated by DelConstant(x64Prog$generated_definition)>>
Translating num2zreg
Adding nsLookup representation thms for [x64Prog_env_15]
Saved theorem _______ "nsLookup_x64Prog_env_16_pfun_eqs"
WARNING: num2zreg has a precondition.
Saved theorem _______ "num2zreg_v_thm"
Translating total_num2zreg
Adding nsLookup representation thms for [x64Prog_env_16]
Saved theorem _______ "nsLookup_x64Prog_env_17_pfun_eqs"
WARNING: total_num2zreg has a precondition.
Saved theorem _______ "total_num2zreg_v_thm"
Translating list_bind
Adding nsLookup representation thms for [x64Prog_env_17]
Saved theorem _______ "nsLookup_x64Prog_env_18_pfun_eqs"
Saved theorem _______ "list_bind_v_thm"
<<HOL warning: ThmSetData.revise_data:
Theorems in set "compute":
ADD<x64Prog$generated_definition_def>
invalidated by DelConstant(x64Prog$generated_definition)>>
<<HOL warning: ThmSetData.revise_data:
Theorems in set "compute":
ADD<x64Prog$generated_definition_def>
invalidated by DelConstant(x64Prog$generated_definition)>>
Failed translation: word_extract
Failed translation: e_imm32
Failed translation: e_ModRM
Failed translation: e_gen_rm_reg
Failed translation: encode_sse
Failed translation: encode
Failed translation: x64_encode
Failed translation: x64_enc_Const
error in quse /scratch/cakeml/regression/cakeml-3061/compiler/bootstrap/translation/x64ProgScript.sml : UnsupportedType ?
error in load /scratch/cakeml/regression/cakeml-3061/compiler/bootstrap/translation/x64ProgScript : UnsupportedType ?
Uncaught exception at /scratch/cakeml/regression/cakeml-3061/translator/ml_translatorLib.sml:4513: UnsupportedType ?
Full log: /scratch/cakeml/regression/cakeml-3061/compiler/bootstrap/translation/.hol/logs/x64ProgTheory