Laden von 8 Zeichen aus dem Speicher in eine __m256-Variable als gepackte Gleitkommazahlen mit einfacher Genauigkeit

Ich optimiere einen Algorithmus für die Gaußsche Unschärfe in einem Bild und möchte die Verwendung eines Float-Puffers [8] im folgenden Code durch eine intrinsische Variable __m256 ersetzen. Welche Anweisungsreihe eignet sich am besten für diese Aufgabe?

// unsigned char *new_image is loaded with data
...
  float buffer[8];

  buffer[x ]      = new_image[x];       
  buffer[x + 1] = new_image[x + 1]; 
  buffer[x + 2] = new_image[x + 2]; 
  buffer[x + 3] = new_image[x + 3]; 
  buffer[x + 4] = new_image[x + 4]; 
  buffer[x + 5] = new_image[x + 5]; 
  buffer[x + 6] = new_image[x + 6]; 
  buffer[x + 7] = new_image[x + 7]; 
 // buffer is then used for further operations
...

//What I want instead in pseudocode:
 __m256 b = [float(new_image[x+7]), float(new_image[x+6]), ... , float(new_image[x])];

Antworten auf die Frage(2)

Ihre Antwort auf die Frage