PATCH for IA64 MASK defines
Steve Ellcey
sje@cup.hp.com
Mon Feb 2 21:30:00 GMT 2004
I have been looking to IA64 performance a bit and discovered that we
cannot inline floating point division without also inlining integer
division because we have multiple MASK definitions in config/ia64/ia64.h
with the same value. This patch makes all the MASK values distinct.
Currently:
MASK_INLINE_FLOAT_DIV_LAT == MASK_INLINE_INT_DIV_LAT
MASK_INLINE_FLOAT_DIV_THR == MASK_INLINE_INT_DIV_THR
MASK_INLINE_SQRT_LAT == MASK_EARLY_STOP_BITS
I am still testing but I don't expect any problems. OK to check in
assuming my testing finishes with no problems?
Steve Ellcey
sje@cup.hp.com
2004-02-02 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
(MASK_INLINE_INT_DIV_THR): Ditto.
(MASK_INLINE_SQRT_LAT): Ditto.
(MASK_INLINE_SQRT_THR): Ditto.
(MASK_DWARF2_ASM): Ditto.
(MASK_EARLY_STOP_BITS): Ditto.
*** gcc.orig/gcc/gcc/config/ia64/ia64.h Mon Feb 2 13:19:18 2004
--- gcc/gcc/gcc/config/ia64/ia64.h Mon Feb 2 13:22:07 2004
*************** extern int target_flags;
*** 83,99 ****
#define MASK_INLINE_FLOAT_DIV_THR 0x00001000 /* inline div, max throughput. */
! #define MASK_INLINE_INT_DIV_LAT 0x00000800 /* inline div, min latency. */
! #define MASK_INLINE_INT_DIV_THR 0x00001000 /* inline div, max throughput. */
! #define MASK_INLINE_SQRT_LAT 0x00002000 /* inline sqrt, min latency. */
! #define MASK_INLINE_SQRT_THR 0x00004000 /* inline sqrt, max throughput. */
! #define MASK_DWARF2_ASM 0x40000000 /* test dwarf2 line info via gas. */
! #define MASK_EARLY_STOP_BITS 0x00002000 /* tune stop bits for the model. */
#define TARGET_BIG_ENDIAN (target_flags & MASK_BIG_ENDIAN)
--- 83,99 ----
#define MASK_INLINE_FLOAT_DIV_THR 0x00001000 /* inline div, max throughput. */
! #define MASK_INLINE_INT_DIV_LAT 0x00002000 /* inline div, min latency. */
! #define MASK_INLINE_INT_DIV_THR 0x00004000 /* inline div, max throughput. */
! #define MASK_INLINE_SQRT_LAT 0x00008000 /* inline sqrt, min latency. */
! #define MASK_INLINE_SQRT_THR 0x00010000 /* inline sqrt, max throughput. */
! #define MASK_DWARF2_ASM 0x00020000 /* test dwarf2 line info via gas. */
! #define MASK_EARLY_STOP_BITS 0x00040000 /* tune stop bits for the model. */
#define TARGET_BIG_ENDIAN (target_flags & MASK_BIG_ENDIAN)
More information about the Gcc-patches
mailing list