On 13/02/15 17:04, Richard Henderson wrote:
On 02/13/2015 08:26 AM, Renlin Li wrote:
+ /* Complete overlap. We can remove the source ZERO_EXTEND. */
+ if (width == inner_size
+ && (regno < FIRST_PSEUDO_REGISTER)
+ && HARD_REGNO_MODE_OK (regno, mode))
+ {
+
On 02/13/2015 08:26 AM, Renlin Li wrote:
> + /* Complete overlap. We can remove the source ZERO_EXTEND. */
> + if (width == inner_size
> + && (regno < FIRST_PSEUDO_REGISTER)
> + && HARD_REGNO_MODE_OK (regno, mode))
> + {
> + rtx reg = gen_rtx_REG (mode, regno);
> +
Hi all,
The following rtx pattern will be transformed into the second one,
which makes the compiler unable to remove the redundant zero_extend
operation.
(set (zero_extract:SI (reg/i:SI 0 x0)
(const_int 8 [0x8])
(const_int 0 [0]))
(and:SI (reg:SI 1