LLVM IR 10-битные поплавки / ширина поплавка? - PullRequest
0 голосов
/ 08 июня 2019

LLVM поддерживает 10 или 11-битные числа с плавающей запятой? Глядя на документы: https://llvm.org/docs/BitCodeFormat.html
Я вижу 16-битный «TYPE_CODE_HALF», но не могу указать ширину с плавающей точкой.

Я заметил, что это возможно с целыми числами может быть любой битовой ширины, но как насчет чисел с плавающей запятой для специальных аппаратных случаев?

Причина этого вопроса в том, что меня интересует возможность нацеливания сборки GPU, которая поддерживает 10-разрядные операции с плавающей запятой: https://docs.microsoft.com/en-us/windows/desktop/direct3d10/d3d10-graphics-programming-guide-resources-float-rules

Или, если это невозможно, возможно ли объявить пользовательские типы или атрибуты, где эта специализация может быть учтена при создании бэкэнда LLVM?

1 Ответ

2 голосов
/ 08 июня 2019

LLVM не поддерживает произвольные значения с плавающей точкой.Хотя вы могли бы подражать поведению.Есть несколько способов сделать это, например, через встроенные функции.

...