bearch: remove arch_register_type_joker.
[libfirm] / ir / be / ia32 / ia32_architecture.h
index 84c0938..c96eaac 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief       ia32 architecture variants
  * @author      Michael Beck, Matthias Braun
- * @version     $Id: bearch_ia32_t.h 16363 2007-10-25 23:27:07Z beck $
  */
 #ifndef FIRM_BE_IA32_ARCHITECTURE_H
 #define FIRM_BE_IA32_ARCHITECTURE_H
@@ -33,12 +32,12 @@ typedef struct {
        unsigned use_leave:1;
        /** use inc, dec instead of add $1, reg and add $-1, reg */
        unsigned use_incdec:1;
+       /** use soft float library */
+       unsigned use_softfloat:1;
        /** use sse2 instructions (instead of x87) */
        unsigned use_sse2:1;
        /** use ffreep instead of fpop */
        unsigned use_ffreep:1;
-       /** use ftst where possible */
-       unsigned use_ftst:1;
        /** use femms to pop all float registers */
        unsigned use_femms:1;
        /** use emms to pop all float registers */
@@ -79,7 +78,7 @@ typedef struct {
        /** use SSE4.2 or SSE4a popcnt instruction */
        unsigned use_popcnt:1;
        /** use i486 instructions */
-       unsigned use_i486:1;
+       unsigned use_bswap:1;
        /** optimize calling convention where possible */
        unsigned optimize_cc:1;
        /**
@@ -104,6 +103,14 @@ typedef struct {
 
 extern ia32_code_gen_config_t  ia32_cg_config;
 
+typedef enum ia32_fp_architectures {
+       IA32_FPU_ARCH_NONE      = 0,
+       IA32_FPU_ARCH_X87       = 0x00000001,
+       IA32_FPU_ARCH_SSE2      = 0x00000002,
+       IA32_FPU_ARCH_SOFTFLOAT = 0x00000004,
+}
+ia32_fp_architectures;
+
 /** Initialize the ia32 architecture module. */
 void ia32_init_architecture(void);