- removed LV_COMPUTE_SORTED define and associated qsort(): nodes are now always sorte...
[libfirm] / ir / be / ia32 / ia32_spec.pl
index b75a580..0f53511 100644 (file)
@@ -472,10 +472,10 @@ IMul1OP => {
        irn_flags => "R",
        state     => "exc_pinned",
        reg_req   => { in => [ "gp", "gp", "none", "eax", "gp" ],
-                      out => [ "eax", "edx", "none" ] },
+                      out => [ "eax", "flags", "edx", "none" ] },
        ins       => [ "base", "index", "mem", "left", "right" ],
        emit      => '. imul%M %unop4',
-       outs      => [ "res_low", "res_high", "M" ],
+       outs      => [ "res_low", "flags", "res_high", "M" ],
        am        => "source,binary",
        latency   => 5,
        units     => [ "GP" ],
@@ -1802,10 +1802,22 @@ CopyB_i => {
 
 # Conversions
 
+Cwtl => {
+       state     => "exc_pinned",
+       reg_req   => { in => [ "eax" ], out => [ "eax" ] },
+       ins       => [ "val" ],
+       outs      => [ "res" ],
+       emit      => '. cwtl',
+       units     => [ "GP" ],
+       latency   => 1,
+       mode      => $mode_gp,
+},
+
 Conv_I2I => {
        state     => "exc_pinned",
        reg_req   => { in => [ "gp", "gp", "none", "gp" ], out => [ "gp", "none" ] },
        ins       => [ "base", "index", "mem", "val" ],
+       outs      => [ "res", "M" ],
        am        => "source,unary",
        units     => [ "GP" ],
        latency   => 1,