- kmovw %eax,%k3
- vpsllq \$32,$D0,$D0 # 05060708 -> 50607080
- vpsllq \$32,$D1,$D1
- vpsllq \$32,$D2,$D2
- vpsllq \$32,$D3,$D3
- vpsllq \$32,$D4,$D4
-___
-map(s/%y/%z/,($D0,$D1,$D2,$D3,$D4));
-$code.=<<___;
- vinserti64x4 \$1,$R0,$D0,$D0 # 1424344450607080
- vinserti64x4 \$1,$R1,$D1,$D1
- vinserti64x4 \$1,$R2,$D2,$D2
- vinserti64x4 \$1,$R3,$D3,$D3
- vinserti64x4 \$1,$R4,$D4,$D4
-___
-map(s/%y/%z/,($H0,$H1,$H2,$H3,$H4));
-map(s/%y/%z/,($R0,$R1,$R2,$R3,$R4, $S1,$S2,$S3,$S4));
-$code.=<<___;
- vpblendmd $M0,$D0,${R0}{%k3} # 1828384858687888
+
+ vpexpandd $D0,${D0}{%k1} # 05060708 -> -05--06--07--08-
+ vpexpandd $D1,${D1}{%k1}
+ vpexpandd $D2,${D2}{%k1}
+ vpexpandd $D3,${D3}{%k1}
+ vpexpandd $D4,${D4}{%k1}
+
+ vpexpandd $R0,${D0}{%k2} # -05--06--07--08- -> 145-246-347-448-
+ vpexpandd $R1,${D1}{%k2}
+ vpexpandd $R2,${D2}{%k2}
+ vpexpandd $R3,${D3}{%k2}
+ vpexpandd $R4,${D4}{%k2}
+
+ vpblendmd $M0,$D0,${R0}{%k3} # 1858286838784888