On 12/12/20 5:05 AM, Maciej W. Rozycki wrote:
> Check the output operand for representing pushing a value onto the stack 
> rather than the constant 0 input in determining whether to use the PUSHL 
> or the CLRL instruction for a SImode move.  The latter actually works by 
> means of using the predecrement addressing mode with the SP register and 
> the machine code produced even takes the same number of bytes, however 
> at least with some VAX implementations it incurs a performance penalty.  
> Besides, we don't want to check the wrong operand anyway and have code 
> that works by chance only.
>
> Add a test case covering push operations; for operands different from 
> constant zero there is actually a code size advantage for using PUSHL 
> rather than the equivalent MOVL instruction.
>
>       gcc/
>       * config/vax/vax.c (vax_output_int_move): Check the correct 
>       operand for constant 0 push operation.
>
>       gcc/testsuite/
>       * gcc.target/vax/push.c: New test.

OK
jeff

Reply via email to