https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111367
--- Comment #3 from Mathieu Malaterre <malat at debian dot org> --- Reduced test case: % cat bench_sort.cc #define HWY_PRAGMA(tokens) _Pragma(#tokens) #define HWY_PUSH_ATTRIBUTES(targets_str) HWY_PRAGMA(GCC target targets_str) #define HWY_BEFORE_NAMESPACE() HWY_PUSH_ATTRIBUTES(",cpu=power10") #include <time.h> struct SortAscending {}; void VQSort(long long *, size_t, SortAscending); void HaveTimerStop(char *); HWY_BEFORE_NAMESPACE() void BenchAllColdSort() { char cpu100[100]; HaveTimerStop(cpu100); typedef long long T; constexpr size_t kSize = 10 * 1000; alignas(16) T items[kSize]; VQSort(items, kSize, SortAscending()); timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); } % /usr/lib/gcc-snapshot/bin/g++ -fstack-protector-strong -maltivec -mcpu=power8 -c bench_sort.cc /tmp/ccI9XaHH.s: Assembler messages: /tmp/ccI9XaHH.s:25: Error: operand out of range (0x1391c is not between 0xffffffffffff8000 and 0x7fff) /tmp/ccI9XaHH.s:44: Error: operand out of range (0x1391c is not between 0xffffffffffff8000 and 0x7fff)