-
- Downloads
pru: Add builtins for HALT and LMBD
Add builtins for HALT and LMBD, per Texas Instruments document SPRUHV7C. Use the new LMBD pattern to define an expand for clz. Binutils [1] and sim [2] support for LMBD instruction are merged now. [1] https://sourceware.org/pipermail/binutils/2020-October/113901.html [2] https://sourceware.org/pipermail/gdb-patches/2020-November/173141.html gcc/ChangeLog: * config/pru/alu-zext.md: Add lmbd patterns for zero_extend variants. * config/pru/pru.c (enum pru_builtin): Add HALT and LMBD. (pru_init_builtins): Ditto. (pru_builtin_decl): Ditto. (pru_expand_builtin): Ditto. * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Define PRU value for CLZ with zero value parameter. * config/pru/pru.md: Add halt, lmbd and clz patterns. * doc/extend.texi: Document PRU builtins. gcc/testsuite/ChangeLog: * gcc.target/pru/halt.c: New test. * gcc.target/pru/lmbd.c: New test.
Showing
- gcc/config/pru/alu-zext.md 51 additions, 0 deletionsgcc/config/pru/alu-zext.md
- gcc/config/pru/pru.c 56 additions, 6 deletionsgcc/config/pru/pru.c
- gcc/config/pru/pru.h 3 additions, 0 deletionsgcc/config/pru/pru.h
- gcc/config/pru/pru.md 40 additions, 0 deletionsgcc/config/pru/pru.md
- gcc/doc/extend.texi 28 additions, 0 deletionsgcc/doc/extend.texi
- gcc/testsuite/gcc.target/pru/halt.c 9 additions, 0 deletionsgcc/testsuite/gcc.target/pru/halt.c
- gcc/testsuite/gcc.target/pru/lmbd.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/pru/lmbd.c
Loading
Please register or sign in to comment