+ # We can have IN requirements like "out_d1"
+ # and for those we need the associated register class
+ # That's why we have to check all out requirements first
+ # and remember their classes.
+ my @outidx_class;
+ if (exists($n{"reg_req"}{"out"})) {
+ my @out = @{ $n{"reg_req"}{"out"} };
+
+ for (my $idx = 0; $idx <= $#out; $idx++) {
+ my $class = undef;
+
+ if ($out[$idx] eq "none") {
+ $class = "none";
+ }
+ elsif (is_reg_class($out[$idx])) {
+ $class = $out[$idx];
+ }
+ elsif ($out[$idx] =~ /^(!)?in_s(\d+)/) {
+ $class = "UNKNOWN_CLASS";
+ }
+ else {
+ my @regs = split(/ /, $out[$idx]);
+ $class = get_reg_class($regs[0]);
+ if (!defined $class) {
+ die("Could not get register class for '$op' pos $idx ... exiting.\n");
+ }
+ }
+
+ push(@outidx_class, $class);
+ }
+ }
+
+