combine lhs zero_extract fix (PR78186)
PR rtl-optimization/78186 * combine.c (change_zero_ext): Mask the RHS of a zero_extract as well, when converting to IOR. From-SVN: r241824
This commit is contained in:
parent
35ea947ffa
commit
122e3608b6
@ -1,3 +1,9 @@
|
||||
2016-11-03 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
PR rtl-optimization/78186
|
||||
* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
|
||||
well, when converting to IOR.
|
||||
|
||||
2016-11-03 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
|
||||
|
@ -11190,6 +11190,9 @@ change_zero_ext (rtx pat)
|
||||
rtx x = gen_rtx_AND (mode, reg, immed_wide_int_const (mask, mode));
|
||||
rtx y = simplify_gen_binary (ASHIFT, mode, SET_SRC (pat),
|
||||
GEN_INT (offset));
|
||||
wide_int mask2 = wi::shifted_mask (offset, width, false, reg_width);
|
||||
y = simplify_gen_binary (AND, mode, y,
|
||||
immed_wide_int_const (mask2, mode));
|
||||
rtx z = simplify_gen_binary (IOR, mode, x, y);
|
||||
SUBST (SET_DEST (pat), reg);
|
||||
SUBST (SET_SRC (pat), z);
|
||||
|
Loading…
Reference in New Issue
Block a user