From: Richard Henderson Date: Wed, 4 Jun 2003 20:06:34 +0000 (-0700) Subject: * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros. X-Git-Tag: releases/gcc-3.4.0~6160 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ccf96814f9910074e07fc708ca70e40d28ce4c4;p=thirdparty%2Fgcc.git * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros. From-SVN: r67461 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fab6e198f90..68bae44f480d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-06-04 Richard Henderson + + * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros. + 2003-06-04 Andrew Pinski * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 65b54ea9050e..6806c7aee9f6 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -14279,16 +14279,20 @@ (set_attr "modrm" "0") (set_attr "ppro_uops" "one")]) -;; UNSPEC_VOLATILE is considered to use and clobber all hard registers and -;; all of memory. This blocks insns from being moved across this point. +;; Align to 16-byte boundary, max skip in op0. Used to avoid +;; branch prediction penalty for the third jump in a 16-byte +;; block on K8. (define_insn "align" [(unspec_volatile [(match_operand 0 "" "")] UNSPECV_ALIGN)] "" { -#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN - return ".p2align\t4,,%c0"; +#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN + ASM_OUTPUT_MAX_SKIP_ALIGN (asm_out_file, 4, INTVAL (operands[0])); +#else + ASM_OUTPUT_ALIGN (asm_out_file, 4); #endif + return ""; } [(set_attr "length" "16")])