help removing unnecessary zero-extension

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Given following program:

    unsigned char var;
    int main() {
        return var;
    }

And compiled using:
pu32-elf-gcc -O3 -c -save-temps test.c

Unnecessary zero-extension gets generated after a memory byte load
which already zero-extend.

LOAD_EXTEND_OP has been defined as follow:
#define LOAD_EXTEND_OP(M) ZERO_EXTEND

Find complete port at:
https://github.com/fontamsoc/gcc/commit/45840063
And machine description at:
https://github.com/fontamsoc/gcc/blob/45840063/gcc/config/pu32/pu32.md

Any idea what else can be tried to prevent the unnecessary zero-extension ?



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux