X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_architecture.h;h=b2454309a6332c03c10db5c76b29de02a70fff95;hb=f50c7e78b5a0d95ae8db5234d039487d16e917b1;hp=e6c2efd3e756b841a1359ab1c44bacbec24792ff;hpb=b52cd0d3187a1e1d384c06217d41493413c98fe0;p=libfirm diff --git a/ir/be/ia32/ia32_architecture.h b/ir/be/ia32/ia32_architecture.h index e6c2efd3e..b2454309a 100644 --- a/ir/be/ia32/ia32_architecture.h +++ b/ir/be/ia32/ia32_architecture.h @@ -63,13 +63,23 @@ typedef struct { unsigned use_pxor:1; /** use mov reg, 0 instruction */ unsigned use_mov_0:1; + /** use cwtl/cltd, which are shorter, to sign extend ax/eax */ + unsigned use_short_sex_eax:1; /** pad Ret instructions that are destination of conditional jump or directly preceded by other jump instruction. */ unsigned use_pad_return:1; /** use the bt instruction */ unsigned use_bt:1; - /** use fisttp instruction (requieres SSE3) */ + /** use fisttp instruction (requires SSE3) */ unsigned use_fisttp:1; + /** use SSE prefetch instructions */ + unsigned use_sse_prefetch:1; + /** use 3DNow! prefetch instructions */ + unsigned use_3dnow_prefetch:1; + /** use SSE4.2 or SSE4a popcnt instruction */ + unsigned use_popcnt:1; + /** use i486 instructions */ + unsigned use_i486:1; /** optimize calling convention where possible */ unsigned optimize_cc:1; /** @@ -78,6 +88,9 @@ typedef struct { * rounding mode */ unsigned use_unsafe_floatconv:1; + /** emit machine code instead of assembler */ + unsigned emit_machcode:1; + /** function alignment (a power of two in bytes) */ unsigned function_alignment; /** alignment for labels (which are expected to be frequent jump targets) */