Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
(Personal opinion) Libraries should not be the criteria used to select a compiler. With only 2 exceptions that I can think of, it is easier to write specific functions that you exactly what YOU want them to do to interact with each peripheral device. UART and SPI peripherals are very easy to interact with but the option of blocking vs interrupt alone makes the use of library functions problematic as they need to cater for a wide range of situation where as you are really only interested in one.
The two exceptions are the IP and USB peripherals where the "user interface" is typically fairly standard but there is great complexity in the "behind the scenes" work needed to use these peripherals.