@@ -155,72 +155,6 @@ fn float_math() {
155155 }
156156}
157157
158- #[ test]
159- fn extract_insert_dyn ( ) {
160- let x2 = i32x2:: from_array ( [ 20 , 21 ] ) ;
161- let x4 = i32x4:: from_array ( [ 40 , 41 , 42 , 43 ] ) ;
162- let x8 = i32x8:: from_array ( [ 80 , 81 , 82 , 83 , 84 , 85 , 86 , 87 ] ) ;
163- unsafe {
164- assert_eq ! ( simd_insert_dyn( x2, 0 , 100 ) , i32x2:: from_array( [ 100 , 21 ] ) ) ;
165- assert_eq ! ( simd_insert_dyn( x2, 1 , 100 ) , i32x2:: from_array( [ 20 , 100 ] ) ) ;
166-
167- assert_eq ! ( simd_insert_dyn( x4, 0 , 100 ) , i32x4:: from_array( [ 100 , 41 , 42 , 43 ] ) ) ;
168- assert_eq ! ( simd_insert_dyn( x4, 1 , 100 ) , i32x4:: from_array( [ 40 , 100 , 42 , 43 ] ) ) ;
169- assert_eq ! ( simd_insert_dyn( x4, 2 , 100 ) , i32x4:: from_array( [ 40 , 41 , 100 , 43 ] ) ) ;
170- assert_eq ! ( simd_insert_dyn( x4, 3 , 100 ) , i32x4:: from_array( [ 40 , 41 , 42 , 100 ] ) ) ;
171-
172- assert_eq ! (
173- simd_insert_dyn( x8, 0 , 100 ) ,
174- i32x8:: from_array( [ 100 , 81 , 82 , 83 , 84 , 85 , 86 , 87 ] )
175- ) ;
176- assert_eq ! (
177- simd_insert_dyn( x8, 1 , 100 ) ,
178- i32x8:: from_array( [ 80 , 100 , 82 , 83 , 84 , 85 , 86 , 87 ] )
179- ) ;
180- assert_eq ! (
181- simd_insert_dyn( x8, 2 , 100 ) ,
182- i32x8:: from_array( [ 80 , 81 , 100 , 83 , 84 , 85 , 86 , 87 ] )
183- ) ;
184- assert_eq ! (
185- simd_insert_dyn( x8, 3 , 100 ) ,
186- i32x8:: from_array( [ 80 , 81 , 82 , 100 , 84 , 85 , 86 , 87 ] )
187- ) ;
188- assert_eq ! (
189- simd_insert_dyn( x8, 4 , 100 ) ,
190- i32x8:: from_array( [ 80 , 81 , 82 , 83 , 100 , 85 , 86 , 87 ] )
191- ) ;
192- assert_eq ! (
193- simd_insert_dyn( x8, 5 , 100 ) ,
194- i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 100 , 86 , 87 ] )
195- ) ;
196- assert_eq ! (
197- simd_insert_dyn( x8, 6 , 100 ) ,
198- i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 85 , 100 , 87 ] )
199- ) ;
200- assert_eq ! (
201- simd_insert_dyn( x8, 7 , 100 ) ,
202- i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 85 , 86 , 100 ] )
203- ) ;
204-
205- assert_eq ! ( simd_extract_dyn( x2, 0 ) , 20 ) ;
206- assert_eq ! ( simd_extract_dyn( x2, 1 ) , 21 ) ;
207-
208- assert_eq ! ( simd_extract_dyn( x4, 0 ) , 40 ) ;
209- assert_eq ! ( simd_extract_dyn( x4, 1 ) , 41 ) ;
210- assert_eq ! ( simd_extract_dyn( x4, 2 ) , 42 ) ;
211- assert_eq ! ( simd_extract_dyn( x4, 3 ) , 43 ) ;
212-
213- assert_eq ! ( simd_extract_dyn( x8, 0 ) , 80 ) ;
214- assert_eq ! ( simd_extract_dyn( x8, 1 ) , 81 ) ;
215- assert_eq ! ( simd_extract_dyn( x8, 2 ) , 82 ) ;
216- assert_eq ! ( simd_extract_dyn( x8, 3 ) , 83 ) ;
217- assert_eq ! ( simd_extract_dyn( x8, 4 ) , 84 ) ;
218- assert_eq ! ( simd_extract_dyn( x8, 5 ) , 85 ) ;
219- assert_eq ! ( simd_extract_dyn( x8, 6 ) , 86 ) ;
220- assert_eq ! ( simd_extract_dyn( x8, 7 ) , 87 ) ;
221- }
222- }
223-
224158#[ test]
225159fn funnel_shifts ( ) {
226160 let x1 = i32x4:: from_array ( [ 1 , 2 , 3 , 4 ] ) ;
@@ -974,6 +908,73 @@ test_runtime_and_compiletime! {
974908 }
975909 }
976910
911+
912+ #[ test]
913+ fn extract_insert_dyn( ) {
914+ let x2 = i32x2:: from_array( [ 20 , 21 ] ) ;
915+ let x4 = i32x4:: from_array( [ 40 , 41 , 42 , 43 ] ) ;
916+ let x8 = i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 85 , 86 , 87 ] ) ;
917+ unsafe {
918+ assert_eq!( simd_insert_dyn( x2, 0 , 100 ) , i32x2:: from_array( [ 100 , 21 ] ) ) ;
919+ assert_eq!( simd_insert_dyn( x2, 1 , 100 ) , i32x2:: from_array( [ 20 , 100 ] ) ) ;
920+
921+ assert_eq!( simd_insert_dyn( x4, 0 , 100 ) , i32x4:: from_array( [ 100 , 41 , 42 , 43 ] ) ) ;
922+ assert_eq!( simd_insert_dyn( x4, 1 , 100 ) , i32x4:: from_array( [ 40 , 100 , 42 , 43 ] ) ) ;
923+ assert_eq!( simd_insert_dyn( x4, 2 , 100 ) , i32x4:: from_array( [ 40 , 41 , 100 , 43 ] ) ) ;
924+ assert_eq!( simd_insert_dyn( x4, 3 , 100 ) , i32x4:: from_array( [ 40 , 41 , 42 , 100 ] ) ) ;
925+
926+ assert_eq!(
927+ simd_insert_dyn( x8, 0 , 100 ) ,
928+ i32x8:: from_array( [ 100 , 81 , 82 , 83 , 84 , 85 , 86 , 87 ] )
929+ ) ;
930+ assert_eq!(
931+ simd_insert_dyn( x8, 1 , 100 ) ,
932+ i32x8:: from_array( [ 80 , 100 , 82 , 83 , 84 , 85 , 86 , 87 ] )
933+ ) ;
934+ assert_eq!(
935+ simd_insert_dyn( x8, 2 , 100 ) ,
936+ i32x8:: from_array( [ 80 , 81 , 100 , 83 , 84 , 85 , 86 , 87 ] )
937+ ) ;
938+ assert_eq!(
939+ simd_insert_dyn( x8, 3 , 100 ) ,
940+ i32x8:: from_array( [ 80 , 81 , 82 , 100 , 84 , 85 , 86 , 87 ] )
941+ ) ;
942+ assert_eq!(
943+ simd_insert_dyn( x8, 4 , 100 ) ,
944+ i32x8:: from_array( [ 80 , 81 , 82 , 83 , 100 , 85 , 86 , 87 ] )
945+ ) ;
946+ assert_eq!(
947+ simd_insert_dyn( x8, 5 , 100 ) ,
948+ i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 100 , 86 , 87 ] )
949+ ) ;
950+ assert_eq!(
951+ simd_insert_dyn( x8, 6 , 100 ) ,
952+ i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 85 , 100 , 87 ] )
953+ ) ;
954+ assert_eq!(
955+ simd_insert_dyn( x8, 7 , 100 ) ,
956+ i32x8:: from_array( [ 80 , 81 , 82 , 83 , 84 , 85 , 86 , 100 ] )
957+ ) ;
958+
959+ assert_eq!( simd_extract_dyn( x2, 0 ) , 20 ) ;
960+ assert_eq!( simd_extract_dyn( x2, 1 ) , 21 ) ;
961+
962+ assert_eq!( simd_extract_dyn( x4, 0 ) , 40 ) ;
963+ assert_eq!( simd_extract_dyn( x4, 1 ) , 41 ) ;
964+ assert_eq!( simd_extract_dyn( x4, 2 ) , 42 ) ;
965+ assert_eq!( simd_extract_dyn( x4, 3 ) , 43 ) ;
966+
967+ assert_eq!( simd_extract_dyn( x8, 0 ) , 80 ) ;
968+ assert_eq!( simd_extract_dyn( x8, 1 ) , 81 ) ;
969+ assert_eq!( simd_extract_dyn( x8, 2 ) , 82 ) ;
970+ assert_eq!( simd_extract_dyn( x8, 3 ) , 83 ) ;
971+ assert_eq!( simd_extract_dyn( x8, 4 ) , 84 ) ;
972+ assert_eq!( simd_extract_dyn( x8, 5 ) , 85 ) ;
973+ assert_eq!( simd_extract_dyn( x8, 6 ) , 86 ) ;
974+ assert_eq!( simd_extract_dyn( x8, 7 ) , 87 ) ;
975+ }
976+ }
977+
977978 fn shuffle( ) {
978979 macro_rules! simd_shuffle {
979980 ( $a: expr, $b: expr, $swizzle: expr) => {
0 commit comments