У меня большая кодовая база, широко использующая встроенные функции SSE, которая была разработана в рамках GCC только для платформы x86_64. В стеке выделено много __m128
и float[4]
, которые при компиляции с GCC на x86_64 всегда выровнены по 16 байтам.
Мы тестируем clang, и он вылетает при неправильной загрузке и сохранении SSE, в переменных стека.
Кажется, я могу исправить все ошибки одну за другой __attribute__ ((aligned(16)))
Есть ли способ заставить clang согласовать все переменные с 16 байтами в глобальном масштабе? Я не могу найти ничего в документации.