Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
CertiCompil
CompCert-KVX
Commits
9c9d516b
Commit
9c9d516b
authored
Feb 18, 2021
by
Léo Gourdin
Browse files
Proof of Ocmp expansions without immediate and some drafts in comment
parent
1e06ebb8
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
riscV/Asmgenproof1.v
View file @
9c9d516b
...
...
@@ -377,7 +377,7 @@ Proof.
rewrite
<-
Float32
.
cmp_swap
.
auto
.
Qed
.
(
*
TODO
UNUSUED
?
Remark
branch_on_X31
:
(
*
TODO
gourdinl
UNUSUED
?
Remark
branch_on_X31
:
forall
normal
lbl
(
rs
:
regset
)
m
b
,
rs
#
X31
=
Val
.
of_bool
(
eqb
normal
b
)
->
exec_instr
ge
fn
(
if
normal
then
Pbnew
X31
X0
lbl
else
Pbeqw
X31
X0
lbl
)
rs
m
=
...
...
riscV/ExpansionOracle.ml
View file @
9c9d516b
...
...
@@ -327,7 +327,7 @@ let expanse_cbranch_fp cnot fn_cond cmp f1 f2 info succ1 succ2 k =
insn
::
(
if
normal'
then
Icond
(
CEbnew
(
Some
false
)
,
[
r2p
()
;
r2p
()
]
,
succ1
,
succ2
,
info
)
else
Icond
(
CEbeqw
(
Some
false
)
,
[
r2p
()
;
r2p
()
]
,
succ1
,
succ2
,
info
))
(* TODO Maybe incorrect *)
else
Icond
(
CEbeqw
(
Some
false
)
,
[
r2p
()
;
r2p
()
]
,
succ1
,
succ2
,
info
))
(* TODO
gourdinl
Maybe incorrect *)
::
k
let
get_regindent
=
function
Coq_inr
_
->
[]
|
Coq_inl
r
->
[
r
]
...
...
@@ -392,14 +392,14 @@ let expanse (sb : superblock) code pm =
debug
"Iop/Ccompu
\n
"
;
exp
:=
cond_int32u
false
c
a1
a2
dest
succ
[]
;
was_exp
:=
true
(*
| Iop (Ocmp (Ccompimm (c, imm)), a1 :: nil, dest, succ) ->
|
Iop
(
Ocmp
(
Ccompimm
(
c
,
imm
))
,
a1
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccompimm
\n
"
;
exp
:=
expanse_condimm_int32s
c
a1
imm
dest
succ
[]
;
was_exp
:=
true
|
Iop
(
Ocmp
(
Ccompuimm
(
c
,
imm
))
,
a1
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccompuimm
\n
"
;
exp
:=
expanse_condimm_int32u
c
a1
imm
dest
succ
[]
;
was_exp := true
*)
was_exp
:=
true
|
Iop
(
Ocmp
(
Ccompl
c
)
,
a1
::
a2
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccompl
\n
"
;
exp
:=
cond_int64s
false
c
a1
a2
dest
succ
[]
;
...
...
@@ -408,14 +408,14 @@ let expanse (sb : superblock) code pm =
debug
"Iop/Ccomplu
\n
"
;
exp
:=
cond_int64u
false
c
a1
a2
dest
succ
[]
;
was_exp
:=
true
(*
| Iop (Ocmp (Ccomplimm (c, imm)), a1 :: nil, dest, succ) ->
|
Iop
(
Ocmp
(
Ccomplimm
(
c
,
imm
))
,
a1
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccomplimm
\n
"
;
exp
:=
expanse_condimm_int64s
c
a1
imm
dest
succ
[]
;
was_exp
:=
true
|
Iop
(
Ocmp
(
Ccompluimm
(
c
,
imm
))
,
a1
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccompluimm
\n
"
;
exp
:=
expanse_condimm_int64u
c
a1
imm
dest
succ
[]
;
was_exp := true
*)
was_exp
:=
true
|
Iop
(
Ocmp
(
Ccompf
c
)
,
f1
::
f2
::
nil
,
dest
,
succ
)
->
debug
"Iop/Ccompf
\n
"
;
exp
:=
expanse_cond_fp
false
cond_float
c
f1
f2
dest
succ
[]
;
...
...
scheduling/RTLpathSE_impl.v
View file @
9c9d516b
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment