projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
dd773fe
)
vfnodes supporting addressmode did not keep to res, flags, M standards for outputs
author
Matthias Braun
<matze@braunis.de>
Wed, 25 Nov 2009 17:37:18 +0000
(17:37 +0000)
committer
Matthias Braun
<matze@braunis.de>
Wed, 25 Nov 2009 17:37:18 +0000
(17:37 +0000)
[r26742]
ir/be/ia32/ia32_spec.pl
patch
|
blob
|
history
diff --git
a/ir/be/ia32/ia32_spec.pl
b/ir/be/ia32/ia32_spec.pl
index
5c0ba3f
..
9d88e8f
100644
(file)
--- a/
ir/be/ia32/ia32_spec.pl
+++ b/
ir/be/ia32/ia32_spec.pl
@@
-2128,8
+2128,10
@@
Conv_FP2FP => {
vfadd => {
# irn_flags => "R",
state => "exc_pinned",
vfadd => {
# irn_flags => "R",
state => "exc_pinned",
- reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ], out => [ "vfp" ] },
+ reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ],
+ out => [ "vfp", "none", "none" ] },
ins => [ "base", "index", "mem", "left", "right", "fpcw" ],
ins => [ "base", "index", "mem", "left", "right", "fpcw" ],
+ outs => [ "res", "dummy", "M" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
@@
-2140,8
+2142,10
@@
vfadd => {
vfmul => {
# irn_flags => "R",
state => "exc_pinned",
vfmul => {
# irn_flags => "R",
state => "exc_pinned",
- reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ], out => [ "vfp" ] },
+ reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ],
+ out => [ "vfp", "none", "none" ] },
ins => [ "base", "index", "mem", "left", "right", "fpcw" ],
ins => [ "base", "index", "mem", "left", "right", "fpcw" ],
+ outs => [ "res", "dummy", "M" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
@@
-2152,8
+2156,10
@@
vfmul => {
vfsub => {
# irn_flags => "R",
state => "exc_pinned",
vfsub => {
# irn_flags => "R",
state => "exc_pinned",
- reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ], out => [ "vfp" ] },
+ reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ],
+ out => [ "vfp", "none", "none" ] },
ins => [ "base", "index", "mem", "minuend", "subtrahend", "fpcw" ],
ins => [ "base", "index", "mem", "minuend", "subtrahend", "fpcw" ],
+ outs => [ "res", "dummy", "M" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
am => "source,binary",
latency => 4,
units => [ "VFP" ],
@@
-2163,10
+2169,11
@@
vfsub => {
vfdiv => {
state => "exc_pinned",
vfdiv => {
state => "exc_pinned",
- reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ], out => [ "vfp", "none" ] },
+ reg_req => { in => [ "gp", "gp", "none", "vfp", "vfp", "fpcw" ],
+ out => [ "vfp", "none", "none" ] },
ins => [ "base", "index", "mem", "dividend", "divisor", "fpcw" ],
ins => [ "base", "index", "mem", "dividend", "divisor", "fpcw" ],
+ outs => [ "res", "dummy", "M" ],
am => "source,binary",
am => "source,binary",
- outs => [ "res", "M" ],
latency => 20,
units => [ "VFP" ],
attr_type => "ia32_x87_attr_t",
latency => 20,
units => [ "VFP" ],
attr_type => "ia32_x87_attr_t",