Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 7 years ago

Language

C

Compiler

gcc HEAD 9.0.1 20190127 (experimental)

Options
Warnings
Optimization
C11(GNU)
no pedantic
Raw compiler options
-fsanitize=undefined

Author

anonymous

over 7 years ago

$ gcc prog.c -Wall -Wextra -O2 -march=native -std=gnu11 -fsanitize=undefined
void add_SSE(uint8_t a[static 7], uint8_t b[static 7], uint8_t out[static 7])
{
  uint64_t a_64 = 0;
  uint64_t b_64 = 0;
  a_64 |= (uint64_t)a[0] << (0*9);
  b_64 |= (uint64_t)b[0] << (0*9);
  a_64 |= (uint64_t)a[1] << (1*9);
  b_64 |= (uint64_t)b[1] << (1*9);
  a_64 |= (uint64_t)a[2] << (2*9);
  b_64 |= (uint64_t)b[2] << (2*9);
  a_64 |= (uint64_t)a[3] << (3*9);
  b_64 |= (uint64_t)b[3] << (3*9);
  a_64 |= (uint64_t)a[4] << (4*9);
  b_64 |= (uint64_t)b[4] << (4*9);
  a_64 |= (uint64_t)a[5] << (5*9);
  b_64 |= (uint64_t)b[5] << (5*9);
  a_64 |= (uint64_t)a[6] << (6*9);
  b_64 |= (uint64_t)b[6] << (6*9);
  uint64_t c_64 = a_64 + b_64;
  out[i] = (uint64_t)c_64 >> (0*9);
  out[i] = (uint64_t)c_64 >> (1*9);
  out[i] = (uint64_t)c_64 >> (2*9);
  out[i] = (uint64_t)c_64 >> (3*9);
  out[i] = (uint64_t)c_64 >> (4*9);
  out[i] = (uint64_t)c_64 >> (5*9);
  out[i] = (uint64_t)c_64 >> (6*9);
}
Exit Code:
0