@@ -2166,46 +2166,6 @@ pub unsafe fn vmulq_u32(a: uint32x4_t, b: uint32x4_t) -> uint32x4_t {
2166
2166
simd_mul ( a, b)
2167
2167
}
2168
2168
2169
- /// Multiply
2170
- #[ inline]
2171
- #[ target_feature( enable = "neon" ) ]
2172
- #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
2173
- #[ cfg_attr( all( test, target_arch = "arm" ) , assert_instr( mul) ) ]
2174
- #[ cfg_attr( all( test, target_arch = "aarch64" ) , assert_instr( mul) ) ]
2175
- pub unsafe fn vmul_s64 ( a : int64x1_t , b : int64x1_t ) -> int64x1_t {
2176
- simd_mul ( a, b)
2177
- }
2178
-
2179
- /// Multiply
2180
- #[ inline]
2181
- #[ target_feature( enable = "neon" ) ]
2182
- #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
2183
- #[ cfg_attr( all( test, target_arch = "arm" ) , assert_instr( mul) ) ]
2184
- #[ cfg_attr( all( test, target_arch = "aarch64" ) , assert_instr( mul) ) ]
2185
- pub unsafe fn vmulq_s64 ( a : int64x2_t , b : int64x2_t ) -> int64x2_t {
2186
- simd_mul ( a, b)
2187
- }
2188
-
2189
- /// Multiply
2190
- #[ inline]
2191
- #[ target_feature( enable = "neon" ) ]
2192
- #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
2193
- #[ cfg_attr( all( test, target_arch = "arm" ) , assert_instr( mul) ) ]
2194
- #[ cfg_attr( all( test, target_arch = "aarch64" ) , assert_instr( mul) ) ]
2195
- pub unsafe fn vmul_u64 ( a : uint64x1_t , b : uint64x1_t ) -> uint64x1_t {
2196
- simd_mul ( a, b)
2197
- }
2198
-
2199
- /// Multiply
2200
- #[ inline]
2201
- #[ target_feature( enable = "neon" ) ]
2202
- #[ cfg_attr( target_arch = "arm" , target_feature( enable = "v7" ) ) ]
2203
- #[ cfg_attr( all( test, target_arch = "arm" ) , assert_instr( mul) ) ]
2204
- #[ cfg_attr( all( test, target_arch = "aarch64" ) , assert_instr( mul) ) ]
2205
- pub unsafe fn vmulq_u64 ( a : uint64x2_t , b : uint64x2_t ) -> uint64x2_t {
2206
- simd_mul ( a, b)
2207
- }
2208
-
2209
2169
/// Multiply
2210
2170
#[ inline]
2211
2171
#[ target_feature( enable = "neon" ) ]
@@ -4413,56 +4373,20 @@ mod test {
4413
4373
assert_eq ! ( r, e) ;
4414
4374
}
4415
4375
4416
- #[ simd_test( enable = "neon" ) ]
4417
- unsafe fn test_vmul_s64 ( ) {
4418
- let a: i64x1 = i64x1:: new ( 1 ) ;
4419
- let b: i64x1 = i64x1:: new ( 1 ) ;
4420
- let e: i64x1 = i64x1:: new ( 1 ) ;
4421
- let r: i64x1 = transmute ( vmul_s64 ( transmute ( a) , transmute ( b) ) ) ;
4422
- assert_eq ! ( r, e) ;
4423
- }
4424
-
4425
- #[ simd_test( enable = "neon" ) ]
4426
- unsafe fn test_vmulq_s64 ( ) {
4427
- let a: i64x2 = i64x2:: new ( 1 , 2 ) ;
4428
- let b: i64x2 = i64x2:: new ( 1 , 2 ) ;
4429
- let e: i64x2 = i64x2:: new ( 1 , 4 ) ;
4430
- let r: i64x2 = transmute ( vmulq_s64 ( transmute ( a) , transmute ( b) ) ) ;
4431
- assert_eq ! ( r, e) ;
4432
- }
4433
-
4434
- #[ simd_test( enable = "neon" ) ]
4435
- unsafe fn test_vmul_u64 ( ) {
4436
- let a: u64x1 = u64x1:: new ( 1 ) ;
4437
- let b: u64x1 = u64x1:: new ( 1 ) ;
4438
- let e: u64x1 = u64x1:: new ( 1 ) ;
4439
- let r: u64x1 = transmute ( vmul_u64 ( transmute ( a) , transmute ( b) ) ) ;
4440
- assert_eq ! ( r, e) ;
4441
- }
4442
-
4443
- #[ simd_test( enable = "neon" ) ]
4444
- unsafe fn test_vmulq_u64 ( ) {
4445
- let a: u64x2 = u64x2:: new ( 1 , 2 ) ;
4446
- let b: u64x2 = u64x2:: new ( 1 , 2 ) ;
4447
- let e: u64x2 = u64x2:: new ( 1 , 4 ) ;
4448
- let r: u64x2 = transmute ( vmulq_u64 ( transmute ( a) , transmute ( b) ) ) ;
4449
- assert_eq ! ( r, e) ;
4450
- }
4451
-
4452
4376
#[ simd_test( enable = "neon" ) ]
4453
4377
unsafe fn test_vmul_f32 ( ) {
4454
4378
let a: f32x2 = f32x2:: new ( 1.0 , 2.0 ) ;
4455
- let b: f32x2 = f32x2:: new ( 1 .0, 2 .0) ;
4456
- let e: f32x2 = f32x2:: new ( 1 .0, 4 .0) ;
4379
+ let b: f32x2 = f32x2:: new ( 2 .0, 3 .0) ;
4380
+ let e: f32x2 = f32x2:: new ( 2 .0, 6 .0) ;
4457
4381
let r: f32x2 = transmute ( vmul_f32 ( transmute ( a) , transmute ( b) ) ) ;
4458
4382
assert_eq ! ( r, e) ;
4459
4383
}
4460
4384
4461
4385
#[ simd_test( enable = "neon" ) ]
4462
4386
unsafe fn test_vmulq_f32 ( ) {
4463
4387
let a: f32x4 = f32x4:: new ( 1.0 , 2.0 , 1.0 , 2.0 ) ;
4464
- let b: f32x4 = f32x4:: new ( 1 .0, 2 .0, 3 .0, 4 .0) ;
4465
- let e: f32x4 = f32x4:: new ( 1 .0, 4 .0, 3 .0, 8 .0) ;
4388
+ let b: f32x4 = f32x4:: new ( 2 .0, 3 .0, 4 .0, 5 .0) ;
4389
+ let e: f32x4 = f32x4:: new ( 2 .0, 6 .0, 4 .0, 10 .0) ;
4466
4390
let r: f32x4 = transmute ( vmulq_f32 ( transmute ( a) , transmute ( b) ) ) ;
4467
4391
assert_eq ! ( r, e) ;
4468
4392
}
0 commit comments