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)

Reply via email to