PR debug/25023
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2005 08:08:46 +0000 (08:08 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2005 08:08:46 +0000 (08:08 +0000)
commit3cb7a12915b19dc2f21263f46764df080e75aab8
tree3e381c6cb02cd2615bcd811bfcbbab696131e626
parentb60e927ab48e632454bc2c2b0aecf460325a8332
PR debug/25023
PR target/25293
* expr.c (emit_move_resolve_push): Handle PRE_MODIFY
and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
* config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
Set mode to SI, adjust constraints.
(pushhi2_rex64, pushqi2_rex64): Set mode to DI.
* config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
32-bit code.

* gcc.target/i386/pr25293.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108463 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr25293.c [new file with mode: 0644]