X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_architecture.h;h=89fb4adabd8cda69733f1bb2655bf1e0fe3d6eff;hb=4d808298b72e72bd06c7466e837dd9dda4eb1070;hp=4c448d5efed2fa2d55e95c4bb0478e5583fcde56;hpb=aa83491db2e090125df08dc75e752d9745edeaa7;p=libfirm diff --git a/ir/be/ia32/ia32_architecture.h b/ir/be/ia32/ia32_architecture.h index 4c448d5ef..89fb4adab 100644 --- a/ir/be/ia32/ia32_architecture.h +++ b/ir/be/ia32/ia32_architecture.h @@ -27,6 +27,8 @@ #define FIRM_BE_IA32_ARCHITECTURE_H typedef struct { + /** optimize for size */ + unsigned optimize_size:1; /** use leave in function epilogue */ unsigned use_leave:1; /** use inc, dec instead of add ,1 and add, -1 */ @@ -57,11 +59,17 @@ typedef struct { unsigned use_sub_esp_8:1; /** use imul mem, imm32 instruction (slow on some cpu's */ unsigned use_imul_mem_imm32:1; + /** use pxor instead xorps/xorpd */ + unsigned use_pxor:1; /** use mov reg, 0 instruction */ unsigned use_mov_0:1; - /** pad Ret that are destination of conditional jump or directly preceded + /** pad Ret instructions that are destination of conditional jump or directly preceded by other jump instruction. */ - unsigned use_pad_return; + unsigned use_pad_return:1; + /** use the bt instruction */ + unsigned use_bt:1; + /** use fisttp instruction (requieres SSE3) */ + unsigned use_fisttp:1; /** optimize calling convention where possible */ unsigned optimize_cc:1; /**