You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The combine from D104581 turns an any_extend into a sign_extend. This gets converted to a zero_extend as the sign bit of input is known to be 0. Then a setcc combine shrinks the setcc inputs back to the pre zero extended value. This allows the zero extend to become an any_extend again. Then the whole process starts over.
The text was updated successfully, but these errors were encountered:
Extended Description
As reported in D104581 this test causes an infinite loop when compiled with -O2
char aspeed_set_pwm_port_fan_ctrl_priv_0_0,
aspeed_set_pwm_port_fan_ctrl_fan_ctrl;
pwm_store_period, pwm_store_dc_time_on;
pwm_store() {
pwm_store_period = aspeed_set_pwm_port_fan_ctrl_priv_0_0;
pwm_store_period += 1;
pwm_store_dc_time_on =
aspeed_set_pwm_port_fan_ctrl_fan_ctrl * pwm_store_period / 5;
if (pwm_store_dc_time_on)
aspeed_set_pwm_port_duty_rising_falling();
}
The combine from D104581 turns an any_extend into a sign_extend. This gets converted to a zero_extend as the sign bit of input is known to be 0. Then a setcc combine shrinks the setcc inputs back to the pre zero extended value. This allows the zero extend to become an any_extend again. Then the whole process starts over.
The text was updated successfully, but these errors were encountered: