@@ -3,7 +3,6 @@ use std::fs::File;
3
3
use std:: io:: prelude:: * ;
4
4
use std:: io:: { self , BufReader } ;
5
5
use std:: path:: PathBuf ;
6
- use std:: process:: Command ;
7
6
8
7
const IN : & str = "neon.spec" ;
9
8
const ARM_OUT : & str = "generated.rs" ;
@@ -139,35 +138,35 @@ fn type_to_global_type(t: &str) -> &str {
139
138
}
140
139
}
141
140
142
- fn type_to_native_type ( t : & str ) -> & str {
143
- match t {
144
- "int8x8_t" => "i8" ,
145
- "int8x16_t" => "i8" ,
146
- "int16x4_t" => "i16" ,
147
- "int16x8_t" => "i16" ,
148
- "int32x2_t" => "i32" ,
149
- "int32x4_t" => "i32" ,
150
- "int64x1_t" => "i64" ,
151
- "int64x2_t" => "i64" ,
152
- "uint8x8_t" => "u8" ,
153
- "uint8x16_t" => "u8" ,
154
- "uint16x4_t" => "u16" ,
155
- "uint16x8_t" => "u16" ,
156
- "uint32x2_t" => "u32" ,
157
- "uint32x4_t" => "u32" ,
158
- "uint64x1_t" => "u64" ,
159
- "uint64x2_t" => "u64" ,
160
- "float16x4_t" => "f16" ,
161
- "float16x8_t" => "f16" ,
162
- "float32x2_t" => "f32" ,
163
- "float32x4_t" => "f32" ,
164
- "float64x1_t" => "f64" ,
165
- "float64x2_t" => "f64" ,
166
- "poly64x1_t" => "i64" ,
167
- "poly64x2_t" => "i64" ,
168
- _ => panic ! ( "unknown type: {}" , t) ,
169
- }
170
- }
141
+ // fn type_to_native_type(t: &str) -> &str {
142
+ // match t {
143
+ // "int8x8_t" => "i8",
144
+ // "int8x16_t" => "i8",
145
+ // "int16x4_t" => "i16",
146
+ // "int16x8_t" => "i16",
147
+ // "int32x2_t" => "i32",
148
+ // "int32x4_t" => "i32",
149
+ // "int64x1_t" => "i64",
150
+ // "int64x2_t" => "i64",
151
+ // "uint8x8_t" => "u8",
152
+ // "uint8x16_t" => "u8",
153
+ // "uint16x4_t" => "u16",
154
+ // "uint16x8_t" => "u16",
155
+ // "uint32x2_t" => "u32",
156
+ // "uint32x4_t" => "u32",
157
+ // "uint64x1_t" => "u64",
158
+ // "uint64x2_t" => "u64",
159
+ // "float16x4_t" => "f16",
160
+ // "float16x8_t" => "f16",
161
+ // "float32x2_t" => "f32",
162
+ // "float32x4_t" => "f32",
163
+ // "float64x1_t" => "f64",
164
+ // "float64x2_t" => "f64",
165
+ // "poly64x1_t" => "i64",
166
+ // "poly64x2_t" => "i64",
167
+ // _ => panic!("unknown type: {}", t),
168
+ // }
169
+ // }
171
170
172
171
fn type_to_ext ( t : & str ) -> & str {
173
172
match t {
@@ -461,76 +460,84 @@ pub unsafe fn {}(a: {}, b: {}) -> {} {{
461
460
{}{}(a, b)
462
461
}}
463
462
"# ,
464
- current_comment, expand_intrinsic( & current_arm, in_t) , expand_intrinsic( & current_aarch64, in_t) , name, in_t, in_t, out_t, ext_c, current_fn,
463
+ current_comment,
464
+ expand_intrinsic( & current_arm, in_t) ,
465
+ expand_intrinsic( & current_aarch64, in_t) ,
466
+ name,
467
+ in_t,
468
+ in_t,
469
+ out_t,
470
+ ext_c,
471
+ current_fn,
465
472
) ;
466
473
let test = gen_test ( name, & in_t, & out_t, current_tests, type_len ( in_t) ) ;
467
474
468
475
( function, test)
469
476
}
470
477
471
478
fn expand_intrinsic ( intr : & str , t : & str ) -> String {
472
- if intr. ends_with ( "." ) {
479
+ if intr. ends_with ( "." ) {
473
480
let ext = match t {
474
- "int8x8_t" => "i8" ,
475
- "int8x16_t" => "i8" ,
476
- "int16x4_t" => "i16" ,
477
- "int16x8_t" => "i16" ,
478
- "int32x2_t" => "i32" ,
479
- "int32x4_t" => "i32" ,
480
- "int64x1_t" => "i64" ,
481
- "int64x2_t" => "i64" ,
482
- "uint8x8_t" => "i8" ,
483
- "uint8x16_t" => "i8" ,
484
- "uint16x4_t" => "i16" ,
485
- "uint16x8_t" => "i16" ,
486
- "uint32x2_t" => "i32" ,
487
- "uint32x4_t" => "i32" ,
488
- "uint64x1_t" => "i64" ,
489
- "uint64x2_t" => "i64" ,
490
- "float16x4_t" => "f16" ,
491
- "float16x8_t" => "f16" ,
492
- "float32x2_t" => "f32" ,
493
- "float32x4_t" => "f32" ,
494
- "float64x1_t" => "f64" ,
495
- "float64x2_t" => "f64" ,
496
- /*
497
- "poly64x1_t" => "i64x1",
498
- "poly64x2_t" => "i64x2",
499
- */
500
- _ => panic ! ( "unknown type for extension: {}" , t) ,
481
+ "int8x8_t" => "i8" ,
482
+ "int8x16_t" => "i8" ,
483
+ "int16x4_t" => "i16" ,
484
+ "int16x8_t" => "i16" ,
485
+ "int32x2_t" => "i32" ,
486
+ "int32x4_t" => "i32" ,
487
+ "int64x1_t" => "i64" ,
488
+ "int64x2_t" => "i64" ,
489
+ "uint8x8_t" => "i8" ,
490
+ "uint8x16_t" => "i8" ,
491
+ "uint16x4_t" => "i16" ,
492
+ "uint16x8_t" => "i16" ,
493
+ "uint32x2_t" => "i32" ,
494
+ "uint32x4_t" => "i32" ,
495
+ "uint64x1_t" => "i64" ,
496
+ "uint64x2_t" => "i64" ,
497
+ "float16x4_t" => "f16" ,
498
+ "float16x8_t" => "f16" ,
499
+ "float32x2_t" => "f32" ,
500
+ "float32x4_t" => "f32" ,
501
+ "float64x1_t" => "f64" ,
502
+ "float64x2_t" => "f64" ,
503
+ /*
504
+ "poly64x1_t" => "i64x1",
505
+ "poly64x2_t" => "i64x2",
506
+ */
507
+ _ => panic ! ( "unknown type for extension: {}" , t) ,
501
508
} ;
502
509
format ! ( r#""{}{}""# , intr, ext)
503
- } else if intr. ends_with ( ".s" ) {
510
+ } else if intr. ends_with ( ".s" ) {
504
511
let ext = match t {
505
- "int8x8_t" => "s8" ,
506
- "int8x16_t" => "s8" ,
507
- "int16x4_t" => "s16" ,
508
- "int16x8_t" => "s16" ,
509
- "int32x2_t" => "s32" ,
510
- "int32x4_t" => "s32" ,
511
- "int64x1_t" => "s64" ,
512
- "int64x2_t" => "s64" ,
513
- "uint8x8_t" => "u8" ,
514
- "uint8x16_t" => "u8" ,
515
- "uint16x4_t" => "u16" ,
516
- "uint16x8_t" => "u16" ,
517
- "uint32x2_t" => "u32" ,
518
- "uint32x4_t" => "u32" ,
519
- "uint64x1_t" => "u64" ,
520
- "uint64x2_t" => "u64" ,
521
- "float16x4_t" => "f16" ,
522
- "float16x8_t" => "f16" ,
523
- "float32x2_t" => "f32" ,
524
- "float32x4_t" => "f32" ,
525
- "float64x1_t" => "f64" ,
526
- "float64x2_t" => "f64" ,
527
- /*
528
- "poly64x1_t" => "i64x1",
529
- "poly64x2_t" => "i64x2",
530
- */
531
- _ => panic ! ( "unknown type for extension: {}" , t) ,
512
+ "int8x8_t" => "s8" ,
513
+ "int8x16_t" => "s8" ,
514
+ "int16x4_t" => "s16" ,
515
+ "int16x8_t" => "s16" ,
516
+ "int32x2_t" => "s32" ,
517
+ "int32x4_t" => "s32" ,
518
+ "int64x1_t" => "s64" ,
519
+ "int64x2_t" => "s64" ,
520
+ "uint8x8_t" => "u8" ,
521
+ "uint8x16_t" => "u8" ,
522
+ "uint16x4_t" => "u16" ,
523
+ "uint16x8_t" => "u16" ,
524
+ "uint32x2_t" => "u32" ,
525
+ "uint32x4_t" => "u32" ,
526
+ "uint64x1_t" => "u64" ,
527
+ "uint64x2_t" => "u64" ,
528
+ "float16x4_t" => "f16" ,
529
+ "float16x8_t" => "f16" ,
530
+ "float32x2_t" => "f32" ,
531
+ "float32x4_t" => "f32" ,
532
+ "float64x1_t" => "f64" ,
533
+ "float64x2_t" => "f64" ,
534
+ /*
535
+ "poly64x1_t" => "i64x1",
536
+ "poly64x2_t" => "i64x2",
537
+ */
538
+ _ => panic ! ( "unknown type for extension: {}" , t) ,
532
539
} ;
533
- format ! ( r#""{}{}""# , & intr[ ..intr. len( ) - 1 ] , ext)
540
+ format ! ( r#""{}{}""# , & intr[ ..intr. len( ) - 1 ] , ext)
534
541
} else {
535
542
intr. to_string ( )
536
543
}
0 commit comments