This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH for IA64 MASK defines
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 2 Feb 2004 13:30:14 -0800 (PST)
- Subject: PATCH for IA64 MASK defines
- Reply-to: sje at cup dot hp dot com
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)