diff options
author | Richard Henderson <rth@redhat.com> | 2003-06-04 13:06:34 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-06-04 13:06:34 -0700 |
commit | 9ccf96814f9910074e07fc708ca70e40d28ce4c4 (patch) | |
tree | 0f962b6901cac414657365f50cbff910670a4f6b /gcc/config | |
parent | 9dce39a4e3b4b670e60d4aacea578f3967d26b02 (diff) | |
download | gcc-9ccf96814f9910074e07fc708ca70e40d28ce4c4.zip gcc-9ccf96814f9910074e07fc708ca70e40d28ce4c4.tar.gz gcc-9ccf96814f9910074e07fc708ca70e40d28ce4c4.tar.bz2 |
* config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
From-SVN: r67461
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.md | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 65b54ea..6806c7a 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")]) |