Commit 122e3608 by Segher Boessenkool Committed by Segher Boessenkool

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
parent 35ea947f
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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment