align SSE helper constants to 128 bit
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Thu, 6 Sep 2007 18:23:50 +0000 (18:23 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Thu, 6 Sep 2007 18:23:50 +0000 (18:23 +0000)
[r15703]

ir/be/ia32/ia32_transform.c

index 1c9d64e..cf0af8b 100644 (file)
@@ -407,6 +407,9 @@ ir_entity *ia32_gen_fp_known_const(ia32_known_const_t kct) {
                //mode = mode_xmm;
                tv  = new_tarval_from_str(cnst_str, strlen(cnst_str), mode);
                tp  = new_type_primitive(new_id_from_str(tp_name), mode);
+               /* these constants are loaded as part of an instruction, so they must be aligned
+                  to 128 bit. */
+               set_type_alignment_bytes(tp, 16);
                ent = new_entity(get_glob_type(), new_id_from_str(ent_name), tp);
 
                set_entity_ld_ident(ent, get_entity_ident(ent));