OSDN Git Service

* config/i386/i386.md (absneg): New code iterator.
[pf3gnuchains/gcc-fork.git] / gcc / config / i386 / i386.h
index 98cb72a..bb6fa18 100644 (file)
@@ -395,6 +395,8 @@ extern int x86_prefetch_sse;
 #define TARGET_SAHF            x86_sahf
 #define TARGET_RECIP           x86_recip
 #define TARGET_FUSED_MADD      x86_fused_muladd
+#define TARGET_AES             (TARGET_SSE2 && x86_aes)
+#define TARGET_PCLMUL          (TARGET_SSE2 && x86_pclmul)
 
 #define ASSEMBLER_DIALECT      (ix86_asm_dialect)
 
@@ -683,6 +685,10 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
        builtin_define ("__SSE4_1__");                          \
       if (TARGET_SSE4_2)                                       \
        builtin_define ("__SSE4_2__");                          \
+      if (TARGET_AES)                                          \
+       builtin_define ("__AES__");                             \
+      if (TARGET_PCLMUL)                                       \
+       builtin_define ("__PCLMUL__");                          \
       if (TARGET_SSE4A)                                                \
        builtin_define ("__SSE4A__");                           \
       if (TARGET_SSE5)                                         \
@@ -1234,7 +1240,7 @@ do {                                                                      \
 /* Register in which static-chain is passed to a function.
    We do use ECX as static chain register for 32 bit ABI.  On the
    64bit ABI, ECX is an argument register, so we use R10 instead.  */
-#define STATIC_CHAIN_REGNUM (TARGET_64BIT ? FIRST_REX_INT_REG + 10 - 8 : 2)
+#define STATIC_CHAIN_REGNUM (TARGET_64BIT ? R10_REG : CX_REG)
 
 /* Register to hold the addressing base for position independent
    code access to data items.  We don't use PIC pointer for 64bit
@@ -1597,7 +1603,7 @@ enum reg_class
 
 /* If defined, the maximum amount of space required for outgoing arguments will
    be computed and placed into the variable
-   `current_function_outgoing_args_size'.  No space will be pushed onto the
+   `crtl->outgoing_args_size'.  No space will be pushed onto the
    stack for each call; instead, the function prologue should increase the stack
    frame size by this amount.  */