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
Showing
- gcc/ChangeLog 13 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/i386.h 5 additions, 4 deletionsgcc/config/i386/i386.h
- gcc/config/i386/i386.md 12 additions, 16 deletionsgcc/config/i386/i386.md
- gcc/expr.c 16 additions, 3 deletionsgcc/expr.c
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/i386/pr25293.c 51 additions, 0 deletionsgcc/testsuite/gcc.target/i386/pr25293.c
Loading
Please register or sign in to comment