diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-09-27 09:29:21 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-09-27 09:29:21 +0200 |
commit | e7c82a992521536902a0b230d9b7508e27cd7839 (patch) | |
tree | 4aa113c1bf28b09947ed8356c4d508a5ad73380f /gcc/rtl.h | |
parent | 16fa5e238ac913a6713582d7d93e9289d1ac802a (diff) | |
download | gcc-e7c82a992521536902a0b230d9b7508e27cd7839.zip gcc-e7c82a992521536902a0b230d9b7508e27cd7839.tar.gz gcc-e7c82a992521536902a0b230d9b7508e27cd7839.tar.bz2 |
rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE from 3 x MAX_MACHINE_MODE.
* rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
from 3 x MAX_MACHINE_MODE.
(CONSTM1_RTX): Define.
* emit-rtl.c (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
from 3 x MAX_MACHINE_MODE.
(gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
CONSTM1_RTX.
(init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
MODE_VECTOR_INT modes.
* simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
Optimize if one operand is CONSTM1_RTX.
* config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
into mask | x.
From-SVN: r179238
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -2074,17 +2074,18 @@ extern GTY(()) rtx const_int_rtx[MAX_SAVED_CONST_INT * 2 + 1]; #define constm1_rtx (const_int_rtx[MAX_SAVED_CONST_INT-1]) extern GTY(()) rtx const_true_rtx; -extern GTY(()) rtx const_tiny_rtx[3][(int) MAX_MACHINE_MODE]; +extern GTY(()) rtx const_tiny_rtx[4][(int) MAX_MACHINE_MODE]; /* Returns a constant 0 rtx in mode MODE. Integer modes are treated the same as VOIDmode. */ #define CONST0_RTX(MODE) (const_tiny_rtx[0][(int) (MODE)]) -/* Likewise, for the constants 1 and 2. */ +/* Likewise, for the constants 1 and 2 and -1. */ #define CONST1_RTX(MODE) (const_tiny_rtx[1][(int) (MODE)]) #define CONST2_RTX(MODE) (const_tiny_rtx[2][(int) (MODE)]) +#define CONSTM1_RTX(MODE) (const_tiny_rtx[3][(int) (MODE)]) /* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg is used to represent the frame pointer. This is because the |