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
a4cfb9c2
Commit
a4cfb9c2
authored
Dec 06, 2020
by
Xavier Leroy
Browse files
ARM modeling of registers destroyed by pseudo-instructions
Pflid destroys IR14 Inlined built-in functions destroy IR14
parent
0df99dc4
Changes
2
Hide whitespace changes
Inline
Side-by-side
arm/Asm.v
View file @
a4cfb9c2
...
...
@@ -696,7 +696,7 @@ Definition exec_instr (f: function) (i: instruction) (rs: regset) (m: mem) : out
|
Pfsubd
r1
r2
r3
=>
Next
(
nextinstr
(
rs
#
r1
<-
(
Val
.
subf
rs
#
r2
rs
#
r3
)))
m
|
Pflid
r1
f
=>
Next
(
nextinstr
(
rs
#
r1
<-
(
Vfloat
f
)))
m
Next
(
nextinstr
(
rs
#
IR14
<-
Vundef
#
r1
<-
(
Vfloat
f
)))
m
|
Pfcmpd
r1
r2
=>
Next
(
nextinstr
(
compare_float
rs
rs
#
r1
rs
#
r2
))
m
|
Pfcmpzd
r1
=>
...
...
@@ -923,7 +923,7 @@ Inductive step: state -> trace -> state -> Prop :=
external_call
ef
ge
vargs
m
t
vres
m
'
->
rs
'
=
nextinstr
(
set_res
res
vres
(
undef_regs
(
map
preg_of
(
destroyed_by_builtin
ef
))
rs
))
->
(
undef_regs
(
IR
IR14
::
map
preg_of
(
destroyed_by_builtin
ef
))
rs
))
->
step
(
State
rs
m
)
t
(
State
rs
'
m
'
)
|
exec_step_external
:
forall
b
ef
args
res
rs
m
t
rs
'
m
'
,
...
...
arm/Asmgenproof.v
View file @
a4cfb9c2
...
...
@@ -754,13 +754,15 @@ Opaque loadind.
econstructor
;
eauto
.
instantiate
(
2
:=
tf
);
instantiate
(
1
:=
x
).
unfold
nextinstr
.
rewrite
Pregmap
.
gss
.
rewrite
set_res_other
.
rewrite
undef_regs_other_2
.
rewrite
set_res_other
.
simpl
.
rewrite
undef_regs_other_2
.
rewrite
Pregmap
.
gso
by
auto
with
asmgen
.
rewrite
<-
H1
.
simpl
.
econstructor
;
eauto
.
eapply
code_tail_next_int
;
eauto
.
rewrite
preg_notin_charact
.
intros
.
auto
with
asmgen
.
auto
with
asmgen
.
apply
agree_nextinstr
.
eapply
agree_set_res
;
auto
.
eapply
agree_undef_regs
;
eauto
.
intros
;
apply
undef_regs_other_2
;
auto
.
eapply
agree_undef_regs
;
eauto
.
intros
.
simpl
.
rewrite
undef_regs_other_2
;
auto
.
apply
Pregmap
.
gso
.
auto
with
asmgen
.
congruence
.
-
(
*
Mgoto
*
)
...
...
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