4 (let ((arr1 (make-array 10 :element-type
'single-float
:initial-element
0f0
))
5 (arr2 (make-array 10 :element-type
'single-float
:initial-element
0f0
)))
7 (loop for i from
0 below
10
9 (aref arr1 i
) (float (* i
100))
10 (aref arr2 i
) (float i
)))
12 (format t
"Before: ~S~%~S~%" arr1 arr2
)
14 (sb-sys:%primitive sb-vm
::%sse-sqrt
/simple-array-single-float-1 arr2 arr1
4)
16 (format t
"After: ~S~%~S~%" arr1 arr2
)
18 (sb-sys:%primitive sb-vm
::%sse-recip
/simple-array-single-float-1 arr1 arr2
4)
20 (format t
"After: ~S~%~S~%" arr1 arr2
)