https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88841

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
   Last reconfirmed|2019-01-15 00:00:00         |2021-12-17

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is the full testcase where all three functions should produce the same
assembly code, right now _2 and _3 produce the same and the best code:

bool isspc_1(char c)
{
    return c == ' '
        || c == '\n'
        || c == '\r'
        || c == '\t';
}

bool isspc_2(char c)
{
    return c == ' '
        || c == '\r'
        || c == '\n'
        || c == '\t';
}

bool isspc_3(char c)
{
    switch(c)
    {
        case ' ':
        case '\r':
        case '\n':
        case '\t':
            return 1;
    }
    return 0;
}

Reply via email to