missed: not vectorized: relevant phi not supported: found_14 = PHI <found_5(7), -1(15)>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

After reading this SO post (*), I became curious as to what my gcc
would do with the following code. It turns out that I cannot make any
sense of the output:

% gcc -fopt-info-missed -std=c11  -O3 -c generic.c
generic.c:4:21: missed: couldn't vectorize loop
generic.c:2:5: missed: not vectorized: relevant phi not supported:
found_14 = PHI <found_5(7), 0(15)>

Doing a quick search did not reveal anything meaningful. If my
understanding is correct this is a basic information level (not meant
for GCC developers):

* https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html#index-fopt-info

So my question is: what should the following sentence indicates

...
missed: not vectorized: relevant phi not supported: found_14 = PHI
<found_5(7), -1(15)>
...

For reference;

% cat generic.c
#include <stdint.h>
int hasmatch(uint16_t needle, const uint16_t haystack[4]) {
  int found = 0;
  for (int i = 0; i < 4; ++i) {
    if (needle == haystack[i]) {
      found = 1;
    }
  }
  return found;
}

(*) https://stackoverflow.com/questions/74803190/fastest-way-to-find-16bit-match-in-a-4-element-short-array

Thanks !
-- 
Mathieu



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux