diff options
author | Stan Cox <coxs@gnu.org> | 1996-06-09 02:13:52 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1996-06-09 02:13:52 +0000 |
commit | 2d49677f9c86b2daf35e3cef2e3ff4635fb15dfc (patch) | |
tree | 938c77512e178e5c45ec4310a95eb947656ddaa1 | |
parent | d9118e7b3a36b50ffe51c24b04417d43df0c39c4 (diff) | |
download | gcc-2d49677f9c86b2daf35e3cef2e3ff4635fb15dfc.zip gcc-2d49677f9c86b2daf35e3cef2e3ff4635fb15dfc.tar.gz gcc-2d49677f9c86b2daf35e3cef2e3ff4635fb15dfc.tar.bz2 |
(ix86_expand_prologue): Keep pic register load ahead
(ix86_expand_prologue): Keep pic register load ahead
(print_operand): new letter 's'
From-SVN: r12254
-rw-r--r-- | gcc/config/i386/i386.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 44852cd..4c72b0c 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1782,6 +1782,7 @@ ix86_expand_prologue () emit_insn (gen_prologue_set_got (xops[0], gen_rtx (SYMBOL_REF, Pmode, "$_GLOBAL_OFFSET_TABLE_"), gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER(xops[1])))); + SCHED_GROUP_P (get_last_insn()) = 1; /* output_asm_insn ("addl $_GLOBAL_OFFSET_TABLE_,%0", xops);*/ } else if (pic_reg_used) @@ -1798,6 +1799,7 @@ ix86_expand_prologue () emit_insn (gen_prologue_set_got (xops[0], gen_rtx (SYMBOL_REF, Pmode, "$_GLOBAL_OFFSET_TABLE_"), gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER (xops[1])))); + SCHED_GROUP_P (get_last_insn()) = 1; /* output_asm_insn ("addl $_GLOBAL_OFFSET_TABLE_+[.-%P1],%0", xops);*/ } } @@ -2681,6 +2683,8 @@ put_condition_code (code, file) w -- print the operand as if it's a "word" (HImode) even if it isn't. c -- don't print special prefixes before constant operands. J -- print the appropriate jump operand. + s -- print a shift double count, followed by the assemblers argument + delimiter. */ void @@ -2797,6 +2801,14 @@ print_operand (file, x, code) } abort (); + case 's': + if (GET_CODE (x) == CONST_INT || ! SHIFT_DOUBLE_OMITS_COUNT) + { + PRINT_OPERAND (file, x, 0); + fputs (AS2C (,) + 1, file); + } + return; + /* This is used by the conditional move instructions. */ case 'C': put_condition_code (GET_CODE (x), file); |