- '&vpsrld ($t3,@X[0],10);',
- '&vpslld ($t2,@X[0],13);',
- '&vpsrld ($t1,@X[0],17);',
- '&vpxor ($t3,$t3,$t2);',
- '&vpslld ($t2,$t2,15-13);',
- '&vpxor ($t3,$t3,$t1);',
- '&vpsrld ($t1,$t1,19-17);',
- '&vpxor ($t3,$t3,$t2);',
- '&vpxor ($t3,$t3,$t1);', # sigma1(X[16..17])
+ '&vpshufd ($t3,@X[0],0b01010000)',# X[16..17]
+ '&vpsrld ($t2,$t3,10);',
+ '&vpsrlq ($t1,$t3,17);',
+ '&vpxor ($t2,$t2,$t1);',
+ '&vpsrlq ($t3,$t3,19);',
+ '&vpxor ($t2,$t2,$t3);', # sigma1(X[16..17]
+ '&vpshufd ($t3,$t2,0b11101000);',