The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз набора компиляторов GCC 6"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
"Релиз набора компиляторов GCC 6" +/
Сообщение от opennews (??), 27-Апр-16, 19:09 
После года разработки состоялся (https://gcc.gnu.org/ml/gcc-announce/2016/msg00000.html) релиз свободного набора компиляторов GCC 6.1 (https://gcc.gnu.org/gcc-6/), первый значительный выпуск в новой ветке GCC 6.x. В соответствии с новой схемой (https://gcc.gnu.org/develop.html#num_scheme) нумерации выпусков, версия 6.0 использовалась в процессе разработки, а незадолго до выхода GCC 6.1 уже ответвилась ветка GCC 7.0, на базе которой будет сформирован следующий значительный релиз GCC 7.1.

GCC 6.1 примечателен применением в компиляторе C++ по умолчанию стандарта C++14 вместо ранее предлагаемого C++98, улучшением экспериментальной поддержки  C++17, расширением средств диагностики, полной поддержкой OpenMP 4.5, новыми оптимизациями, поддержка системной библиотеки musl, улучшением поддержки платформ ARM, поддержкой  процессоров AMD Zen (17 поколение CPU AMD), Intel Skylake, IBM z13 и IBM POWER 9.

Основные изменения (https://gcc.gnu.org/gcc-6/changes.html):


-  Для языка  C++ по умолчанию активировано использование стандарта C++17 (применяется режим "-std=gnu++14" вместо "-std=gnu++98"). Добавлена поддержка расширения системы шаблонов C++ Concepts (https://en.wikipedia.org/wiki/Concepts_%28C%2B... активируемая опцией "-fconcepts". Реализованы некоторые новые элементы будущего стандарта C++17, такие как выражения fold, символьные литералы u8, расширенный static_assert и вложенное определение пространств имён. Реализована возможность вычисления констант для всех бестиповых аргументов шаблонов. Добавлена поддержка транзакционной памяти  (C++ Transactional Memory) при сборке с опцией "-fgnu-tm";

-  В runtime-библиотеке libstdc++ расширен набор специальных математических функций (ISO/IEC 29124:2010), добавлена экспериментальная поддержка стандарта C++17 (в том числе новые функции std::size, std::empty,  std::data для контейнеров  и массивов,
std::uncaught_exceptions,   std::invoke,    std::shared_mutex,      std::void_t и std::bool_constant), экспериментальная поддержка File System TS, экспериментальная поддержка второй версии  Library Fundamentals TS, поддержка std::locale для  DragonFly и FreeBSD;
-  Добавлена поддержка Си-библиотеки musl (https://www.opennet.ru/opennews/art.shtml?num=39365), которую можно использовать на Linux-системах с архитектурой AArch64, ARM, MicroBlaze, MIPS, MIPS64, PowerPC, PowerPC64, SH, i386, x32 и x86_64. Поддержка включается опцией "-mmusl";


-  Многочисленные улучшения оптимизатора: Добавлены новые внутрипроцедурные оптимизации и оптимизаций во время динамического связывания, улучшена работа детектора неопределенного поведения (Undefined Behavior Sanitizer);


-  Значительно расширена поддержка спецификации  OpenACC 2.0a (http://www.openacc.org/), определяющей средства для  выноса (https://gcc.gnu.org/wiki/Offloading) операций на плечи GPU.
Добавлена начальная поддержка параллельного выполнения ядер OpenACC. Для выноса вычислений могут быть задействованы GNU NVIDIA PTX на Linux-системах с процессорами x86_64 и PowerPC. Поддерживается распараллеливание с запуском до 32 обработчиков и 32 векторов.

-  В компиляторах C и C++ полностью реализована спецификация OpenMP 4.0 (Open Multi-Processing), позволяющая ускорить вычисления за счёт выноса операций (offloading (https://gcc.gnu.org/wiki/Offloading))  на специализированные процессоры Intel XeonPhi Knights Landing и AMD HSAIL.


-  Начальная поддержка гетерогенных вычислительных систем на базе архитектуры HSA (https://www.opennet.ru/opennews/art.shtml?num=42087). Реализована возможность генерации промежуточного языка HSAIL (Heterogeneous System Architecture Intermediate Language) для простых устройств OpenMP при сборке с опцией "--enable-offload-targets=hsa". Добавлен плагин  libgomp, позволяющий запустить ядра HSA GPU на GPU, совместимых с HSA.

-  Расширены средства сборки генератора кода в форме разделяемой библиотеки libgccjit для встраивания в другие процессы и использования для организации JIT-компиляции байткода в машинный код;

-  Объявлена устаревшей поддержка старых архитектур ARM, предшествующих ARMv4t: arm2, arm250, arm3, arm6, arm60, arm600, arm610, arm620, arm7, arm7d, arm7di, arm70, arm700, arm700i, arm710, arm720, arm710c, arm7100, arm7500, arm7500fe, arm7m, arm7dm, arm7dmi, arm8, arm810, strongarm, strongarm110, strongarm1100, strongarm1110, fa526, fa626. В будущем поддержка данных систем будет прекращена.

-  Добавлена поддержка новых процессоров ARM: ARM Cortex-A32 (cortex-a32), ARM Cortex-A35 (cortex-a35);

-  Улучшения для процессоров IA-32/x86-64: Добавлена поддержка  процессоров AMD Zen (-march=znver1 и -mtune=znver1)  и Intel  Skylake с расширениями AVX-512 (-march=skylake-avx512) AVX-512F, AVX512VL, AVX-512CD, AVX-512BW и AVX-512DQ. Добавлена поддержка инструкций  monitorx и mwaitx, используемых в CPU AMD. Добавлена поддержка адресных пространств  __seg_fs, __seg_gs и __seg_tls;

-  Начальная поддержка процессоров POWER9, использующих набор инструкций OpenPOWER ISA 3.0. Для систем PowerPC64 обеспечена поддержка 128-разрядных чисел с плавающей запятой (IEEE 128-bit floating-point) с использованием типа  __float128 ("-mfloat128");

-  Добавлена поддержка процессоров IBM z13 (-march=z13), используемых в новых платформах IBM z Systems;

-  Расширены возможности порта AArch64 и добавлены специфичные для данной архитектуры опции. На системах GNU/Linux AArch64 реализована поддержка опций "-march=native" и "-mcpu=native", при которых GCC сам определяет тип CPU и выбирает набор оптимальных настроек. Реализована поддержка опций "-mtls-size="  и "-fno-plt". Добавлена поддержка архитектуры ARMv8.1-A ("-march=armv8.1-a"), процессора ARM Cortex-A35 ("-mcpu=cortex-a35", "-mtune=cortex-a35") и расширений для крупных систем (Large System Extensions). Улучшена генерация кода для процессоров ARM Cortex-A53 и Samsung Exynos M1.


-  В разряд устаревших переведены (https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html) платформы SH5 / SH64 (sh64-*-*) и MeP (mep-elf).

URL: https://gcc.gnu.org/ml/gcc-announce/2016/msg00000.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=44326

Ответить | Правка | Cообщить модератору

Оглавление
Релиз набора компиляторов GCC 6, opennews, 27-Апр-16, 19:09  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру