diff options
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 39 |
2 files changed, 35 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54d6a32..3e7f3d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com) + + * i386.md (jump): Explicitly set "memory" attribute. + (indirect_jump, prologue_set_stack_ptr): Likewise. + (prologue_get_pc_and_set_got, pop): Likewise. + (allocate_stack_worder, blockage, return_internal): Likewise. + (return_pop_internal, nop): Likewise. + (epilogue_set_stack_ptr, leave): Likewise. + Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com> * config/arm/coff.h: Set USER_LABEL_PREFIX to "_". diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 57195df..70d585d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -5789,7 +5789,8 @@ byte_xor_operation: [(set (pc) (label_ref (match_operand 0 "" "")))] "" - "jmp %l0") + "jmp %l0" + [(set_attr "memory" "none")]) (define_insn "indirect_jump" [(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm"))] @@ -5799,7 +5800,8 @@ byte_xor_operation: CC_STATUS_INIT; return AS1 (jmp,%*%0); -}") +}" + [(set_attr "memory" "none")]) ;; ??? could transform while(--i > 0) S; to if (--i > 0) do S; while(--i); ;; if S does not change i @@ -6354,7 +6356,8 @@ byte_xor_operation: (define_insn "blockage" [(unspec_volatile [(const_int 0)] 0)] "" - "") + "" + [(set_attr "memory" "none")]) ;; Insn emitted into the body of a function to return from a function. ;; This is only done if the function's epilogue is known to be simple. @@ -6368,18 +6371,21 @@ byte_xor_operation: (define_insn "return_internal" [(return)] "reload_completed" - "ret") + "ret" + [(set_attr "memory" "none")]) (define_insn "return_pop_internal" [(return) (use (match_operand:SI 0 "const_int_operand" ""))] "reload_completed" - "ret %0") + "ret %0" + [(set_attr "memory" "none")]) (define_insn "nop" [(const_int 0)] "" - "nop") + "nop" + [(set_attr "memory" "none")]) (define_expand "prologue" [(const_int 1)] @@ -6406,7 +6412,8 @@ byte_xor_operation: xops[1] = stack_pointer_rtx; output_asm_insn (AS2 (sub%L1,%0,%1), xops); RET; -}") +}" + [(set_attr "memory" "none")]) (define_insn "prologue_set_got" [(set (match_operand:SI 0 "" "") @@ -6446,7 +6453,8 @@ byte_xor_operation: ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\", CODE_LABEL_NUMBER (operands[1])); } RET; -}") +}" + [(set_attr "memory" "none")]) (define_insn "prologue_get_pc_and_set_got" [(unspec_volatile [(match_operand:SI 0 "" "")] 3)] @@ -6460,7 +6468,8 @@ byte_xor_operation: output_asm_insn (AS1 (pop%L0,%0), operands); output_asm_insn (\"addl $_GLOBAL_OFFSET_TABLE_+[.-%X1],%0\", operands); RET; -}") +}" + [(set_attr "memory" "none")]) (define_expand "epilogue" [(const_int 1)] @@ -6483,14 +6492,16 @@ byte_xor_operation: xops[1] = stack_pointer_rtx; output_asm_insn (AS2 (mov%L0,%0,%1), xops); RET; -}") +}" + [(set_attr "memory" "none")]) (define_insn "leave" [(const_int 2) (clobber (reg:SI 6)) (clobber (reg:SI 7))] "" - "leave") + "leave" + [(set_attr "memory" "none")]) (define_insn "pop" [(set (match_operand:SI 0 "register_operand" "r") @@ -6501,7 +6512,8 @@ byte_xor_operation: { output_asm_insn (AS1 (pop%L0,%P0), operands); RET; -}") +}" + [(set_attr "memory" "load")]) (define_expand "movstrsi" [(parallel [(set (match_operand:BLK 0 "memory_operand" "") @@ -7688,7 +7700,8 @@ byte_xor_operation: (set (reg:SI 7) (minus:SI (reg:SI 7) (match_dup 0))) (clobber (match_dup 0))] "TARGET_STACK_PROBE" - "* return AS1(call,__alloca);") + "* return AS1(call,__alloca);" + [(set_attr "memory" "none")]) (define_expand "allocate_stack" [(set (match_operand:SI 0 "register_operand" "=r") |