allow conversion of reference tarvals to mode_Iu
authorMatthias Braun <matze@braunis.de>
Mon, 14 May 2007 10:52:42 +0000 (10:52 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 14 May 2007 10:52:42 +0000 (10:52 +0000)
[r13853]

ir/tv/tv.c

index 08750fe..6d89671 100644 (file)
@@ -899,6 +899,16 @@ tarval *tarval_convert_to(tarval *src, ir_mode *m) {
                break;
 
        case irms_reference:
+               switch(get_mode_sort(m)) {
+               case irms_int_number:
+                       buffer = alloca(sc_get_buffer_length());
+                       memcpy(buffer, src->value, sc_get_buffer_length());
+                       sign_extend(buffer, src->mode);
+                       return get_tarval_overflow(buffer, src->length, m);
+               default:
+                       break;
+               }
+
                break;
        }